跳到主要内容

项目初始化

本指南介绍如何使用 openspec init 初始化 OpenSpec 项目。

初始化命令​

openspec init

初始化过程​

运行 openspec init 将:

  1. 检查系统要求 - 验证 Node.js 版本
  2. 创建 openspec/ 文件夹 - 项目结构
  3. 生成示例规范 - 示例规范文件
  4. 创建配置文件 - openspec/config.yaml(可选)
  5. 生成技能 - 为 AI 助手生成 slash 命令

初始化后的项目结构​

your-project/
├── openspec/
│ ├── config.yaml # 项目配置(可选)
│ ├── specs/ # 源真相规范
│ │ └── <domain>/
│ │ └── spec.md
│ ├── changes/ # 提议的修改
│ │ └── <change-name>/
│ │ ├── proposal.md
│ │ ├── design.md
│ │ ├── tasks.md
│ │ └── specs/
│ └── schemas/ # 自定义 schema
│ ├── spec-driven.yaml
│ └── campaign-driven.yaml
└── .gitignore

配置文件​

初始化时,你将被提示创建项目配置文件 openspec/config.yaml。

示例配置​

schema: spec-driven

context: |
Tech stack: TypeScript, React, Node.js
API conventions: RESTful, JSON responses
Testing: Vitest for unit tests, Playwright for e2e
Style: ESLint with Prettier, strict TypeScript

rules:
proposal:
- Include rollback plan
- Identify affected teams
specs:
- Use Given/When/Then format for scenarios
design:
- Include sequence diagrams for complex flows

配置选项​

schema​

指定要使用的 schema。默认为 spec-driven。

schema: spec-driven

可用的 schema:

  • spec-driven - 传统的提案 → 规范 → 设计 → 任务工作流
  • campaign-driven - 多变更工作流

context​

项目上下文,提供给所有工件。

rules​

针对不同工件的特定规则。

重新初始化​

如果需要重新初始化项目:

# 备份现有规范
cp -r openspec openspec.backup

# 重新初始化
openspec init

# 恢复规范
cp -r openspec.backup/specs/* openspec/specs/

下一步​

初始化完成后,按照 快速开始 指南创建你的第一个变更。