VS Code Extension

The Right Amount of Spec

Just enough spec. Never too much.
Adaptive ceremony for specification-driven development.

Free and open source. No AI dependency. No backend. No lock-in.

"Kiro generated 16 acceptance criteria for a simple bug fix." -- Observed by Martin Fowler on current SDD tooling

Every SDD tool today applies uniform ceremony regardless of change size. Developers try specification-driven development, hit overhead on trivial changes, and abandon it.

MinSpec solves this by classifying change complexity and applying proportional ceremony. A typo fix gets one sentence. An architecture change gets the full treatment.

Built for developers who ship

MinSpec integrates into your existing workflow. No new tools to learn, no context switching, no overhead on simple changes.

Complexity-Adaptive

Classifies changes into four tiers using git diff analysis and AST inspection. T1 tasks need one sentence of spec. T4 gets full architecture docs.

No AI Dependency

Works with zero AI tools installed. Pure local analysis of your codebase using git history and syntax trees. No API keys, no cloud services.

Offline Core, Opt-in Integrations

The extension binary makes no network calls — no telemetry, no analytics, no accounts, no backend. Three opt-in commands (Park Topic, Quick Triage, Refresh Backlog) shell out to your local gh CLI under your own GitHub auth, and only when you invoke them. If gh isn’t installed they fall back to local files. Your code never leaves your machine.

No Lock-In

Spec files are standard markdown with optional frontmatter. Spec Kit compatible. Switch tools anytime — your specs stay useful.

VS Code Native

Tree view for spec navigation, status bar indicators, command palette integration. Feels like a built-in feature, not a bolted-on tool.

Harness Generation

Generates test harnesses, acceptance criteria, and implementation scaffolds from your specs. Regeneration merges — never overwrites your edits.

Ceremony proportional to complexity

MinSpec classifies every change and selects the right SDD phases. You always have override control.

T1
Trivial
Fix a typo, update a constant, tweak CSS. Single file, under 50 lines.
specify one-liner
Skip clarify, plan, constitution
T2
Standard
Add validation, refactor a function, fix a bug. 2–5 files, under 200 lines.
specify requirements list
plan approach sentence
T3
Complex
New feature, DB migration, new package. 6+ files or new public APIs.
specify full requirements + acceptance criteria
clarify required · plan design doc
T4
Architectural
New service, auth rewrite, breaking API change. Cross-project impact.
specify full + cross-system impact
clarify + stakeholder review
plan design + ADR · tasks DAG + milestones

Mostly SDD. A little CDD. A few borrowed habits.

MinSpec is built on Spec-Driven Development as the spine, with a thin layer of Contract-Driven Development for testing discipline. A handful of accepted best practices — ADR, WSJF, GTD-style session scoping — get borrowed where they pay rent. Nothing exotic. No new framework to learn.

Methodology stack: SDD core lifecycle (Constitution, Specify, Clarify, Plan, Tasks, Analyze, Implement) with CDD applied across as a cross-cutting layer, and Tier Classifier, ADR, WSJF, GTD-style sessions, and RCDD (Root-Cause-Driven Debugging) as satellite practices

SDD

~70%

The spine. Constitution → Specify → Clarify → Plan → Tasks → Analyze → Implement.

Source: GitHub Spec Kit (canonical SDD)

Tier Classifier

MinSpec

T1–T4 complexity scoring decides which phases run. The differentiator no other SDD tool has.

Source: MinSpec's own invention

CDD

~15%

Contract-Driven Development layer: T0–T4 test tiers, TypeScript/Zod contracts, file allowlists for agent tasks.

Source: industry CDD practice

ADR

borrow

Architecture Decision Records as DR-NNN.md files. Captures the "why" behind technical choices.

Source: Michael Nygard, 2011

WSJF

borrow

Weighted Shortest Job First scoring for backlog prioritization. Cost of Delay ÷ Job Duration.

Source: SAFe / Don Reinertsen

GTD-style sessions

borrow

Mandatory scope declaration + topic-drift parking lot → GitHub issues. Keeps work focused.

Source: GTD / focused-work discipline

RCDD

MinSpec

Root-Cause-Driven Debugging. Reproduce → Diagnose → Fix → Harden. Root cause before fix, regression test before merge.

Source: MinSpec's own (DR-003)

Tiered Network Consent

orthogonal

Tier 0 fully offline, Tier 1 delegates to local CLIs, Tier 2 (Pro) opts into network with consent.

Source: MinSpec privacy stance (DR-004)

Methodology questions, answered straight

Is MinSpec a Spec Kit clone?

No. MinSpec implements the same SDD methodology that GitHub Spec Kit popularized, but adds an adaptive ceremony layer driven by a T1–T4 complexity classifier. Spec Kit applies the full lifecycle to every change. MinSpec asks: does this trivial fix really need a Plan document?

Spec files are intentionally Spec Kit-compatible — unknown frontmatter fields are ignored by both tools. You can move between them.

What is SDD, in one paragraph?

Spec-Driven Development is the practice of writing the specification before the implementation, then driving the implementation (often by AI agents) from that spec. Canonical SDD has seven phases: constitution → specify → clarify → plan → tasks → analyze → implement. Each phase produces a markdown artifact. The artifacts form a traceable chain from intent to code.

What is CDD and why layer it on top of SDD?

Contract-Driven Development pushes you to write contracts (TypeScript types, Zod schemas, OpenAPI specs) and invariant tests before implementation. SDD tells you what to build. CDD tells you what shape the output must satisfy.

The two compose well: SDD's plan phase is the natural place to write contracts, and CDD's T0 invariant tests give SDD's tasks something concrete to verify against. Spec Kit doesn't include CDD; MinSpec adds it as a thin layer because AI agents need contracts to avoid drift.

Why mix in ADR, WSJF, and GTD instead of staying pure SDD?

Because pure SDD doesn't answer some practical questions:

  • ADR answers "why did we choose this approach?" — useful even mid-spec.
  • WSJF answers "which spec do I work on next?" — SDD is silent on backlog order.
  • GTD-style session scope answers "what counts as drift?" — needed for AI agents that wander.

None of these are full methodologies in MinSpec — they're small, well-known patterns plugged in where SDD has gaps. You can ignore any of them and MinSpec still works.

Does MinSpec replace my agile / kanban / scrum process?

No. MinSpec is a development methodology tool — how you take one change from intent to merged code. It doesn't tell you how to run standups, plan sprints, or estimate stories. The WSJF scoring is for ordering MinSpec's own backlog of specs, not your team's overall workflow.

Why RCDD as a separate lifecycle from SDD?

SDD assumes you're building a feature — you know roughly what you want, you write a spec, you implement. Bug fixes invert this: you don't know what's wrong, you have to find the root cause first, and a written "spec" before diagnosis is just guessing.

RCDD — Root-Cause-Driven Debugging (Reproduce → Diagnose → Fix → Harden) is MinSpec's separate, lighter lifecycle that respects this. Bug work is roughly half of developer time and shouldn't be forced through a feature-shaped process. RCDD's differentiator is the final Harden phase — close the contract or test gap that let the bug in, not just patch the symptom.

Do I need to know all these methodologies to use MinSpec?

No. Open VS Code, install the extension, run MinSpec: Init. The classifier suggests tiers, the lifecycle UI shows which phase you're in, the templates fill in the boilerplate. You'll absorb the underlying SDD/CDD ideas by using them.

This FAQ exists for the curious developer who wants to know what's under the hood — not as required reading.

Can I disable phases or override the tier the classifier picks?

Yes. User override always wins is a hard invariant. The classifier suggests a tier; you click to change it. Phases are never mandatory — MinSpec warns when you skip something the rules say you should keep, but it doesn't block. The methodology is a recommendation engine, not a gate.

Opinionated where it matters

The design constraints that keep MinSpec useful instead of just another tool to configure.

User Override Wins

The classifier suggests a tier. You decide. Escalate or skip phases freely. MinSpec warns but never blocks.

Merge, Never Overwrite

Regenerating harness files preserves your edits. Templates provide structure; your content is sacred.

Standard Formats

Specs are markdown. Tasks are markdown. No proprietary formats, no binary blobs. Works with any editor, any VCS.

We eat our own dog food

With a smile, even. Every shipped feature gets tested on its harshest critic first — the developer himself. This whole project was specified, classified, and shipped using MinSpec itself.

“MinSpec adds the missing layer of rigour that caused my first big AI project to fail — a 346k-line behemoth, >85% unit test coverage, every conceivable integration test, but four days of bug-fixing for every one day of new functionality.” Paul Harvey, founder
A cheerful developer happily eating from a bowl labelled DOG FOOD with a spoon

Stop over-specifying trivial changes

Install MinSpec and let the right amount of ceremony happen automatically.

Install from VS Code Marketplace (Coming Soon)