diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index e69de29..a024ccd 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -0,0 +1,57 @@ +# Rune 开发文档 + +## 技术栈 + +- 运行时:Bun +- 语言:TypeScript +- CLI 框架:cac +- YAML 解析:yaml +- 测试:bun:test + +## 项目结构 + +``` +src/ +├── cli.ts # CLI 入口 +├── types.ts # 类型定义 +├── commands/ +│ └── init.ts # init 命令 +├── core/ +│ ├── config.ts # 配置加载 +│ ├── scanner.ts # 状态扫描 +│ ├── assembler.ts # 提示词拼装 +│ └── task-parser.ts # 任务解析 +├── adapters/ +│ ├── opencode.ts # OpenCode 适配器 +│ └── claude-code.ts # Claude Code 适配器(占位) +└── defaults/ + └── config.ts # 内置默认配置 + +tests/ # 测试目录(镜像 src 结构) +``` + +## 开发命令 + +```bash +bun test # 运行全部测试 +bun test tests/core/ # 运行指定目录测试 +bun src/cli.ts init opencode # 测试 init 命令 +``` + +## 测试策略 + +### Level 1 — 纯单元/集成测试(当前) + +在临时目录执行完整流程,验证文件创建、目录结构、提示词输出。 + +### Level 2 — 提示词快照测试(后续增强) + +对每个阶段捕获提示词输出,与预期快照对比。 + +### Level 3 — mock-agent 端到端(后续增强) + +编排完整闭环:rune 输出 → mock-agent 处理 → rune 继续下一阶段。 + +### Level 4 — 真实 AI 工具集成(CI 可选) + +调用 LLM API 验证输出格式可被解析。 diff --git a/README.md b/README.md index e69de29..f4fe7d6 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,45 @@ +# Rune + +基于 SDD(Spec-Driven Development)的命令行工具,通过向 AI 开发工具注入 command 和 skill,驱动结构化编码流程。 + +## 安装 + +```bash +bunx rune init opencode +``` + +## 使用 + +### 初始化 + +```bash +bunx rune init opencode +``` + +会在项目中创建: +- `.rune/` 目录(配置、变更文档、归档) +- `.opencode/commands/` 和 `.opencode/skills/`(注入的 AI 工具配置) + +### SDD 流程 + +1. `/discuss` — 自由讨论需求 +2. `/plan <变更名>` — 生成设计文档和任务列表 +3. `/build <变更名>` — 按任务顺序编码实现 +4. `/archive <变更名>` — 归档并清理 + +### 状态查看 + +```bash +rune status +``` + +### 自定义配置 + +编辑 `.rune/config.yaml` 自定义提示词和文档模板。未配置的阶段使用内置默认配置。 + +## 开发 + +```bash +bun test # 运行测试 +bun src/cli.ts # 运行 CLI +``` diff --git a/index.ts b/index.ts index f67b2c6..8cec2e9 100644 --- a/index.ts +++ b/index.ts @@ -1 +1 @@ -console.log("Hello via Bun!"); \ No newline at end of file +export {}; \ No newline at end of file