---
canonical_url: "https://razcue-agent-kit.vercel.app/en"
---
<u-page-hero :ui="{"title":"text-4xl sm:text-5xl lg:text-[3.4rem] lg:leading-[1.1]"}" orientation="horizontal">
<template v-slot:headline="">
<repo-stats>



</repo-stats>
</template>

<template v-slot:title="">

Answer a few questions. Get a project your agent <span className="text-primary">

understands

</span>

.

</template>

<template v-slot:description="">

agent-kit sets up a project for agent-driven development with Claude Code: rules enforced by hooks instead of prose, a small context loaded every session, work that resumes where it stopped, living specs traced to tests, and a QA checklist that follows the specs.

</template>

<template v-slot:links="">
<u-button to="https://razcue-agent-kit.vercel.app/en/getting-started/installation" size="xl" trailing-icon="i-lucide-arrow-right">

Get started

</u-button>

<u-button to="https://github.com/razcue/agent-kit" color="neutral" size="xl" variant="outline" icon="i-simple-icons-github">

View on GitHub

</u-button>
</template>

<terminal-demo :lines="[{"t":"cmd","text":"npx @razcue/agent-kit init shop"},{"t":"q","text":"Setup","a":"New app monorepo"},{"t":"q","text":"Technical level","a":"Technical"},{"t":"q","text":"Development method","a":"SDD + TDD"},{"t":"q","text":"Git flow for the agent","a":"Branches + pull requests"},{"t":"q","text":"QA checklist · Supabase test data","a":"Yes · Yes"},{"t":"gap"},{"t":"ok","text":"apps/web · apps/app · apps/docs · packages/ui · packages/shared"},{"t":"ok","text":"AGENTS.md · agent-kit.json · .claude/settings.json"},{"t":"ok","text":".knowledge/ · work/specs/ · work/qa/ · supabase/test-data/"},{"t":"ok","text":"plugin agent-kit@agent-kit enabled"},{"t":"gap"},{"t":"out","text":"Next: cd shop && npm install && claude"}]" replay="Replay" title="~/shop">



</terminal-demo>
</u-page-hero>

<u-page-section>
<template v-slot:title="">

Less context, more work

</template>

<template v-slot:description="">

What the agent reads before your first question, measured with `agent-kit context`.

</template>

<context-meter :with="3631" :without="22974" saved-label="less context every session" source="Both measured with agent-kit context, including the same personal ~/CLAUDE.md. agent-kit's own session context is about 1,300 tokens; doctor fails a project above 8,000." with-label="A new agent-kit monorepo, everything included" without-label="A real production project, rules in AGENTS.md + memory">



</context-meter>

<compare-rows :rows="[{"topic":"Rules","without":"A line in AGENTS.md the agent may forget or ignore.","with":"Hooks and checks — the git guard blocks what your git flow forbids, live-tested every release."},{"topic":"New session","without":"You explain again where you were and what was next.","with":"It starts with the last checkpoint and each piece of work's next task."},{"topic":"Requirements","without":"Scattered across chats and tickets; nobody knows the current truth.","with":"Living specs — EARS requirements with Given / When / Then scenarios, ids never reused."},{"topic":"Proof","without":"“Looks done.”","with":"Every scenario traced to a test or a check; preflight blocks a change that isn't."},{"topic":"Scripts","without":"Rewritten in /tmp every time, lost the next day.","with":"Searched first, kept with a header and a test, run with a compact result."},{"topic":"QA","without":"Clicking around from memory.","with":"A checklist generated from the living specs, dated runs, seed / purge test data."},{"topic":"Setup","without":"Hand-written AGENTS.md, settings, hooks and conventions.","with":"One command, about ten questions, nothing inferred."}]" with-title="With agent-kit" without-title="On your own">



</compare-rows>
</u-page-section>

<u-page-section orientation="horizontal">
<template v-slot:title="">

Rules that are enforced, not requested

</template>

<template v-slot:description="">

"Never commit on main" in a Markdown file is a suggestion. agent-kit's git guard reads your git flow and blocks the command before it runs — even through `bash -c`, `eval` and aliases — and tells the agent what to do instead.

</template>

<template v-slot:links="">
<u-button to="https://razcue-agent-kit.vercel.app/en/concepts/guardrails" color="neutral" trailing-icon="i-lucide-arrow-right" variant="outline">

Guardrails

</u-button>
</template>

<terminal-demo :lines="[{"t":"cmd","text":"git commit -m \"feat: add invoices\""},{"t":"err","text":"[agent-kit git-guard] Git flow is branches + pull requests:"},{"t":"out","text":"  don't `git commit` on main. Create a feature branch first"},{"t":"out","text":"  (`git switch -c feat/<name>`)."},{"t":"gap"},{"t":"cmd","text":"git switch -c feat/invoices"},{"t":"ok","text":"Switched to a new branch 'feat/invoices'"}]" replay="Replay" title="agent · shop (main)">



</terminal-demo>
</u-page-section>

<u-page-section>
<template v-slot:title="">

Living specs that merge, not rot

</template>

<template v-slot:description="">

A change carries a delta. When it is verified, one command merges it into the living spec: the new requirement lands, the removed one is retired for good, and its scenario is already proven by a test and listed for QA.

</template>

<spec-merge delta-label="Change 004 — delta spec" qa-label="QA checklist" retired-label="retired" spec-label="Living spec" test-label="Test">



</spec-merge>
</u-page-section>

<u-page-section>
<template v-slot:title="">

How it works

</template>

<template v-slot:features="">
<u-page-feature icon="i-lucide-list-checks" to="https://razcue-agent-kit.vercel.app/en/getting-started/installation">
<template v-slot:title="">

Answer fixed questions

</template>

<template v-slot:description="">

Setup kind, technical level, language, method (SDD or SDD + TDD), commits, git flow, QA. Nothing is inferred.

</template>
</u-page-feature>

<u-page-feature icon="i-lucide-layers" to="https://razcue-agent-kit.vercel.app/en/getting-started/project-layout">
<template v-slot:title="">

Get the agent layer

</template>

<template v-slot:description="">

A short AGENTS.md block, agent-kit.json, enforced settings, knowledge, work files, scripts — and the plugin with its skills and hooks.

</template>
</u-page-feature>

<u-page-feature icon="i-lucide-route" to="https://razcue-agent-kit.vercel.app/en/concepts/lanes-and-methods">
<template v-slot:title="">

Work in lanes

</template>

<template v-slot:description="">

Answer, fast-track or spec. Complex work becomes a change with EARS requirements and Given/When/Then scenarios that merge into the living specs.

</template>
</u-page-feature>
</template>
</u-page-section>

<u-page-section>
<template v-slot:title="">

What you get

</template>

<template v-slot:features="">
<u-page-feature icon="i-lucide-book-open-check" to="https://razcue-agent-kit.vercel.app/en/concepts/living-specs">
<template v-slot:title="">

Living specs, one notation

</template>

<template v-slot:description="">

EARS requirements, Given/When/Then scenarios as acceptance tests, ZOMBIES to pick the cases — merged by a script, ids never reused.

</template>
</u-page-feature>

<u-page-feature icon="i-lucide-clipboard-check" to="https://razcue-agent-kit.vercel.app/en/concepts/qa-and-test-data">
<template v-slot:title="">

QA that follows the specs

</template>

<template v-slot:description="">

A checklist generated from the living specs, dated QA runs, and Supabase test data that refuses to run on production.

</template>
</u-page-feature>

<u-page-feature icon="i-lucide-sparkles" to="https://razcue-agent-kit.vercel.app/en/reference/skills">
<template v-slot:title="">

Skills loaded only when needed

</template>

<template v-slot:description="">

Eleven plugin skills plus one stack skill per template; descriptions are tested to trigger on real requests and stay quiet otherwise.

</template>
</u-page-feature>

<u-page-feature icon="i-lucide-shield" to="https://razcue-agent-kit.vercel.app/en/concepts/guardrails">
<template v-slot:title="">

Guardrails that are enforced

</template>

<template v-slot:description="">

Git guard, preflight before a merge, commit checks, a stray-script reminder — silent outside agent-kit projects.

</template>
</u-page-feature>

<u-page-feature icon="i-lucide-brain" to="https://razcue-agent-kit.vercel.app/en/concepts/knowledge">
<template v-slot:title="">

Knowledge that stays cheap

</template>

<template v-slot:description="">

One concept per file, only one-line summaries load; project, machine and global scopes.

</template>
</u-page-feature>

<u-page-feature icon="i-lucide-bot" to="https://razcue-agent-kit.vercel.app/en/guides/docs-for-agents">
<template v-slot:title="">

Docs for agents too

</template>

<template v-slot:description="">

llms.txt, llms-full.txt and an MCP server, so your agent can read these docs while it works.

</template>
</u-page-feature>
</template>
</u-page-section>

<u-page-c-t-a :links="[{"label":"Read the installation guide","to":"/en/getting-started/installation","trailingIcon":"i-lucide-arrow-right"},{"label":"Adopt an existing project","to":"/en/guides/adopt-existing-project","color":"neutral","variant":"outline"}]" description="Node ≥ 20.11 and Claude Code. No runtime dependencies are added to your project." title="Start with one command" variant="subtle">

```bash [Terminal]
npx @razcue/agent-kit init my-project
```

</u-page-c-t-a>

## Resources for Agents

- [API catalog: every service document this site publishes](https://razcue-agent-kit.vercel.app/.well-known/api-catalog)
- [Sitemap (XML)](https://razcue-agent-kit.vercel.app/sitemap.xml)
- [Sitemap (Markdown): every page on the site](https://razcue-agent-kit.vercel.app/sitemap.md)
- [MCP server card: MCP endpoint at https://razcue-agent-kit.vercel.app/mcp](https://razcue-agent-kit.vercel.app/.well-known/mcp/server-card.json)
- [MCP endpoint (streamable HTTP)](https://razcue-agent-kit.vercel.app/mcp)
- [llms.txt: index of the documentation for LLMs](https://razcue-agent-kit.vercel.app/llms.txt)
- [llms-full.txt: the full documentation as a single file](https://razcue-agent-kit.vercel.app/llms-full.txt)
- [OpenAPI document: every route this site serves to agents](https://razcue-agent-kit.vercel.app/openapi.json)


## Sitemap

See the full [sitemap](https://razcue-agent-kit.vercel.app/sitemap.md) for all pages.
