The agent kit
The written rules every agent loads before it touches an app, shipped with the toolkit so they always match it.
Every app's code holds a short instruction file that the agent reads first. It loads two sets of pages: the agent kit, which comes with the toolkit, and the app's own notes, which describe your app. Where the two disagree, the app's notes win.
The kit is versioned with the toolkit. When the toolkit changes an API, the page that describes it changes in the same version. An agent never works from documentation that is older than the code it calls.
What the kit holds#
| page | covers |
|---|---|
| conduct | how to work: one subject per card, ask on the card, never in a chat, never fail silently |
| code | TypeScript rules: strict types, no shortcuts that hide errors, one way to do each thing |
| tests | what a test checks, and how fast the tests must stay |
| state | how screens hold their data |
| screens | lists, forms, grids: what the toolkit gives, and what not to rebuild |
| data | every list is filtered, sorted and counted by the server. Never download a whole table to count it |
| languages | user facing text in the app's languages, technical text in English |
| AI calls | how app code calls an AI model, when an app needs one |
| one page per API | the schema, the rules, the client, the screens, review cards, pictures of the app, the changelog, the MCP server |
The rules that matter most to you#
- Notes before code. The agent updates the app's notes first, then writes the code those notes describe. The notes stay a true description of your app.
- The server decides. Rules live on the server. A check in a screen is a convenience, never the protection.
- Checks before you see it. The agent runs the app's checks (types, tests, code style) before it sends a card.
- One changelog line per visible change, written for your users in their language. The checks fail if code changed and the changelog did not.
- Before and after. Every visible change is a card with a picture before and after, at the same size. The agent opens both pictures itself before it sends them.
- Nothing approved by itself. Only you approve.
- Release is yours. An agent never releases unless your request asks for it.
The app's own notes#
Each app has an agent folder: what the app is for (your first description, quoted), its data, its screens, its decisions. The agent keeps it up to date with each change. It is the first thing a new agent reads, so a request two months later starts from what the app is today.
For developers#
The kit's pages are the basis of the Developers section of these docs.