The chat is the main interface for interacting with ami. Use it to send messages and observe ami as it works.
Creating a New Chat
Press Cmd+Shift+N (macOS) or Ctrl+Shift+N (Windows/Linux) to start a new chat. You can also click New Chat in the sidebar.
Sending Messages
Press Cmd+Enter (macOS) or Ctrl+Enter (Windows/Linux) to send a message.
Queueing Messages
While ami is working, queue additional messages by pressing Cmd+Shift+Enter (macOS) or Ctrl+Shift+Enter (Windows/Linux). ami processes queued messages after completing the current task.
Interrupting ami
Press Ctrl+C to stop ami mid-task. Once idle, you can send a new message.
Prompting Guide
ami is concise by default. It won’t over-explain unless you ask.
Be Explicit
Instead of vague requests, provide specific details.
| ❌ Avoid | ✅ Preferred |
|---|
| ”Can you add a button?" | "Add a submit button to the form in @src/components/Form.tsx" |
| "Fix the styling" | "Fix the padding on the header in @src/components/Header.tsx” |
Keep It Focused
One task per thread works best. Don’t ask ami to refactor auth in the same thread where it was fixing CSS.
Don’t Make ami Guess
If you know which files to look at, which commands to run, or which patterns to follow, say so.
Tell ami How to Verify
Include verification steps in your prompt:
- “Run
npm test after making changes”
- “Check
localhost:3000/settings to confirm it works”
Example Prompts
Add a dark mode toggle to the settings page. Use the existing theme context in `src/context/theme.tsx`
Run `npm run build` and fix all the type errors
Look at `src/api/users.ts` and explain how the authentication middleware works
Refactor the duplicate code in these 3 files into a shared utility
Find where we handle webhook events and add logging for the `payment.completed` event
Review the last commit and check for any obvious bugs
Only plan how to implement real-time notifications. Do NOT write any code yet.
The first prompt matters. It sets direction for the entire thread. Take time
to write it well, that’s why we use Cmd+Enter to submit.
Edit & Undo
Click any previous message to edit it. This is powerful for iteration.
When you edit a message that has responses after it, ami asks what to do:
- Keep file changes: Your filesystem stays as-is. ami continues from the edited point.
- Revert file changes: ami undoes all file edits made after that message, then continues.
You can also revert individual file changes. After ami edits files, a file count badge appears. Click it to see changes and revert specific files.
Abandon noisy threads. If a thread accumulates too many failed attempts and
error messages, start fresh. A clean context often works better than debugging
a cluttered one.
Task Tracking
For complex tasks, ami creates a todo list and tracks progress.
The pinned todo list appears above the chat showing:
- Total tasks and completion count
- Current in-progress task
- Completed tasks (struck through)
ami updates todos in real-time as it works. Tasks move from pending → in progress → completed.
This is especially useful for multi-step work like “fix all type errors” or “refactor these 5 files.”