Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
PluginCautionAgent workflow & memorySome setup

archcore

archcore-ai · archcore-ai/archcore

This plugin enables AI coding agents like Claude Code and Cursor to follow project architecture, rules, and plans by providing Git-native context for spec-driven development.

Spec-driven development and context engineering for Claude Code, Cursor, Codex, and GitHub Copilot — backed by project context in Git.

66 stars12License: Apache-2.0Updated 13 days ago0 opens

Preview

▍

What you can do with it

  • Plan a new feature based on existing architecture and design specs.
  • Document code changes automatically by turning a brief note into a linked document.
  • Review proposed code changes against project documents and architectural rules.

Safety check

Caution

Usable, but read the notes first.

  • ●Tells the agent to download and run a remote script.plugins/archcore/agents/archcore-assistant.md
  • ●Installer downloads a remote script and pipes it to the shell.README.md

Automated scan of the repo files. Always review code you run.

From the README

Archcore - Spec-driven development and git-native context engineering for AI coding agents

The agent stops guessing and starts following the system.

A coding agent can write the code. It does not know your project: what the feature must do, where the code belongs, which decisions and rules already apply. So it guesses, and you explain the same things again in the next session.

Archcore keeps specs, architecture, decisions, rules, and plans in Git, and makes the right project context available to AI coding agents as they work. It helps your coding agent make changes that fit your repo's architecture, rules, and past decisions.

  • /archcore:plan before you build. The agent implements from a spec, examples, and tasks, sized to the change.
  • /archcore:document as you go. One sentence from you becomes a finished, linked document.
  • /archcore:review before merge. Archcore compares the branch with the documents and names the side that is wrong.

Install

On macOS, Linux, or WSL:

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

On Windows (PowerShell 5.1+):

irm https://archcore.ai/install.ps1 | iex

Then, in your project:

archcore init

The installer adds the CLI and plugins for Claude Code, Codex CLI, and GitHub Copilot CLI when it finds them. archcore init connects the agents you choose to this project. It also supports Gemini CLI, OpenCode, Roo Code, and Cline. Cursor needs one extra setup step.

Already have a CLAUDE.md, AGENTS.md, or rule files? Say /archcore:init import in your agent to turn them into project documents.

The documents stay in your repo, in .archcore/. Details: privacy.

Plan: the agent builds from documents, not from a chat message

/archcore:plan [your feature]

/archcore:plan reads the repo and the existing documents first. Then it asks you only what it cannot find there. Your answers become documents in .archcore/: a spec with requirements, and a plan with tasks mapped to files. A user-facing change also gets examples in Given/When/Then form. Larger work can add a PRD, research, or a formal requirements chain.

Archcore weighs the change, computes the route, and reports its size from S to XL. You never choose a template or a size.

The changeWhat plan prepares
A small fixNo documents
A settled choiceA decision record
A change to existing behaviorA check of the covering spec: update the spec, or fix the code
One new capabilityA spec and a plan
Several capabilitiesA PRD, one spec per capability, and a plan

Risk raises the size. A security requirement adds a formal requirements chain. A data migration adds a migration runbook.

The agent then implements from the spec, the examples, and the tasks. The open questions are settled before the code, not after it.

Document: you say it once, Archcore writes the document

/archcore:document decision why we chose [X]
/archcore:document code [module]

/archcore:document records what is true now: a decision, a team standard, how a module works, or a how-to. You do not choose a format. Archcore selects the document type, reads the code and the existing documents, and checks that the document does not exist yet. It asks you only what it cannot find. It links the new document to the related ones. A decision can also produce the rule and the guide that follow from it.

With no subject, /archcore:document reads the changes on your branch and asks one question about what to record.

The document outlives the session. It is in Git with the code, it has a status (draft, then accepted), and review checks it against the code.

Review: the code and the documents agree before merge

/archcore:review

When documents cover the change. /archcore:review compares the branch with them in both directions. Each finding names the code and the document that disagree, and carries one verdict: code-wrong when the code breaks a document that still stands, spec-wrong when the document is out of date. You fix the right side. When a plan covers the branch, review checks its tasks and closes the plan when the work is done.

When no document covers the change. Review still checks the branch against the decisions and rules the project has. If the branch repeats a pattern that no document records, review offers to record it. To record work that shipped without a plan, run /archcore:document.

Use the three commands together on one change, or use one alone. Archcore does not need a plan for every change.

The slash commands run in Claude Code, Cursor, Codex CLI, and GitHub Copilot. In every connected agent, a plain sentence works too: “Plan [your feature]”, “Record why we chose [X]”, “Review my branch”.

Project knowledge becomes files

Each command leaves plain Markdown in .archcore/, versioned with the code it describes. The document type is in the filename.

.archcore/
├── architecture/
│   └── architecture-overview.doc.md    ← /archcore:init
├── conventions/
│   └── project-stack.rule.md           ← /archcore:init
└── api/
    ├── rate-limiting.spec.md           ← /archcore:plan
    ├── rate-limiting.plan.md           ← /archcore:plan
    ├── token-bucket-in-redis.adr.md    ← /archcore:document
    └── error-shapes.rule.md            ← /archcore:document

A spec is one part of context, not the whole context: decisions, rules, plans, and guides live beside it. A change to a document is a diff in a pull request

View source on GitHub