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

# Three principles

# Summary of the Principles

<CardGroup cols={1}>
  <Card title="Be Very Specific">
    "Make it better" is not a prompt. List exactly what you want. One message should contain 3-5 small tweaks OR one big feature. Not both.
  </Card>

  <Card title="Show It The Error">
    When something breaks, just copy in the error. Messages like 'fix the error' will likely not get you anywhere.
  </Card>

  <Card title="Make A New Chat">
    After 15-20 messages, the AI gets confused. Starting a new chat helps it continue on your app with a clear context.
  </Card>
</CardGroup>

## 1. Be Very Specific

A clear and articulated success criteria helps our agent deliver the best results that make you happy.

<CodeGroup>
  ```text Good theme={null}
  Update the login page:
  1. Change button color from blue to #22C55E
  2. Add "Remember me" checkbox below password field
  3. Center the form vertically on the page
  4. Add loading spinner when submitting
  ```

  ```text Bad theme={null}
  Make the login page better
  ```
</CodeGroup>

## 2. Show It The Error

When something breaks the easiest things to do is just copy the error from:

1. The bottom of the error screen within the app preview
2. Beneath the app preview inside the console logs

## 3. Make a New Chat

After about 15-20 messages (or 80,000 characters) our agent starts degrading in performance.
A good set of rules for when to use a new chat is if:

* The AI is making the same mistakes repeatedly
* It seems confused about your project structure
* You're switching from one feature to something completely different
* The conversation has become a debugging nightmare

<Tip>
  Apps can contain unlimited chat sessions
</Tip>
