beta · now with Figma tokens import

Stop re-explaining your repo to coding agents.

Turn one brief into AGENTS.md, CLAUDE.md, Copilot instructions, Cursor rules, a scaffold plan, QA guardrails, and a sprint backlog. Then fail CI when those files drift from the source of truth.

install the CLI
$ npm install -g project-spine@beta

MIT-licensed, fully offline. Node 20+.

Offline by default
No repo upload, no telemetry, no account.
Deterministic
Same inputs produce the same spine hash.
Beta proof
spine doctor verifies version, channel, runtime, and drift.
CI-native
GitHub Action fails when exports drift.
01Output

Twenty-one files, every agent, all drift-tracked.

Run spine compile once. Everything below is generated with source pointers back to your brief, and hashed into a manifest that catches drift in CI.

./spine.json · sha256 3333f867f40d3e43
  • Repo root
  • AGENTS.mda41e2d0b9c6f7844
  • CLAUDE.mdf0ce8847b1e29a71
  • .github/copilot-instructions.md92b4711f3e6c0d12
  • .cursor/rules/project-spine.mdc7bf46ac330f18d2e
  • .project-spine/exports
  • scaffold-plan.mdc8d5faeb7a20e164
  • route-inventory.md3b5f77102e9c41a8
  • component-plan.md7ac2d1b9664fe083
  • qa-guardrails.md4e6a0f51c9d7b312
  • sprint-1-backlog.md51bc28a93f0e6d47
  • rationale.mdb920f47dc651e8a3
  • architecture-summary.mded7a1f30c9b842fc
  • export-manifest.jsondrift-tracked
02Proof

Not a prompt. A contract you can audit.

The promise is visible in the artifacts themselves: source pointers, drift diffs, and a local readiness command that proves the public beta surface on your machine.

Generated rule

- Use TypeScript strict mode.
  source: repo-profile#language.strict

- Keep LCP below 2.5s on mobile.
  source: template:saas-marketing/qa#performance

- Never remove visible focus states.
  source: design-rules.md#accessibility

CI drift failure

$ spine drift diff
--- .project-spine/exports/AGENTS.md
+++ AGENTS.md
@@
- Node >= 20 is required.
+ Node >= 18 is fine.

input drift: 0
export hand-edits: 1
next: update the brief or regenerate exports
03The moat

Why not just use Claude?

Claude Code writes an AGENTS.md when you ask it to. Project Spine writes verifiable, versioned, portable agent instructions, and tells you the moment they drift.

Claude Code alone

What you get by default

  • Different AGENTS.md every time you ask. Non-deterministic by design.
  • No memory of the brief you signed three months ago.
  • Writes CLAUDE.mdwell. Doesn't own the Cursor or Copilot project files.
  • No sha256 chain, no source pointers, no audit trail.
  • Can't fail CI when your instructions drift from the brief.

Project Spine

What you get by construction

  • Same inputs produce the same spine.json. Byte-identical until a real input changes.
  • export-manifest.json hashes every input and output for lifecycle drift.
  • One source fans out to AGENTS.md, CLAUDE.md, copilot-instructions, and .cursor/rules/project-spine.mdc.
  • Every rule carries a source pointer back to brief.md#section0/item3.
  • spine drift check --fail-on any turns the contract into a CI gate.
04Positioning

Where Spine sits in the agent stack.

Spine is not another agent runner or task queue. It is the source of truth those agents should start from before they touch the repo.

CategoryWhat they doWhat Spine owns
Agent feedback toolsTurn UI review into coding-agent tasks.Compiles the project operating layer those agents should obey.
Rule librariesCollect reusable AI coding rules.Generates source-pointed rules from the actual brief, repo, template, and tokens.
Context-sharing CLIsExpose docs and tasks to agents.Writes durable repo files and hashes them so drift is enforceable in CI.
Agent orchestrationRun agents in parallel workspaces.Gives every agent the same deterministic project contract before work starts.
05Capabilities

Everything a real kickoff needs. Nothing you don't.

Public beta today — carrying the primitives agencies tell us they need on day one of a new client project.

01

Deterministic compile

Content-addressable spine.json. Same inputs, same hash. Reviewers can prove why every rule exists.

02

Drift-aware by construction

export-manifest.json plus spine drift check --fail-on any. A contract, not a comment.

03

Portable across agents

Claude Code, Cursor, Copilot, Codex, Aider. One brief, every agent file, zero re-briefing.

04

Design tokens first-class

DTCG or Tokens Studio JSON. Aliases resolve. Tokens drift tracked separately so Figma re-exports surface cleanly.

05

Agent skills shipped

Six SKILL.md files teach Claude Code, Codex CLI, and Cursor to drive Spine end-to-end. One-line install.

Hi, I'm Petri. Project Spine is a solo-maintainer project. I started it because my AGENTS.md files kept going stale the moment the brief moved, and no existing tool treated that as a real problem. If you try Spine and it breaks, or you disagree with a decision I made, email support@projectspine.dev. I read every message.

§ START

Ship your AGENTS.md
like it's code.

Free while in beta. MIT forever. Three commands and thirty seconds to compile your first brief into an audit-ready operating layer.