> ## Documentation Index
> Fetch the complete documentation index at: https://docs.constructr.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Prompt

> Learn best practices for writing effective prompts to get the best results from Constructr

## How to Prompt

Writing effective prompts is key to getting great results from Constructr. A well-written prompt helps the AI agents understand exactly what you want, leading to better apps that match your vision.

## The Basics

A good prompt should be:

* **Clear** - Easy to understand
* **Specific** - Includes important details
* **Complete** - Covers all key requirements
* **Structured** - Organized logically

## Prompt Structure

### 1. Start with the Core Purpose

Begin by clearly stating what your app does:

**Good:**

> "Build a task management app for small teams"

**Better:**

> "Build a collaborative task management app for small teams (5-10 people) where team members can create, assign, and track tasks together"

### 2. Describe Key Features

List the main features your app needs:

**Example:**

> "The app should include:
>
> * Task creation with title, description, due date, and priority
> * Task assignment to team members
> * Kanban board view (To Do, In Progress, Done)
> * Filter by assignee and priority
> * Task comments and collaboration"

### 3. Specify User Experience

Describe how users should interact with your app:

**Example:**

> "Users should be able to:
>
> * Drag and drop tasks between columns on the kanban board
> * Click a task to see full details in a sidebar
> * Add comments that notify the task assignee
> * See a dashboard with team productivity metrics"

### 4. Mention Integrations

If you need integrations, mention them:

**Example:**

> "Integrate with Slack to send notifications when tasks are assigned or completed, and sync completed tasks to a Notion database daily."

### 5. Add Design Preferences (Optional)

If you have design preferences, include them:

**Example:**

> "Use a modern, clean design with a light color scheme. Make it mobile-responsive with a mobile-first approach."

## Prompt Examples

### Simple App

**Prompt:**

> "Create a personal note-taking app where users can:
>
> * Create, edit, and delete notes
> * Organize notes into folders
> * Search notes by title or content
> * Mark notes as favorites
> * Export notes as markdown files
>
> Use a simple, clean interface with a sidebar for folders and a main area for note content."

### Complex App with Integrations

**Prompt:**

> "Build a customer feedback management app that:
>
> * Collects feedback from Zendesk tickets
> * Analyzes sentiment (positive/negative/neutral)
> * Categorizes feedback by topic (feature requests, bugs, praise)
> * Creates a dashboard showing feedback trends
> * Sends weekly summaries to Slack
> * Creates follow-up tasks in Linear for high-priority feedback
>
> Include role-based access: admins can see all feedback, team members see only their assigned categories."

## Best Practices

<AccordionGroup>
  <Accordion title="Be Specific">
    Instead of "make it user-friendly," say "include clear navigation with a sidebar menu, large clickable buttons, and helpful tooltips."
  </Accordion>

  <Accordion title="Include Examples">
    Reference similar apps or features: "Like Trello's kanban board" or "Similar to Notion's database view."
  </Accordion>

  <Accordion title="Describe User Flows">
    Explain how users will use your app: "Users first see a dashboard, then click a project to see tasks, then click a task to see details."
  </Accordion>

  <Accordion title="Mention Data Structure">
    Describe what data you need: "Each task should have: title (text), description (rich text), due date (date), priority (low/medium/high), assignee (user), status (to do/in progress/done)."
  </Accordion>

  <Accordion title="Specify Permissions">
    If you need different user roles, mention them: "Admins can create and delete projects, members can only edit tasks within projects."
  </Accordion>

  <Accordion title="Think About Edge Cases">
    Mention important edge cases: "Handle empty states gracefully with helpful messages" or "Show loading indicators for async operations."
  </Accordion>
</AccordionGroup>

## Common Mistakes to Avoid

### ❌ Too Vague

**Bad:**

> "Make a good app for managing stuff"

**Good:**

> "Build a project management app for tracking tasks, deadlines, and team collaboration"

### ❌ Too Technical

**Bad:**

> "Implement a RESTful API with JWT authentication and PostgreSQL with Drizzle ORM"

**Good:**

> "Build an app with user authentication where users can log in securely and their data is stored in a database"

### ❌ Missing Context

**Bad:**

> "Add a calendar"

**Good:**

> "Add a calendar view where users can see tasks scheduled for each day, click dates to filter tasks, and drag tasks to reschedule them"

### ❌ Unrealistic Scope

**Bad:**

> "Build a complete social media platform with messaging, video calls, stories, and marketplace"

**Good:**

> "Build a simple social feed where users can post updates, like posts, and follow other users"

## Iteration Prompts

When iterating on existing apps, be specific about what to change:

**Good Iteration Prompt:**

> "Add a search feature to the task list. Include a search bar at the top that filters tasks in real-time as the user types. Search should match task titles, descriptions, and assignee names. Show a 'No results' message when nothing matches."

## Advanced Tips

### Use Bullet Points

Organize complex requirements with bullet points for clarity:

> "The dashboard should show:
>
> * Total tasks (with breakdown by status)
> * Tasks due today
> * Tasks assigned to the current user
> * Recent activity feed"

### Reference Existing Patterns

Mention familiar UI patterns:

> "Use a card-based layout similar to Trello, with drag-and-drop functionality"

### Describe Interactions

Explain how things should behave:

> "When a user clicks 'Complete Task', show a confirmation dialog, then move the task to the 'Done' column and send a Slack notification"

## Getting Better Results

1. **Start with a clear vision** - Know what you want before you prompt
2. **Be detailed but focused** - Include important details without overwhelming
3. **Iterate and refine** - You can always improve your app with follow-up prompts
4. **Learn from examples** - Check out our [prompt inspirations](/best-practices/prompt-inspirations) for ideas
5. **Test and adjust** - Use your app, identify improvements, and iterate

## Next Steps

<CardGroup cols={2}>
  <Card title="Prompt Inspirations" icon="lightbulb" href="/best-practices/prompt-inspirations">
    See examples of effective prompts and get inspired.
  </Card>

  <Card title="Build Your First App" icon="rocket" href="/working-with-constructr/build-your-first-app">
    Put these tips into practice and build your first app.
  </Card>
</CardGroup>

<Note>
  **Remember:** You can always iterate on your app. Don't worry about getting the perfect prompt on the first try—start building and refine as you go!
</Note>
