Getting an AI coding agent to behave: config files, permissions, hooks, memory, and the boring switches that decide whether it helps or hurts.
Setting up an AI coding agent takes about fifteen minutes. Getting it to behave well in a repository with real invariants takes longer, and the order matters more than the settings: memory file first, then permissions, then hooks, then everything else.
These pages cover what goes into the repository before you type a single prompt — memory files, permission policies, hooks, skills and slash commands.
The order is not arbitrary. A memory file with no permission policy gives you an agent that understands your codebase and can still delete it. A permission policy with no memory file gives you an agent that is safely useless.
The single highest-leverage thirty minutes is a memory file that states the invariants nobody wrote down: which directories are generated, which tables are append-only, which module has a rule the type system does not enforce.
Not by how dangerous the command sounds. Reading a file is safe; writing a migration is not; running the test suite is somewhere in between and depends on what your tests touch.
Anything you actually need guaranteed belongs in a hook, not in a paragraph of prose the model may or may not weigh heavily this run.
vibe coding tutorial — what it means for a repo with real invariants, not a demo.
npm install google gemini cli — what it means for a repo with real invariants, not a demo.
npm install anthropic-ai/claude code — what it means for a repo with real invariants, not a demo.
mcp server tutorial — what it means for a repo with real invariants, not a demo.
installing claude code — what it means for a repo with real invariants, not a demo.
how to use claude code effectively — what it means for a repo with real invariants, not a demo.
how to start vibe coding — what it means for a repo with real invariants, not a demo.
how to start claude code in terminal — what it means for a repo with real invariants, not a demo.
how to setup claude code — what it means for a repo with real invariants, not a demo.
how to set up claude code — what it means for a repo with real invariants, not a demo.
how to run claude code in terminal — what it means for a repo with real invariants, not a demo.
how to build an mcp server — what it means for a repo with real invariants, not a demo.
github copilot cli install — what it means for a repo with real invariants, not a demo.
getting started with claude code — what it means for a repo with real invariants, not a demo.
cursor setup — what it means for a repo with real invariants, not a demo.
codex cli install — what it means for a repo with real invariants, not a demo.
claude code tutorial — what it means for a repo with real invariants, not a demo.
claude code mcp config — what it means for a repo with real invariants, not a demo.
claude code guide — what it means for a repo with real invariants, not a demo.
claude code configuration — what it means for a repo with real invariants, not a demo.