About
Built in the open, by a single maintainer.
Project Spine is a solo-maintainer beta project. I'm building it because the AGENTS.md files I kept handing coding agents went stale the moment the brief moved, and no existing tool treated that as a real problem.
The problem
Coding agents are now table stakes. Cursor, Claude Code, Copilot, and Codex read the project-root agent file and treat it as load-bearing instruction. In practice those files are generic boilerplate at worst and hand-written once-and-never-updated at best. Nobody tracks when they fall out of sync with the brief, the stack, or the design system. Agencies running 15 concurrent client projects feel this most. Every kickoff re-invents the same scaffold, and every re-kickoff quietly drifts.
The approach
Project Spine compiles a brief + repo + optional design tokens into a canonical, content-addressable spine.json. Every rule carries a source pointer so reviewers can audit why a rule exists. A drift check in CI fails the build when the generated files no longer match the inputs. The core CLI is deterministic and offline; network access is limited to explicit opt-in commands such as Figma token pull or LLM enrichment.
The maintainer
I'm Petri Lahdelma. Background in design systems and developer tooling. Project Spine is a one-person project right now; I use it on my own client work and iterate based on what I find. The code is open on GitHub and the thinking is in PRD.md.
If you try it and it breaks, or you disagree with a decision I made, email support@projectspine.dev. I read every message. For security issues, please use security@projectspine.dev per SECURITY.md.
What you won't find
- A corporate “we”.There is no team page pretending to be a team. One maintainer, honestly labelled.
- Fake testimonials or logos.When real users show up and consent to be quoted, they'll be here. Until then, the research citations on the homepage are what we have.
- Tracking.Google Analytics is loaded for aggregate site measurement. The CLI still runs offline for compile and drift, and repo contents are not uploaded by the public workflow. Check the site's CSP; it's documented.