Build
AI tool setup
Every Hatchik repo ships with an AI_CONTEXT.md file at the root. It tells your AI coding tool which files are the substrate (don't touch), which files are your product (edit freely), and how to redeploy. Pick your tool below for the wiring.
How AI_CONTEXT.md works
It's a Markdown file pre-filled by us when we provision your sandbox. It contains:
- Your sandbox URL and Supabase anon key (the safe-to-expose front-end key).
- The repo layout — which folders are yours, which are ours.
- The two ways to deploy (
git pushor acurlPOST with your deploy token). - A first-prompt template, ready to paste.
- A tip telling the AI to redeploy itself when you say "ship", "push" or "deploy".
You don't need to edit it. You just need to make sure your AI tool reads it. Below is how to do that in each major tool.
Cursor auto-read
Cursor auto-indexes the open folder, including AI_CONTEXT.md. As long as you've opened the repo as your project root, the file is in Cursor's context.
- Open Cursor.
- File → Open Folder and pick the cloned repo (the folder with
AI_CONTEXT.mdat the top level). - Open the chat panel.
Then paste the first-prompt template. If Cursor seems to ignore the file (rare on a small repo), pin AI_CONTEXT.md in the chat manually via the paperclip icon.
Windsurf auto-read
Same story as Cursor. Windsurf auto-reads files in the open project, so AI_CONTEXT.md is picked up.
- Open Windsurf.
- File → Open and pick the cloned repo folder.
- Start a new Cascade conversation.
Then paste the first-prompt template. Windsurf tends to ask before editing — answer "yes" the first time and it'll get into the rhythm.
Claude Code file reference
Claude Code (the desktop CLI / IDE plugin) doesn't auto-read every file in your project. To make sure it reads AI_CONTEXT.md first, reference it explicitly at the start of your conversation.
- Open the cloned repo folder in your terminal.
- Start Claude Code (
claudein your shell, or open it from your IDE). - In the first message, drag
AI_CONTEXT.mdinto the chat to attach it as a file reference, or type@AI_CONTEXT.mdand Claude will pick it up.
Then paste the first-prompt template below.
Cline auto-read
Cline is a VS Code extension — it sees your whole workspace, so AI_CONTEXT.md is in context as soon as you open the repo folder.
- Open VS Code and use File → Open Folder on the cloned repo.
- Click the Cline icon in the sidebar to open the chat.
- In the first message, type
@AI_CONTEXT.mdto pin the file explicitly (Cline's recent versions auto-discover it, but pinning is foolproof).
Then paste the first-prompt template. Cline runs locally and asks for approval before each file edit — useful while you're getting comfortable; switch to auto-approve later if you want.
Codex (OpenAI CLI) auto-read
OpenAI's Codex CLI runs in your terminal and reads files in the working directory like Claude Code. You'll need a ChatGPT Plus / Pro / Team / Enterprise login.
- Open the cloned repo folder in your terminal.
- Run
codex(after installing vianpm install -g @openai/codexor the OpenAI installer). - In the first message, type
@AI_CONTEXT.mdto bring the file into context.
Then paste the first-prompt template. Codex defaults to ask-before-editing — exactly the safe default for a Hatchik sandbox.
Antigravity (Google) auto-read
Antigravity is Google's agentic IDE built around Gemini. It opens project folders like VS Code and auto-indexes the contents — AI_CONTEXT.md is in scope from the moment you open the repo.
- Open Antigravity.
- File → Open Folder and pick the cloned repo.
- Open the agent panel and start a new conversation.
Then paste the first-prompt template. If Gemini seems unaware of the file, attach it explicitly via the paperclip icon — same fallback as Cursor.
Browser AIs (ChatGPT, Gemini, Grok, Claude.ai, Perplexity Comet) file attachment
If you don't have a dedicated coding tool, any browser-based AI works for small changes — you just do more copy-paste than file-editing. The loop still works.
- Open the chat (chat.openai.com, gemini.google.com, grok.com, claude.ai, or Comet) and start a new conversation with a code-capable model.
- Click the attach / + icon and upload
AI_CONTEXT.mdfrom your cloned repo folder. - In the same message, paste the first-prompt template.
None of these can run git push from inside the browser (Comet is the partial exception — it can run shell commands if you grant it access). For the others, copy edited files back into your repo yourself and run git push in your terminal — or use Hatchik's redeploy URL from AI_CONTEXT.md if you'd rather not touch a terminal at all.
Universal first-prompt template
This is exactly what's in your AI_CONTEXT.md file under "First-prompt template". Copy it, replace the bracketed bits with your real product name and idea, and paste it into your AI tool as your very first message.
I want to build [PRODUCT NAME]. The idea is: "[ONE-LINE
DESCRIPTION]". This repo is a Hatchik substrate — auth, database,
hosting and email are already wired up. The live sandbox is at
[YOUR-SANDBOX-URL] and the Supabase anon key is in AI_CONTEXT.md.
Read AI_CONTEXT.md, then help me design the first feature: a
minimal user-facing flow that proves the core value. Put new UI
under apps/web/src/product/ and new API routes under
apps/api/src/product/. Don't touch the substrate files.
If your AI tool supports it, you don't need to fill in the bracketed bits manually — AI_CONTEXT.md already has them pre-filled by us at provision time. Just say "read AI_CONTEXT.md and run the first-prompt template at the bottom".
What the AI knows after reading AI_CONTEXT.md
- Where to put product code:
apps/web/src/product/andapps/api/src/product/. - Where not to put product code: anywhere under
supabase/, the rootdocker-compose.yml, the rootCaddyfile, or the substratelib/helpers. - How to talk to the database: via the Supabase JS client with the anon key, or via the service-role key on the API side.
- How to deploy:
git push(default) or POST to your per-tenant deploy URL with yourX-Deploy-Token(if it prefers not to commit). - That your sandbox URL is also your Supabase project URL.
Tip. If your AI starts editing files inside supabase/ or docker-compose.yml, stop it and say "those are substrate files, read AI_CONTEXT.md again". Nine times out of ten it's about to break the deploy by editing plumbing it doesn't need to.
Next
- Deploying changes — what happens after your AI runs
git push. - Troubleshooting — if your AI can't read
AI_CONTEXT.md.