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

# For AI agents

> How agents get the context they need to build Zite apps well — the framework guide, llms.txt, and tips for great results.

Zite is built for AI agents. External agents (Claude, ChatGPT, Cursor) have no training data on `zitejs`, so
Zite delivers the context they need, when they need it.

## The framework guide

Every `create_sandbox` response includes a **framework guide** — a concise spec of how Zite apps are
structured (monorepo layout, data access, `zite.sql()` identifier rules, available imports and libraries,
build workflow). Connecting the MCP and booting a sandbox is enough to build correctly, with no memorizing
conventions in advance. The same conventions are documented for humans in the
[Framework reference](/framework/project-structure).

## llms.txt

This site publishes an `llms.txt` index and a full `llms-full.txt` so agents and IDEs can pull the docs into
context. Point your tool at:

```text theme={null}
https://developers.zite.com/llms-full.txt
```

## Give your agent Zite context

When an agent works **outside** a Zite sandbox — building against the [Database API](/api/overview), or
planning in your IDE before it connects — drop this into your project's `AGENTS.md` (or a Cursor rule /
`CLAUDE.md`):

```markdown theme={null}
# Building on Zite

Apps live in a `zitejs` monorepo under `apps/<dir>/`: React frontend in `src/`, backend workflows in
`src/api/` (one file = one workflow).

## Data access (backend only — the frontend never hits the DB directly)
- Each `src/api/<name>.ts` default-exports `createEndpoint({ inputSchema, outputSchema, execute })` from `zitejs/backend`.
- Query with the generated client: `import { zite } from 'zitejs/db'` — `zite.<Table>.findAll({ filter })`,
  plus `findOne/create/update/delete/bulkCreate`. Read `.zite/db.ts` for exact table/field SDK names.
- Aggregates & joins: `zite.sql({ query, params })` — double-quote `"Table"`/`"field"` SDK names, bind values
  via `$1`, SELECT-only, join linked records through the link table.
- Frontend calls workflows via the generated typed client: `import { listTickets } from 'zitejs/api'`.
- Auth: `useAuth()` from `zitejs/auth` (frontend); `context.user` in workflows when `authenticated: true`.

## Conventions
- Imports: platform SDKs via `zitejs/*` (never relative into `.zite/`). Shared UI via `@project/components/ui/*`.
  Your own files via relative paths. Never edit `.zite/` or `src/main.tsx` (generated).
- Available libs: react, tailwindcss, react-router-dom, recharts, lucide-react, framer-motion, zod, date-fns,
  react-hook-form, @tanstack/react-table, @dnd-kit/*.
- After adding/renaming workflows, run `npx zitejs generate` from the workspace root.
```

For the full corpus, point your tool at this site's `llms-full.txt`, and link recipes directly (e.g.
`/recipes/stripe-payments`) for task-specific guidance.

## Getting great results

* **Be specific about data** — name the tables and fields; the agent designs the schema from your description.
* **Ask it to verify at runtime** — a clean type-check isn't proof. See [the build loop](/mcp/build-loop).
* **Let it read `.zite/db.ts`** — the source of truth for table and field names.
* **Connect integrations first** — connect Slack or Stripe when the agent hands you a `setup_integration`
  link, so the token is available while it builds.
