Spec-Driven Development & Context Engineering
for AI Coding Agents
Archcore keeps your project's decisions, specs, and rules in the repo.
Your coding agent reads them before it writes, so it builds by this repo's rules instead of the ones it happens to know.
Claude Code · Cursor · Codex CLI · Copilot · Gemini CLI · any MCP agent
Open source · Local-first
What you get
Code that fits this repo on the first try
The decision that already chose Redis, and the rule for error shapes in
src/api/, reach the agent before it edits the file.Nothing to re-explain in a new session
Each session opens with what is decided and what is in progress. Switch to another agent and it reads the same folder.
A broken decision caught before merge
Review reads your branch against the spec and the decision record, and returns
code-wrongon the file that ignored them.
Project knowledge becomes files
.archcore/example- architecture.doc.md
- conventions.rule.md
- api/
- rate-limiting.spec.md
- rate-limiting.plan.md
- token-bucket-in-redis.adr.md
- error-shapes.rule.md
- auth/
- session-model.adr.md
- oauth-migration.rfc.md
- billing/
- usage-based-pricing.prd.md
- stripe-webhooks.spec.md
- web/
- design-tokens.rule.md
- onboarding-flow.plan.md
- testing.guide.md
opentoken-bucket-in-redis.adr.md
title: Rate limiting uses a token bucket in Redis
status: accepted
---## Context
The public API needs per-client limits. Redis is already the shared store for sessions.
## Decision
Token bucket per API key, stored in Redis, refilled on a fixed interval.
## Consequences
Every handler in src/api/ reads the bucket from Redis. No in-memory counters.
implements → api/rate-limiting.spec.md
Architecture, specs, requirements, decisions, rules, plans, and guides live in .archcore/ as plain Markdown, versioned with the code they describe. Archcore ships 19 document types, and a change to any of them is a diff someone approves.
Four things you say
Plain sentences, or the slash command. Each one uses what the last one saved, which is why the review at the end knows what the plan and the decision said.
/archcore:initSet up Archcore in this repo.
Proposes documents for the architecture, rules, and key modules. You approve before anything is saved.
/archcore:planPlan rate limiting for the public API.
Writes the spec that defines how rate limiting must behave, and a plan that breaks the work into tasks.
/archcore:documentRecord the decision to use a token bucket in Redis.
Saves the choice and its reasoning as an architecture decision record.
/archcore:reviewReview my branch before merge.
Reads the spec from step 2 and the decision from step 3. Verdict per finding:
spec-wrong,code-wrong, orok.
Every agent reads the same folder
Context engineering for AI coding agentsSpec-driven development for AI coding agents
Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, OpenCode, Roo Code, and Cline. Slash commands, skills, and guardrails run inside the first four; the rest reach the same documents over MCP. Where the host supports hooks, they arrive before the edit with no command from you.
Setting up a specific agent? Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
Frequently Asked Questions
How is this different from CLAUDE.md or AGENTS.md?
Instruction files are flat memory: one tool, one file. Archcore is structured. It stores typed documents (ADR, rule, plan, guide, spec) with relations and versioned history, read and written during real work, and reused across every agent.
I already have a CLAUDE.md or .cursor/rules. Do I start over?
No. archcore init imports your existing instruction files (CLAUDE.md, AGENTS.md, .cursorrules, .cursor/rules/*) as structured documents, so the context you already wrote carries over.
Which AI agents are supported?
The plugin runs inside Claude Code, Cursor 2.5+, Codex CLI 0.117+, and GitHub Copilot CLI. The CLI works with any MCP-aware agent: those four plus Gemini CLI, OpenCode, Roo Code, and Cline. It is also scriptable in CI.
Does this eat my agent's context window?
No. At session start the agent gets a compact index of your documents. Full documents are pulled on demand over MCP, through search, relations, and single reads, instead of being loaded wholesale.
Does my code leave my machine?
Archcore stores project documents locally in .archcore/. Your coding agent may send document excerpts to its model provider. Install and update analytics contain version and platform information, not your project content. See the privacy policy for details and opt-out options.
Do I need both the plugin and the CLI?
You install one thing. The plugin runs on the CLI, so the CLI comes first: archcore init wires your agents and installs the plugin on the hosts you pick (Claude Code, Cursor, Codex CLI, GitHub Copilot CLI). On any other MCP-aware agent the CLI is all there is to install.
Open source, built in public. A star helps more developers find it.