名称: 宪法 描述: “为Spec Kit工作流创建或更新项目宪法文件(.constitution.md)。” 参数提示: “[–init | --update | --validate]” 允许工具: Read, Glob, Grep, Write, Edit, Skill
项目宪法
为Spec Kit工作流创建、更新或验证项目宪法文件。
什么是宪法?
宪法(.constitution.md)定义了项目原则、约束和标准,指导所有规范和实现工作。它是Spec Kit工作流的第0阶段。
宪法结构
# 项目宪法
## 使命
[一句话描述项目的目的]
## 原则
1. **[原则名称]**: [描述]
2. **[原则名称]**: [描述]
## 架构约束
- [技术约束]
- [模式约束]
- [集成约束]
## 质量标准
- **测试:** [测试要求]
- **文档:** [文档要求]
- **代码风格:** [风格要求]
## 团队约定
- [开发工作流]
- [沟通模式]
- [评审流程]
工作流
初始化 (–init)
-
检查现有文件
- 查找
.constitution.md - 如果存在,提示更新
- 查找
-
收集项目上下文
- 分析现有代码库
- 识别使用中的模式
- 检测技术栈
-
生成宪法
- 创建使命陈述
- 从模式定义原则
- 文档化约束
- 建立质量标准
-
保存
- 写入
.constitution.md - 报告创建摘要
- 写入
更新 (–update)
-
加载现有宪法
- 读取当前宪法
- 解析部分
-
分析变化
- 检查代码库中的新模式
- 识别与原则的偏差
-
建议更新
- 展示变更供批准
- 应用批准的变更
验证 (–validate)
-
加载宪法
- 读取
.constitution.md
- 读取
-
检查结构
- 必需部分是否存在
- 原则是否格式良好
- 无冲突约束
-
检查对齐
- 比较代码库与原则
- 识别违规
- 报告合规状态
参数
--init- 创建新宪法(默认)--update- 更新现有宪法--validate- 验证宪法并检查对齐--force- 不提示直接覆盖现有文件
示例
# 创建新宪法
/spec-driven-development:constitution --init
# 更新现有宪法
/spec-driven-development:constitution --update
# 验证对齐
/spec-driven-development:constitution --validate
# 强制覆盖
/spec-driven-development:constitution --init --force
宪法示例
# 项目宪法
## 使命
构建一个安全、可扩展的电子商务平台,使小型企业能够以最小的技术专长在线销售产品。
## 原则
1. **安全第一**: 所有功能必须考虑安全影响。用户数据保护是不可妥协的。
2. **简单优于聪明**: 选择成熟、经过验证的解决方案,而不是新颖方法。代码应能被初级开发者阅读。
3. **垂直切片**: 功能作为完整的垂直切片实现,而不是水平层。每个功能可独立部署。
4. **测试驱动**: 所有业务逻辑都有单元测试。集成测试覆盖关键路径。没有通过测试的功能不得合并。
## 架构约束
- **语言:** TypeScript(严格模式)用于所有应用代码
- **数据库:** PostgreSQL用于持久存储
- **API风格:** REST带有OpenAPI规范
- **认证:** OAuth 2.0 + JWT令牌
- **部署:** Docker容器在Kubernetes上
## 质量标准
- **测试覆盖率:** 业务逻辑最低80%
- **文档:** 所有公共API都有示例文档
- **代码评审:** 所有变更需要一个批准
- **性能:** API响应时间在200ms内(p95)
## 团队约定
- **分支:** 从主分支创建特性分支,压缩合并
- **提交:** 常规提交(feat:, fix:, docs:)
- **PRs:** 包括描述、测试计划、UI截图(如果适用)
- **发布:** 语义版本控制,自动化变更日志
验证报告
# 宪法验证报告
**文件:** .constitution.md
**状态:** ⚠️ 有效但有警告
## 结构检查
✓ 使命部分存在
✓ 原则部分存在
✓ 架构约束存在
✓ 质量标准存在
✓ 团队约定存在
## 原则冲突
未检测到
## 对齐检查
✓ TypeScript严格模式已启用(匹配约束)
✓ PostgreSQL在使用(匹配约束)
⚠️ 测试覆盖率72%(低于80%阈值)
⚠️ 一些API端点缺少OpenAPI文档
## 推荐
1. 提高测试覆盖率以达到80%阈值
2. 为/api/orders/*、/api/users/*添加OpenAPI文档
相关命令
/spec-driven-development:speckit-run- 完整的5阶段工作流/spec-driven-development:specify- 生成规范(第1阶段)/spec-driven-development:validate- 验证规范