| 14 | 14 | | | --- | --- | |
| 15 | 15 | | | Something a person does on g1t.sh | The guide for it in `apps/docs/src/content/docs/guides/` | |
| 16 | 16 | | | An API route, a field, or an MCP tool | `apps/api/src/operations.rs` descriptions (they feed the OpenAPI document and the API reference), the example and notes for it in `apps/api/src/reference.json`, `reference/mcp.md`, and any guide that shows the call. Then refresh the docs' copy of the OpenAPI document with `G1T_WRITE_OPENAPI=1 cargo test -p g1t-api openapi`; `cargo test` fails until you do. | |
| 17 | | − | | How agents behave | `guides/working-with-g1t.md`, and `apps/web/public/llms.txt` | |
| 17 | + | | What coding agents are told about g1t | `guides/bring-your-own-agent.mdx`, `guides/claude-code-plugin.md`, the plugin's skills in `plugins/claude-code/`, and `apps/web/public/llms.txt` | |
| 18 | 18 | | | Settings, limits or prices | The page that names them, and the table it is in | |
| 19 | 19 | | | A new feature | A section in the guide that owns it, linked from the docs home if it is a new task | |
| 20 | 20 | | | How g1t is put together: a service, a binding, a store, an event route, the path of a request | Its page in the docs' Architecture section (`apps/docs/src/content/docs/architecture/`), and its diagram in `apps/docs/src/diagrams/architecture.ts`. [How g1t ships](https://docs.g1t.sh/architecture/shipping/#keeping-this-section-true) says which page covers what. | |
| ⋯ |
| 61 | 61 | | - Hover hints use the `Tooltip` component, never `title=`. Native |
| 62 | 62 | | `<select>`, file inputs, checkboxes and radios use their `ui` |
| 63 | 63 | | components. |
| 64 | | − | - **Every avatar is `Avatar`** (`ui/avatar.tsx`), and every agent's is |
| 65 | | − | `Avatar` with `agent` set, or `AgentAvatar` (`components/agent-avatar.tsx`), |
| 66 | | − | which wraps it. That draws the agent's bot face (`AgentFace`, |
| 67 | | − | `components/agent-face.tsx`) from its `look` or its `avatar_seed`, puts |
| 68 | | − | the agent marker in its corner and names it "…, agent" to a screen |
| 69 | | − | reader. Never hand-draw an agent's face, a sparkle, a letter on a tile or |
| 70 | | − | the marker at a call site: a place that shows an agent differently is a |
| 71 | | − | bug. |
| 64 | + | - **Every avatar is `Avatar`** (`ui/avatar.tsx`), and @g1t's is `Avatar` |
| 65 | + | with `agent` set, or `AgentAvatar` (`components/agent-avatar.tsx`), which |
| 66 | + | wraps it: g1t's pixel 1 with the agent marker in its corner, named |
| 67 | + | "…, agent" to a screen reader. Never hand-draw a sparkle, a letter on a |
| 68 | + | tile or the marker at a call site: a place that shows @g1t differently is |
| 69 | + | a bug. |
| 72 | 70 | | - Look at every page you change, in light and dark, on a desktop and a |
| 73 | 71 | | phone, before calling it done. |
| 74 | 72 | | |
| ⋯ |
| 337 | 335 | | Worker's secret `GIT_FALLBACK_NAMESPACES`) and open an incident. To |
| 338 | 336 | | switch back, `reconcile` anything the fallback took, then delete the |
| 339 | 337 | | secret. The script's header has every step. |
| 340 | | − | - **Costs and margin**, model prices, credits and the platform pause are |
| 338 | + | - **Costs and margin**, credits and the platform pause are |
| 341 | 339 | | in sudo, under **Costs & margin**. The code is in `services/billing/src` |
| 342 | 340 | | (`costs.rs`, `margin.rs`, `pricing.rs`, `budget.rs`, `platform.rs`). |