Token导航 LogoToken导航TokenDH.com
Sdd Framework logo
开发工具stdio官方级别未说明来源级核验

Sdd Framework

MCP Server

SDD框架是一个AI辅助的规范驱动开发工具集,通过规范作为唯一真实来源来提升软件开发质量。适用于需要严格遵循规范的软件开发场景。

工具数

14

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude开发工具Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

francisco-coder-mx-ai

提供方

francisco-coder-mx-ai

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install git+https://gitlab.com/akercito/sdd-framework.git

详细介绍

SDD框架

规范驱动开发 -一种用于人工智能辅助软件开发的方法和工具集,其中规范是真理的来源。

![License](LICENSE) ![Python](https://python.org) ![GitLab CI](https://gitlab.com/akercito/sdd-framework/-/pipelines)

安装

通过GitLab的pip(推荐)

# Install latest version
pip install git+https://gitlab.com/akercito/sdd-framework.git

# Install specific version
pip install git+https://gitlab.com/akercito/sdd-framework.git@v1.7.0

# Install with MCP server support (Python 3.10+)
pip install "sdd-framework[mcp] @ git+https://gitlab.com/akercito/sdd-framework.git"

来自源头

git clone https://gitlab.com/akercito/sdd-framework.git
cd sdd-framework
pip install -e .

# With MCP support
pip install -e ".[mcp]"

什么是规范驱动开发?

Traditional:  Idea → Code → Tests → Docs (chaos)
SDD:          Spec → Tests → Code → Validate (order)

SDD合同:

  1. 没有SPEC的代码
  2. 未经测试不得实施
  3. 未经验证不得合并

主要特点

特性描述
规范模板API、模型和功能的一致标记模板
棉绒规格验证规范质量、结构和一致性的15条规则
依赖图可视化规格之间的关系(ASCII、HTML、Mermaid)
影响分析更改规格时显示级联效果
Wave执行基于拓扑排序的最优并行执行排序
任务分解将规范分解为可并行实现的任务
覆盖范围跟踪将要求映射到测试和实施
需求追溯跟踪规范中的要求→ 测试→ 全矩阵编码
孤立检测查找没有规范引用的代码
度量与记录执行跟踪和报告

快速开始

# Install the framework
pip install sdd-framework

# Initialize SDD in your project
cd /path/to/your/project
sdd init

# Create a new spec
sdd new-spec api users

# Validate all specs
sdd lint-all

# View dependency graph
sdd deps

# Generate task breakdown
sdd decompose specs/api/users.md

替代方案:直接使用脚本

# Clone the framework
git clone https://github.com/akercito/sdd-framework.git
cd sdd-framework

# Copy to your project
cp templates/scripts/sdd.py /path/to/your/project/
cp -r templates/specs /path/to/your/project/

# Use directly
python3 sdd.py init

项目结构

your-project/
├── sdd.py                  # Main SDD automation script
├── CLAUDE.md               # AI assistant instructions
├── specs/
│   ├── OVERVIEW.md         # Project overview spec
│   ├── api/                # API endpoint specs
│   ├── models/             # Data model specs
│   ├── features/           # Feature/business logic specs
│   ├── tasks/              # Task breakdown files
│   └── _templates/         # Spec templates
└── .sdd/
    ├── state.json          # Execution state
    ├── metrics.json        # Performance metrics
    ├── logs/               # Execution logs
    └── reports/            # Generated reports (HTML graphs, coverage)

壳牌完井

为sdd命令启用选项卡完成:

Bash (添加到 ~/.bashrc):

eval "$(sdd completion bash)"

原有的质量 (添加到 ~/.zshrc):

eval "$(sdd completion zsh)"

(保存到 ~/.config/fish/completions/sdd.fish):

sdd completion fish > ~/.config/fish/completions/sdd.fish

特征:

  • 命令名称完成
  • 每个命令的选项完成
  • 规范文件的文件路径完成
  • 规格类型完成 new-spec (模型、api、功能、任务)

命令参考

规格管理

命令描述
init在当前目录中初始化SDD
new-spec 从模板创建规范(api/模型/功能)
validate-spec 验证单个规范结构
validate-all验证所有规格

棉绒规格

命令描述
lint 针对质量问题制定单一规范
lint-all用摘要报告浏览所有规格
lint-all --verbose显示所有规格的所有问题

相关性分析

命令描述
deps显示ASCII依赖关系图
deps --html生成交互式HTML可视化
deps --mermaid输出Mermaid图语法
deps --json输出JSON以供编程使用
impact 分析更改规范的影响
waves通过波形显示最佳执行顺序

需求追溯

命令描述
trace 跟踪从规范到测试和实施的需求
trace --html生成交互式HTML可追溯性报告
trace --json输出JSON以供编程使用
trace --md输出标记表格式
trace-all用摘要跟踪项目中的所有规格
trace-all --html生成项目范围内的HTML可追溯性报告
orphans查找没有规范可追溯性的代码文件

代码生成

命令描述
decompose 生成任务分解文件
auto-execute 全自动执行
auto-execute --dry-run预览而不生成
generate-tests 生成测试提示
generate-impl 生成实施提示

验证和覆盖

命令描述
coverage显示规范到代码的覆盖率
full-check全面项目验证
status显示项目状态
logs查看执行日志
report生成或查看执行报告

CI/CD集成

命令描述
ci-check运行所有CI检查(lint、deps、trace、孤儿)
ci-check --lint-threshold 80设置最小皮棉分数
ci-check --coverage-threshold 90设置最小覆盖范围
ci-check --jsonCI系统的JSON输出
ci-check --junit以JUnitXML格式输出给测试报告器
ci-setup生成CI/CD配置文件
ci-setup --platform github仅限GitHub操作
ci-setup --platform gitlab仅限GitLab CI
ci-setup --pre-commit包括预提交挂钩

观看模式

命令描述
watch观察规格变化并自动验证
watch --lint-only仅运行棉绒检查
watch --deps-only仅运行依赖性检查
watch --trace-only仅运行可追溯性检查
watch --no-lint禁用棉绒检查
watch --open自动打开故障HTML报告
watch --debounce 1000设置去抖动时间(ms)
watch --poll强制轮询而不是本地观看
watch --no-clear更改时不清除屏幕

全球旗帜

标志描述
--ci启用CI模式(从CI环境变量自动检测)
--no-color禁用彩色输出
--quiet最小输出(仅错误和警告)

棉绒规格

门楣根据15条质量规则检查规格:

规则类别描述
SPEC-001结构缺少必需的部分
SPEC-002结构空段
SPEC-003语言歧义词(可能、可能、也许)
SPEC-004要求不带ID的要求
SPEC-005完成缺少验收标准
SPEC-006参考文献损坏的规范参考文献
SPEC-007示例缺少示例部分
SPEC-008元数据版本格式无效
SPEC-009空表或格式错误的表
SPEC-010需求重复的需求ID
SPEC-011可追溯性无REQ参考的验收标准
SPEC-012边缘案例缺少边缘案例文档
SPEC-013错误缺少错误处理文档
SPEC-014元数据过时的更改日志
SPEC-015一致性术语不一致

输出示例:

============================================================
SPEC LINT REPORT
============================================================

Spec: specs/api/users.md
Score: 84/100
Status: ✅ PASSED

Issues (2):
├── SPEC-003: warning - Line 45: Ambiguous word 'should'
└── SPEC-012: info - Consider documenting edge cases

Suggestions:
└── Add ## Edge Cases section

依赖图

分析和可视化规格关系:

# ASCII visualization (default)
python3 sdd.py deps
┌─ API SPECS ─────────────────────
│
├── users
│   ├─ Requirements: 6
│   ├─ Depends on: 1 specs
│   │   → user (model)
│   └─ Referenced by: 2 specs

EXECUTION ORDER (by wave):
  Wave 1: user, config
  Wave 2: users, auth
  Wave 3: api-gateway
# Interactive HTML with Mermaid diagrams
python3 sdd.py deps --html
# Saves to: .sdd/reports/dependency-graph.html

影响分析

在更改规范之前了解波纹效应:

python3 sdd.py impact specs/models/user.md
============================================================
IMPACT ANALYSIS
============================================================

Spec: user.md
Risk Level: HIGH
Total Affected: 5 specs

Direct Dependents:
├── users.md (API)
└── authentication.md (feature)

All Affected (cascade):
├── users.md
├── authentication.md
├── registration.md
├── admin-api.md
└── user-service.md

⚠️  HIGH RISK: Many specs depend on this

基于波动的执行

获得最佳并行执行顺序:

python3 sdd.py waves
============================================================
EXECUTION WAVES
============================================================

Total Specs: 8
Total Waves: 3
Max Parallelism: 4 specs

Wave 1 (4 parallel):
  • user-model
  • config
  • errors
  • constants

Wave 2 (3 parallel):
  • user-service
  • auth-service
  • logger

Wave 3 (1 serial):
  • api-gateway

✓ No circular dependencies

需求追溯

跟踪从规范到测试再到实施的要求:

# Trace a single spec
python3 sdd.py trace specs/api/users.md
============================================================
REQUIREMENT TRACEABILITY: users.md
============================================================

Summary:
   Total Requirements: 6
   Fully Traced: 6 (100.0%)
   Has Tests: 6 (100.0%)
   Has Implementation: 6 (100.0%)

Requirements:
┌─────────┬──────────────────────────────┬──────────┬────────────┬───────┬──────┐
│ ID      │ Description                  │ Priority │ Status     │ Tests │ Impl │
├─────────┼──────────────────────────────┼──────────┼────────────┼───────┼──────┤
│ REQ-001 │ POST /api/users creates user │ Must     │ ✅ complete │ 3     │ 2    │
│ REQ-002 │ GET /api/users/:id returns   │ Must     │ ✅ complete │ 2     │ 1    │
│ REQ-003 │ PUT /api/users/:id updates   │ Should   │ ⚠️ missing_test │ 0  │ 1    │
└─────────┴──────────────────────────────┴──────────┴────────────┴───────┴──────┘
# Generate HTML report
python3 sdd.py trace specs/api/users.md --html
# Saves to: .sdd/reports/trace-users.html
# Trace all specs in project
python3 sdd.py trace-all
======================================================================
PROJECT REQUIREMENT TRACEABILITY
======================================================================

📊 Summary:
   Specs analyzed: 5
   Total requirements: 44
   Fully traced: 44 (100.0%)
   Has tests: 44 (100.0%)
   Has implementation: 44 (100.0%)

✅ OVERVIEW.md - 9/9 traced (100.0%)
✅ analytics.md - 11/11 traced (100.0%)
✅ short-url.md - 7/7 traced (100.0%)
✅ urls.md - 6/6 traced (100.0%)

Overall Health: 🟢 Healthy (100.0% average coverage)
======================================================================
# Find orphan code (no spec references)
python3 sdd.py orphans
============================================================
ORPHAN CODE DETECTION
============================================================

⚠️  Found orphan code files:

Tests without spec references:
├── tests/unit/utils.test.ts
│   └── Lines: 15, 42, 78
└── tests/e2e/helpers.test.ts
    └── Lines: 23

Source without spec references:
├── src/utils/helpers.ts
│   └── Lines: 10, 45
└── src/services/legacy.ts
    └── Lines: 8, 22, 56

Suggestion: Add @spec annotations to link to relevant specs
============================================================

注释格式

跟踪器识别这些注释格式:

在测试文件中:

/**
 * @spec specs/api/users.md
 * @requirement REQ-001
 */
describe('User creation', () => { ... });

// Or in describe names
describe('REQ-001: User creation works', () => { ... });

在实施文件中:

/**
 * @implements REQ-001
 * @spec specs/api/users.md
 */
export function createUser() { ... }

CI/CD集成

为您的CI/CD管道设置自动质量门。

快速设置

# Generate CI configuration files
python3 sdd.py ci-setup --platform both --pre-commit

这将创建:

  • .github/workflows/sdd-check.yml -GitHub操作工作流
  • .gitlab-ci-sdd.yml -GitLab CI配置
  • .pre-commit-config.yaml -预提交挂钩

运行CI检查

# Run all checks
python3 sdd.py ci-check

# With custom thresholds
python3 sdd.py ci-check --lint-threshold 80 --coverage-threshold 90

# JSON output for CI systems
python3 sdd.py ci-check --json

# JUnit XML for test reporters
python3 sdd.py ci-check --junit

退出代码

代码名称描述
0成功所有检查均已通过
1一般错误意外错误
2LINT_FAILED规格皮棉得分低于阈值
3COVERAGE_BELOW_THRESHOLD可追溯性覆盖率太低
4循环依赖检测到循环依赖
5SPEC_INVALID规范格式无效
6ORPHAN_CODE_FOUND没有规范参考的代码

环境变量

变量描述
CI设置后自动启用CI模式
SDD_LINT_THRESHOLD默认皮棉阈值(70)
SDD_COVERAGE_THRESHOLD默认覆盖阈值(80)
NO_COLOR禁用彩色输出
SDD_QUIET最小输出

GitHub操作示例

- name: Run SDD Checks
  run: python3 sdd.py ci-check --lint-threshold 70 --coverage-threshold 80

GitLab CI示例

include: '.gitlab-ci-sdd.yml'

variables:
  SDD_LINT_THRESHOLD: "80"
  SDD_COVERAGE_THRESHOLD: "90"

观看模式

实时监控规格文件,并自动验证更改:

# Start watch mode (all checks)
python3 sdd.py watch

# Watch with specific checks only
python3 sdd.py watch --lint-only
python3 sdd.py watch --deps-only
python3 sdd.py watch --trace-only

# Disable specific checks
python3 sdd.py watch --no-lint --no-deps

# Auto-open HTML reports on failures
python3 sdd.py watch --open

# Custom debounce interval
python3 sdd.py watch --debounce 1000

# Force polling (instead of native file watching)
python3 sdd.py watch --poll

# Don't clear screen on changes
python3 sdd.py watch --no-clear

监视模式输出:

============================================================
  SDD WATCH MODE
============================================================

  Watching: /path/to/specs
  Checks: lint, deps, trace
  Debounce: 500ms

  Press Ctrl+C to stop

------------------------------------------------------------

[12:34:56] Changes detected:
  • OVERVIEW.md
  • users.md

Results: (took 125ms)

  ✅ Lint: score 85/100
  ✅ Dependencies: OK
  ✅ Traceability: 95.5% coverage

------------------------------------------------------------
  ✅ ALL CHECKS PASSED
------------------------------------------------------------

  Watching for changes...

规范格式

每个规范都遵循以下结构:

# [Name] Specification

> Spec ID: `TYPE-001`
> Version: 1.0.0
> Status: Draft | Approved | Implemented

## Overview
Brief description of what this spec defines.

## Requirements
| ID | Requirement | Priority |
|----|-------------|----------|
| REQ-001 | Description | Must/Should/Could |

## Schema/Interface
Data structures with types.

## Behavior
Expected behavior for normal and edge cases.

## Error Handling
How errors are handled.

## Examples
Concrete input/output examples.

## Acceptance Criteria
- [ ] REQ-001: Checklist item
- [ ] REQ-002: Another item

## Changelog
| Version | Date | Changes |
|---------|------|---------|
| 1.0.0 | 2025-01-09 | Initial |

与Claude Code集成

CLAUDE.md 文件指示AI助手:

  1. 先检查规格 -在实施之前验证规范是否存在
  2. 先生成测试 -在代码之前创建测试(TDD)
  3. 严格遵循规格 -实现与规范完全匹配
  4. 添加可追溯性 -将代码链接到要求
  5. 运行验证 -完工前进行全面检查

用于AI集成的MCP服务器

SDD框架包括一个MCP(模型上下文协议)服务器,该服务器公开了所有SDD工具,供Claude和其他AI助手使用。

快速设置

# Install dependencies
pip install mcp pydantic

# Configure Claude Code (~/.config/claude-code/settings.json):
{
  "mcpServers": {
    "sdd": {
      "command": "python3",
      "args": ["/path/to/sdd-framework/mcp-server/sdd_mcp_server.py"]
    }
  }
}

可用的MCP工具

工具说明
sdd_init在项目中初始化SDD
sdd_status获取项目状态
sdd_new_spec从模板创建规范
sdd_lintLint单一规格
sdd_lint_all浏览所有规格
sdd_deps显示依赖关系图
sdd_waves计算执行波
sdd_impact分析变更影响
sdd_trace跟踪要求
sdd_decompose将规范分解为任务
sdd_generate_tests生成测试提示
sdd_generate_impl生成实施提示
sdd_ci_check运行CI检查
sdd_validate验证实施

mcp服务器/README.md 详细文档。

工作流示例

# 1. Create spec
python3 sdd.py new-spec api orders

# 2. Edit with your requirements
vim specs/api/orders.md

# 3. Lint the spec
python3 sdd.py lint specs/api/orders.md

# 4. Check impact
python3 sdd.py impact specs/api/orders.md

# 5. Check execution order
python3 sdd.py waves

# 6. Generate tasks for parallel execution
python3 sdd.py decompose specs/api/orders.md

# 7. Auto-execute with Claude Code
python3 sdd.py auto-execute specs/api/orders.md

# 8. Verify coverage
python3 sdd.py coverage

文档

配置

创建 sdd.config.json 在您的项目中:

{
  "validation": {
    "requireSpecForCode": true,
    "requireTestsBeforeImpl": true,
    "coverageThreshold": 80,
    "strictMode": true
  },
  "linting": {
    "errorOnWarning": false,
    "minScore": 70
  },
  "testing": {
    "runner": "pytest",
    "patterns": ["tests/**/*.py", "test_*.py"]
  }
}

测试转轮自动检测

SDD会根据项目文件自动检测您的测试运行器:

文件存在已使用运行程序
package.json npm (是)
pytest.ini / pyproject.tomlpytest
go.mod去测试
Cargo.toml货物检验

覆盖 testing.runner 在配置中。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 编写新功能的规格(SDD也适用于此!)
  4. 提交拉取请求

许可证

MIT许可证

更新日志

版本日期更改
1.7.02026-01-09Shell完成(bash/zsh/fish),可安装包,GitLab CI/CD管道,线程安全MCP服务器
1.6.12026-01-09URL缩短器E2E集成测试(11个阶段,56次检查)
1.6.02026-01-09添加了用于Claude集成的MCP服务器(14个工具),结构化的Pydantic响应
1.5.12026-01-09修复状态损坏、配置处理、并发操作的错误
1.5.02026-01-09已添加 init 命令、可配置的测试运行器(npm/pytest/go/cargo)、全面的回归测试
1.4.02026-01-09添加了具有实时规格监控的监视模式、具有轮询回退的文件监视、取消抖动
1.3.02026-01-09添加了CI/CD集成工具包(CI检查、CI设置)、GitHub/GitLab模板、预提交挂钩
1.2.02026-01-09增加了需求可追溯性矩阵(跟踪、全部跟踪、孤立),多格式输出
1.1.02025-01-09增加了规范linting(15条规则)、依赖图、影响分析、波动执行
1.0.02025-01-09具有任务分解、自动执行、覆盖率跟踪的初始版本

更改日志.md 查看详细的发行说明。

______________________________________________________________________

记住:规范是真理的来源。如有疑问,请阅读说明书。

目录标签

目录标签

PythonClaude开发工具规范驱动开发本地部署AI辅助开发软件开发工具规范验证需求追踪

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP