The Kickoff Prompt
Your first prompt sets the tone for the entire project. A good kickoff prompt includes what you're building, the tech stack (or let the AI choose), key features, and design preferences.
Why This Works
- Specifies the tech stack — no guessing
- Lists concrete features with enough detail
- Describes the visual style
- Gives a starting point ("Start with the data model and homepage")
The Iteration Prompt
After the initial generation, you refine. Good iteration prompts are specific and actionable.
The Debugging Prompt
When something breaks, give the AI the error message and context.
Debugging Tips
- Always include the exact error message
- Mention the file and line number if available
- Describe what you were doing when the error occurred
- Include relevant code context — paste the function or component
The Refactoring Prompt
When your code works but needs cleanup:
The Context-Setting Prompt
When starting a new conversation about an existing project, set context first:
Anti-Patterns (What NOT to Do)
Too Vague
"Make a website" — gives the AI nothing to work with. You'll get something generic and spend more time iterating than if you'd been specific upfront.
Too Much at Once
"Build a full e-commerce platform with payments, inventory, shipping, admin dashboard, analytics, and email notifications" — break it into phases.
Contradictory Requirements
"Make it minimal and simple but also add every possible feature" — pick a direction and stick with it.
No Design Direction
Not mentioning any visual preferences means the AI defaults to generic Bootstrap-looking layouts. Mention colors, spacing, style.
Pro Tips
1. Start small, expand: Begin with core functionality, then add features in subsequent prompts.
2. Use numbered lists: When you want multiple changes, number them. The AI tracks them better.
3. Say "don't change X": If something works, explicitly say not to modify it when requesting other changes.
4. Paste error messages: Never paraphrase an error. Copy and paste the exact message.
5. Reference files by name: "In RecipeCard.tsx, change the..." is better than "in the card component, change..."