The system
What Spruce is.
How is Spruce different from .cursorrules, .mdc files, or other AI rules?
Rules files are passive — they load context the AI consults while it generates. Spruce is a reasoning system invoked by command. Twenty-five commands across five tiers — setup, discovery, generative, diagnostic, corrective — each with its own reference file that loads only when the command runs.
The deeper difference is positioning. Rules tell the AI what to avoid. Spruce gives you a vocabulary to direct the work, grounds the work in who the product is for, and surfaces the calls a creative director would make.
Does my product need to use the meditation-app aesthetic?
No. The meditation app is the example threading the site together — every demo, every artifact references the same fictional product so the page reads as one coherent narrative. Your product calibrates to its own context. You describe what it is in
/spruce-up, and every Spruce command reasons against that context, not against the example.What’s .spruce.md, and where does it live?
A markdown file at the root of your project. It captures your product’s character — what it does, who uses it, what voice it speaks in, how dense it should feel.
/spruce-upcreates it through a five-minute interview; every other Spruce command reads it before reasoning about your work. The context evolves as the product does.The Discovery tier writes sibling context files alongside it when you ground the work in users —
.personas.md,.jtbd.md,.journeys.md,.scenarios.md. Downstream commands read whichever exist, so the foundation is.spruce.mdplus whatever Discovery artifacts you’ve captured. Discovery is optional; the loop reasons better with it in place.Can I customize the seven dimensions?
The dimensions themselves are fixed — Typography, Color, Spatial, Component, Motion, UX Writing, UX Patterns. They form the substrate Spruce reasons across. What you customize is how each dimension applies to your product, through the preferences captured in
.spruce.md.Imagery is on the roadmap as an eighth dimension — adding it touches the interview, the template, and the catalog, so it gets its own release rather than sliding in incrementally.
Using it
Working with Spruce.
Do I need user research to use the Discovery commands?
No — but if you have it, Spruce uses it. Every Discovery command (
/personas,/jtbd,/journey,/scenarios) runs in three modes calibrated to where your evidence lives:- Mode A — Draft from context. No research yet; Spruce drafts from
.spruce.mdand labels every claim as context-derived. - Mode B — Structure your research. You bring interview notes, survey data, usability findings; Spruce structures them into the artifact format. (See the next question for how this works in practice.)
- Mode C — Pressure-test a finished artifact. You already have a persona file, jobs map, or journey; Spruce reads it and challenges its assumptions.
Context-derived artifacts are labelled honestly so downstream commands know what to weight as a finding versus a structured assumption. The point is to ground design decisions in named users either way; research strengthens the artifact, but its absence doesn’t block the work.
- Mode A — Draft from context. No research yet; Spruce drafts from
How do I bring my own research into Spruce?
Run any Discovery command and pick Mode B when it asks. Spruce accepts research in whatever shape you have it — paste interview transcripts directly into the conversation, point at a research document in the project, attach survey results, describe usability findings in plain language. The command structures whatever you provide into the artifact format (
.personas.md,.jtbd.md, etc.) and labels each claim with its source.Confidence labels are the key mechanic. A persona attribute backed by interview data gets labelled research-grounded; one inferred from context gets labelled context-derived; one you know but couldn’t cite gets labelled assumed. Downstream commands (
/audit,/design,/critique) read these labels and weight findings accordingly — a research-grounded conflict gets surfaced as a real tradeoff; a context-derived one gets surfaced as a structured assumption to verify.Mixed sources are fine. Most projects have a primary persona with deep research and a secondary persona inferred from context — Spruce captures both honestly so the team knows what they actually know.
What’s the difference between /survey, /critique, /uxreview, /detect, and /audit?
Five review lenses, each with a different depth and a different question.
/detectis fast — a scan for named anti-patterns./surveyis comprehensive — findings with severity tiers and an action plan./uxreviewaudits the UX substrate specifically — IA, feedback, forms, state coverage./critiquespeaks at the level of feel — does the design have a point of view, does it hedge, is it expressing what it’s trying to express./auditis the HCD-grounded counterpart — the only diagnostic that frames findings against named personas and the jobs they’re hiring the product to do. Requires a.personas.mdand.jtbd.mdin place; without them, /audit recommends running/personasfirst rather than degrading to generic findings.For a fuller breakdown, see the catalog.
Which AI coding tools does it work with?
Spruce works in all five major AI coding tools today: Claude Code, Cursor, Codex CLI, VS Code (with GitHub Copilot), and Gemini CLI. The same
npx spruce-skill addcommand auto-detects which one you’re using and writes the right per-harness bundle. New tools that adopt the Anthropic Agent Skills spec should work via the existing install path with no Spruce changes — that architecture scaled cleanly across the rollout from Cursor to Gemini.
License & support
The basics.
Is it open source? What’s the license?
Apache 2.0. Source is on GitHub at iamlaforge/spruce. Read it, fork it, file issues, send pull requests.
How much does it cost?
Spruce itself is free under Apache 2.0. You pay for the AI tool you run it through (a Claude Code subscription, or eventually the equivalent for whichever harness you use). Spruce adds no additional cost on top of that.
Where do I report a bug or request a feature?
GitHub issues at iamlaforge/spruce/issues. Bug reports, feature requests, and direction-level questions all welcome — feedback shapes the roadmap.
Install
Ready to install?
One command, every major AI coding tool — Claude Code, Cursor, Codex CLI, VS Code (with GitHub Copilot), or Gemini CLI.
The catalog
See every command.
Nineteen commands across generative, diagnostic, and corrective tiers. Each with its own demo and reference.