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.

curl -fsSL https://archcore.ai/install.sh | bash
archcore init

Claude Code · Cursor · Codex CLI · Copilot · Gemini CLI · any MCP agent

Open source · Local-first

archcore-ai·Per-host install

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-wrong on the file that ignored them.

Project knowledge becomes files

Why project context belongs in Git

.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

See the skills in action

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.

  1. /archcore:init

    Set up Archcore in this repo.

    Proposes documents for the architecture, rules, and key modules. You approve before anything is saved.

  2. /archcore:plan

    Plan 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.

  3. /archcore:document

    Record the decision to use a token bucket in Redis.

    Saves the choice and its reasoning as an architecture decision record.

  4. /archcore:review

    Review my branch before merge.

    Reads the spec from step 2 and the decision from step 3. Verdict per finding: spec-wrong, code-wrong, or ok.

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.