Spec-driven development is the practice of writing documentation and specifications before writing code, then directing AI agents to implement strictly from those specifications. Rather than prompting an AI with ad-hoc instructions and hoping for consistent output, every implementation decision is grounded in a written artifact that the team has already reviewed and agreed upon. Specboot installs a ready-to-use scaffold — centered onDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/LIDR-academy/lidr-specboot/llms.txt
Use this file to discover all available pages before exploring further.
docs/base-standards.md — that wires this discipline into your project from day one.
The Problem with Ad-Hoc AI Prompting
When developers interact with AI coding assistants without a shared standards document, several failure modes emerge reliably:- Inconsistent output: The same AI tool produces different code patterns on different days because the context it receives changes with each prompt.
- Forgotten context: Project-specific rules (naming conventions, test coverage targets, architectural constraints) must be re-stated in every prompt or silently dropped.
- No shared standards: Team members using different AI tools — Claude, Cursor, GitHub Copilot, Gemini — end up with AI assistants following entirely different implicit rules, creating divergent codebases.
- Documentation drift: Code gets written and merged, but specs are never created or updated. Over time no one knows why a design decision was made.
How Specboot Enforces the Pattern
Specboot’s central mechanism isdocs/base-standards.md — a single Markdown file that every AI agent in your project is configured to load before doing any work. It is the undivided source of truth for:
- Core development principles (TDD, type safety, incremental changes)
- Language standards (English-only for all technical artifacts)
- Pointers to domain-specific standards for backend, frontend, and documentation
- Workflow rules for OpenSpec integration
- Symlink integrity requirements for multi-agent portability
CLAUDE.md, AGENTS.md, codex.md, GEMINI.md) is a symlink to docs/base-standards.md, updating one file propagates the change to every AI tool simultaneously. There is no synchronization problem because there is no duplication.
Key Principles from base-standards.md
The following principles are defined indocs/base-standards.md Section 1 and applied by every agent that loads the file:
| Principle | Rule |
|---|---|
| Small tasks, one at a time | Always work in baby steps; never advance more than one step |
| Test-Driven Development | Write failing tests before writing any new functionality |
| Type safety | All code must be fully typed (TypeScript by default) |
| Clear naming | Descriptive names for all variables and functions |
| Incremental changes | Prefer focused, reviewable modifications over large refactors |
| Question assumptions | Always surface and challenge inferences before acting |
| Pattern detection | Detect and highlight repeated code patterns |
base-standards.md carries alwaysApply: true in its frontmatter, every supported agent treats them as mandatory context for every session.
The Mandatory Update Cycle
The most important enforcement mechanism in spec-driven development is the rule governing what happens after work has started.Section 7 of base-standards.md — Mandatory OpenSpec Artifact Updates for Post-Apply ChangesWhen a new fix or change request arrives after
/apply has run but before /archive completes, agents must treat it as a spec update first, not as an informal “fix this quickly.” The required order is:- Update the affected OpenSpec change artifacts (scenarios, requirements/specs,
tasks.md) — reflecting the new request as part of the original design, not as a tagged bugfix. - If artifact regeneration is needed, run the corresponding OpenSpec step (
opsx:continue,opsx:ff, or equivalent) before writing any code. - Implement code only after artifacts reflect the new request.
- Re-run verification against the updated artifacts before archiving.
The OpenSpec Command Flow
Specboot is designed to work alongside OpenSpec, a spec-driven development framework that provides a command-based workflow for planning and implementing changes. The integration enforces spec-first thinking at every stage:/enrich-us(optional) — Refine a vague user story or idea into an implementation-ready ticket with acceptance criteria, technical detail, and edge cases. Runs before any planning artifacts are created./ff— Create all required OpenSpec artifacts for the change: feature file, tasks, scenarios. No code is written yet./apply— Implement tasks one by one, strictly from the artifacts created in/ff. Each task is a focused unit of work./verify— Validate the implementation against the change artifacts. The spec, not developer memory, is the acceptance criterion./adversarial-review— Independent red-team code review before archiving./archive— Archive the completed change, preserving the full artifact trail./commit— Create focused, conventional commits and manage the Pull Request after verification.
/apply without having written the specification in /ff, and the Section 7 rule means that any mid-flight change request re-enters the flow at the top.
Benefits
Adopting spec-driven development through Specboot produces three categories of durable benefits: Consistent output. Because every agent reads the samebase-standards.md on every session, the code an AI produces on a Monday is consistent with what it produces on a Friday, and what one team member’s Claude produces matches what another’s Cursor produces.
Maintainable codebase. TDD, type safety, and incremental-change rules are applied automatically, not aspirationally. The codebase reflects the standards because the standards are loaded as mandatory context, not posted on a wiki page no one reads.
Knowledge preservation. Standards and decisions are documented in version-controlled files, not locked inside any individual’s head or lost in chat history. New team members — and new AI agents — read the same documents and inherit the same context. The project’s accumulated knowledge compounds rather than evaporating with team turnover.