Every site the builder makes is a Git repository you can clone, read and change. The AI is a contributor to that repository, not the owner of it. This page describes the repository as it will ship when the builder opens.
What is in the repository
The template is a Next.js and TypeScript application prepared for Firebase and Google Cloud: email-link sign-in, a named document database per site, cloud storage for uploads, and a production container for Cloud Run.
| Path | Purpose |
| --- | --- |
| docs/PROJECT.md | The brief and the current objective of the site, in plain language. |
| docs/SPEC.md | The reviewed plan: pages, data entities, features, acceptance checks. |
| docs/STATE.md | Where the project stands: last build, open items, known limitations. |
| docs/DECISIONS.md and docs/adr/ | Why things are the way they are, one record per decision. |
| docs/RUNBOOK.md | How to run, deploy and operate the site. |
| docs/MIGRATION.md | How to move the site to your own infrastructure. |
| docs/ASSETS.json | Every generated image with its prompt and provenance. |
| .platform/project.json | The machine-readable project descriptor the builder reads. |
| CLAUDE.md and AGENTS.md | Working instructions for any coding agent that opens the repository, yours or ours. |
| .githooks/ | Commit and push hooks that enforce the rules below. |
| Dockerfile | The production container. |
Automated checks run on every build. The plan's acceptance checks are listed by name and each build reports whether it passed them, with evidence.
Working alongside the builder
Open the repository in your editor and commit as you would in any project. The next build starts from the current branch, so your changes are part of what the agent sees and keeps. The builder never resets a branch and never rewrites history. Its own work resumes from the last checkpoint it recorded, not from memory, so a build interrupted by anything, including your push in the middle of it, continues from a known commit.
Because the plan, the decisions and the state are written down in the repository, a second assistant or a developer who joins later can pick up where the conversation left off. Point them at CLAUDE.md or AGENTS.md.
Rules the hooks enforce
- Each commit message is exactly one line of at most 100 characters and states what the commit does.
- No commit mentions an AI, an assistant, a model, or carries a co-author or "generated with" trailer. The history reads as the history of your product.
- Pushes that break these rules are rejected locally by the hooks and again by the service when it reviews a build.
Trust boundaries
Repository text, dependency output and customer content are treated as untrusted input by the builder. None of it can grant permission to spend credits, change access or deploy. Secrets never enter the repository; the runbook explains where configuration lives.