DeepSHPlugins
spec-driven 项目预览
GITHUB / COMMUNITY PROJECT

spec-driven

工具与集成TypeScriptMIT

规格驱动开发纪律技能包(keel):五个技能(锚定/立规/探针/建造/审计)、三个审查工具与六个规格模板,强制先规格后代码、假设先行验证并约束范围蔓延。

3 StarsJohnXu22786 更新时间 2026-08-16
访问 GitHub 仓库
spec-driven 项目预览

项目介绍

中文

规格驱动开发纪律技能包(keel):五个技能(锚定/立规/探针/建造/审计)、三个审查工具与六个规格模板,强制先规格后代码、假设先行验证并约束范围蔓延。

English

Spec-driven development discipline for dsh: five keel skills (anchor/spec/probe/build/audit), three review tools and six spec templates enforce specs-before-code, assumption verification and scope control.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
JohnXu22786
仓库
JohnXu22786/spec-driven
GitHub Stars
3
Forks
0
开发语言
TypeScript
许可证
MIT
最近推送
2026-08-16
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

57/ 100
维护活跃
82
文档与实用信息
85
生态关注度
17
安装便捷信号
100
项目声明信号
100

README 含完整安装与使用说明;关注度尚低(3);标准命令一键安装。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:JohnXu22786/spec-driven

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

简体中文

keel — Spec-Driven Development Discipline Skill Pack

Write the spec first, then the code. Turn "don't ship it broken" from a slogan into skills, tooling, and gates.

keel is a self-contained pluginized skill pack: five skills (Anchor → Spec → Probe → Build → Audit) constrain the agent's coding behavior, three tools provide spec generation and discipline review, and template variants adapt to task size. It works with plugin-everything harnesses such as dsh (DeepSeek Harness), and can also be used standalone without a harness.

Why you need it

The three main causes of coding failure:

  1. Missing spec — you start with vague requirements, and wrong implementation direction costs the most rework;
  2. Unverified assumptions — treating "I assumed" as "it's a fact" builds the plan on quicksand;
  3. Engineering out of control — doing too much (over-engineering) or drifting (scope creep).

keel's response: write the spec and verify assumptions first; no implementation until the spec passes the gates. During implementation, use the rules to prevent over-engineering and change requests to prevent scope creep. Before delivery, audit each acceptance criterion one by one. Discipline is enforced through skills/prompts that constrain agent behavior and through tools that provide deterministic checks — it does not rely on human self-discipline.

Five-step discipline loop

StepSkillActionArtifactGate
1 Anchorkeel-anchorThree boundary questions: what to do, what not to do, what success looks likeThree sentencesAll three sentences verifiable
2 Speckeel-specPick a template by size and generate the specSPEC.mdkeel_review zero errors
3 Probekeel-probeRegister assumptions, flag risks, verify high-risk ones firstASSUMPTIONS.mdAll [High] assumptions resolved (enforced by KEEL-0303)
4 Buildkeel-buildImplement per the spec, follow the ten rules and the scope guardrailsCodeSpec frozen, changes go through change requests
5 Auditkeel-auditCheck acceptance criteria one by one, record deviations and retroAUDIT.mdNo unaddressed ❌ (enforced by KEEL-0403)

Failure post-mortems follow the same discipline: write a failure-cause spec first, verify assumptions, then fix.

Quick start

Option 1: Plug into dsh (pluginized harness)

  1. Put this directory into your project, or copy it anywhere;
  2. Create a cordis.yml patch (you can copy cordis.example.yml from the repo root) pointing to this plugin's entry:
- insert:
    - id: keel
      name: '/absolute/path/spec-driven/src/index.ts'
  1. Start the harness and load the patch:
dsh web --patch ./cordis.yml

Once loaded, the model gains three tools (keel_catalog, keel_spec, keel_review) and five skills (keel-anchor, keel-spec, keel-probe, keel-build, keel-audit). See docs/INTEGRATION.md for details.

Option 2: Bare-metal CLI (no harness)

node src/cli.ts catalog
node src/cli.ts scaffold spec SPEC.md "--title=Example" "--goal=Goal" "--in_scope=- behavior" "--out_of_scope=- not doing" "--requirements=- R-01" "--acceptance=- AC-01" "--verification=command"
node src/cli.ts review SPEC.md

Values containing spaces must be quoted (as above). review exits with code 0 when there are no errors (usable as a CI gate) and 1 when errors exist. Zero dependencies; runs directly on Node ≥ 22.18.

Installing in DSH

keel ships a dsh.bundle manifest (cordis.patch.yml, referenced from package.json), so it installs and activates in one command:

dsh plugin --profile demo add github:JohnXu22786/spec-driven

The bundler inserts a plugin row (name: keel) into the profile and dsh resolves the package entry (src/index.ts), registering the three tools and five skills on load. Manual local loading via a cordis.yml patch still works (see docs/INTEGRATION.md).

Tool interface

ToolPurpose
keel_catalogList the skills and templates (routing entry)
keel_specGenerate spec-class files from a template (template/path/fields args; rejects the whole call if any field is missing)
keel_reviewReview SPEC/ASSUMPTIONS/AUDIT files; outputs a report with rule IDs and line numbers

Spec templates (with variants)

TemplateSizeUse
spec.minimalMicro taskSingle file, single behavior, done in under half an hour
specStandardRegular feature tasks
spec.featureLarge taskInvolves interfaces, data, and error paths
assumptions—Assumption register (risk levels + verification conclusions)
audit—Acceptance audit table (result + evidence + deviation + retro)
change-request—Change request (the only entry for scope changes after the spec is frozen)

Configuration

Passed via the config field of the host patch line (defaults are used without a harness):

{
  "strictness": "relaxed",        // relaxed | strict (strict upgrades warnings to errors)
  "requireAssumptions": true,     // require an ASSUMPTIONS*.md file in the same directory when reviewing a spec
  "maxFindings": 100              // cap on findings per review report (1–1000)
}

Invalid configuration fails at load time with a message containing fix guidance.

Documentation index

  • docs/METHODOLOGY.md — methodology overview: five-step discipline loop, the ten rules against over-engineering, scope-creep guardrails, review rule list (KEEL-*)
  • docs/INTEGRATION.md — dsh integration: loading, registration interface, the three ways to load skills, unload and reload
  • docs/PLANNING_BRIDGE.md — bridging to planning/task-breakdown skills: how spec artifacts feed into planning
  • examples/ — good examples (spec/assumptions/audit) and counter-examples (demonstrating the review engine's findings)

Development

npm test          # node --test all tests (zero test dependencies)
npm run typecheck # tsc --noEmit
npm run cli       # bare CLI

Running tests and type checks requires Node ≥ 22.18; npm install only installs dev-time type packages (typescript, @types/node); zero runtime dependencies.

License

MIT, see LICENSE.

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目