# Prompting best practices

The quality of your app depends a lot on how you prompt. These habits will get you better results and waste fewer credits.

## Start big, then go small

* **First prompt:** describe the whole app and its main features at once.
* **Follow-ups:** change one thing per message.

This gives the AI the full picture up front, then lets it make precise edits.

## Be specific about what you want

Vague prompts get generic apps. Compare:

{% hint style="warning" %}
**Vague:** "Make a store."
{% endhint %}

{% hint style="success" %}
**Specific:** "Build an online store for handmade candles. Show a grid of products with image, name, price, and an Add to Cart button. Include a cart drawer that slides in from the right and shows the total."
{% endhint %}

## Describe the outcome, not the code

You don't need to name frameworks or libraries. Say what the app should *do* and *look like*:

> Add a search bar that filters the product list as I type.

…rather than naming specific technical implementations. GenVibe picks sensible defaults.

## Give feedback like you would to a designer

When something's off, describe what you see and what you want instead:

> The header text is too small and hard to read on mobile. Make it larger and add more spacing.

## Reference specific elements

If you want to change one specific thing on the screen, use the **inspector** to select that element, then describe the change. GenVibe will edit only that element instead of guessing.

## Report errors clearly

If your app breaks, tell GenVibe exactly what happened:

> Clicking "Checkout" shows a blank white screen. Please fix it.

The more precise the symptom, the faster the fix.

## A few patterns that work well

* "Add \[feature] to \[where]." — *"Add a logout button to the top-right of the navbar."*
* "Change \[thing] so that \[behavior]." — *"Change the form so that it shows an error if the email is empty."*
* "Make \[element] look \[style]." — *"Make the buttons rounded with a subtle shadow."*
* "Use \[data/service] for \[purpose]." — *"Use Supabase to store the submitted contact forms."*

## What to avoid

* Cramming five unrelated changes into one message — split them up.
* Re-describing the whole app on every turn — GenVibe already has the context.
* Extremely short prompts like "fix it" with no detail.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.genvibe.pro/getting-started/prompting-best-practices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
