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

# Best Practices

> Tips for getting the most out of emma

# Best Practices

Follow these guidelines to maximize your success with emma.

## Be Specific

The more specific your instructions, the better emma can help you.

<Tabs>
  <Tab title="Good">
    "Create a Python function that validates email addresses using regex, returns True for valid emails and False otherwise, and include docstrings."
  </Tab>

  <Tab title="Bad">
    "Make an email validator"
  </Tab>
</Tabs>

## Provide Context

Help emma understand your project by providing relevant context.

<Steps>
  <Step title="Describe the goal">
    Explain what you're trying to achieve at a high level.
  </Step>

  <Step title="Share relevant files">
    Reference existing code or documentation that emma should consider.
  </Step>

  <Step title="Specify constraints">
    Mention any requirements, limitations, or preferences.
  </Step>
</Steps>

## Break Down Complex Tasks

For large tasks, break them into smaller, manageable steps.

<CardGroup cols={2}>
  <Card title="Plan First" icon="map">
    Outline the steps before diving into implementation.
  </Card>

  <Card title="Iterate" icon="rotate">
    Review and refine as you go rather than trying to get everything perfect at once.
  </Card>
</CardGroup>

## Use Feedback Loops

<Note>
  emma learns from your feedback. Let emma know when something works well or needs adjustment.
</Note>

* Review emma's output carefully
* Provide corrections when needed
* Build on successful patterns

## Common Pitfalls to Avoid

<Warning>
  Avoid these common mistakes when working with emma.
</Warning>

| Pitfall               | Solution                                |
| --------------------- | --------------------------------------- |
| Vague instructions    | Be specific about what you want         |
| Missing context       | Provide relevant background information |
| Skipping verification | Always review and test the output       |
| Overloading requests  | Break large tasks into smaller pieces   |
