工件 (Artifact)
工件是 OpenSpec 变更中创建的文档。它们共同描述了提议的变更及其实施计划。
工件类型
OpenSpec 支持以下工件类型:
| 工件 | 描述 | 必需 | 说明 |
|---|---|---|---|
proposal.md | 提案,解释为什么和什么 | 是 | 变更的意图和范围 |
specs/ | 增量规范,显示什么变化 | 是 | ADDED/MODIFIED/REMOVED 需求 |
design.md | 设计,解释如何实现 | 是 | 技术方法和架构决策 |
tasks.md | 任务列表,实施清单 | 是 | 待办事项和检查项 |
工件关系
proposal ──► specs ──► design ──► tasks ──► implement
▲ ▲ ▲ │
└───────────┴──────────┴────────────────────┘
update as you learn
你可以随时回到前面的工件,根据学习到的信息进行完善。
工件详细说明
1. 提案 (proposal.md)
提案是变更的起点,解释为什么要做这个变更。
内容
# Proposal: <变更名称>
## Intent
解释变更的意图和目标。
## Scope
描述变更的范围,包括包含和不包含的内容。
## Approach
描述实现变更的方法。
## Dependencies
列出依赖关系(如果有)。
示例
# Proposal: Add Dark Mode
## Intent
Users have requested a dark mode option to reduce eye strain during nighttime usage.
## Scope
This change will add:
- Theme toggle in settings
- System preference detection
- Persistent user preference
This change will NOT:
- Change existing light mode behavior
- Add other theme options
## Approach
1. Use CSS custom properties for theming
2. Implement React context for state management
3. Store preference in localStorage
## Dependencies
- None
2. 增量规范 (specs/)
增量规范显示相对于当前规范的变化。
格式
# Delta for <领域>
## ADDED Requirements
新添加的需求。
## MODIFIED Requirements
修改的需求。
## REMOVED Requirements
删除的需求。