oh-my-droid 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  ---
2
+ name: changelog
2
3
  description: 生成变更日志
3
4
  argument-hint: 版本号或日期范围
4
5
  ---
@@ -1,4 +1,5 @@
1
1
  ---
2
+ name: deepen-plan
2
3
  description: 深化计划,增加研究和细节
3
4
  argument-hint: 计划文件路径
4
5
  ---
@@ -1,4 +1,5 @@
1
1
  ---
2
+ name: resolve-parallel
2
3
  description: 并行解决多个问题
3
4
  argument-hint: 问题列表或文件路径
4
5
  ---
@@ -1,4 +1,5 @@
1
1
  ---
2
+ name: triage
2
3
  description: 问题分类和优先级排序
3
4
  argument-hint: 问题列表或目录
4
5
  ---
@@ -1,53 +1,205 @@
1
1
  ---
2
+ name: workflows-compound
2
3
  description: 记录解决的问题,积累知识
3
- argument-hint: 问题描述
4
+ argument-hint: "[可选: 问题简述]"
4
5
  ---
5
6
 
6
7
  # /workflows-compound
7
8
 
8
- 记录解决的问题和学到的经验,让知识复合增长。
9
+ 记录解决的问题,让知识复合增长。每次记录都让下次遇到类似问题更快解决。
9
10
 
10
11
  ## 理念
11
12
 
12
- **复合工程**:每一次工程工作都应该让后续工作更轻松。
13
+ **复合工程**:第一次解决问题需要研究(30分钟),记录后下次只需查找(2分钟)。
14
+
15
+ ## 触发时机
16
+
17
+ **自动触发短语**:
18
+ - "搞定了"、"修好了"、"问题解决了"、"可以了"
19
+
20
+ **手动触发**:
21
+ - `/workflows-compound [问题简述]`
22
+
23
+ **只记录非平凡问题**:
24
+ - 需要多次尝试才解决的
25
+ - 解决方案不明显的
26
+ - 未来会再次遇到的
13
27
 
14
28
  ## 流程
15
29
 
16
- 1. **问题回顾** - 描述遇到的问题
17
- 2. **解决方案** - 记录如何解决
18
- 3. **关键学习** - 提炼可复用的经验
19
- 4. **更新文档** - 将学习写入项目文档
30
+ ### 1. 收集上下文
31
+
32
+ 从对话历史提取:
33
+ - **问题症状**:确切的错误信息、可观察的行为
34
+ - **尝试过的方法**:什么没用、为什么
35
+ - **根本原因**:技术层面的解释
36
+ - **解决方案**:具体的修复步骤和代码
37
+ - **预防措施**:如何避免再次发生
38
+
39
+ ### 2. 检查已有文档
40
+
41
+ ```bash
42
+ # 搜索类似问题
43
+ grep -r "关键词" docs/solutions/
44
+ ```
45
+
46
+ 如果找到类似问题,选择:
47
+ 1. 创建新文档并交叉引用(推荐)
48
+ 2. 更新已有文档(仅当根因相同)
49
+
50
+ ### 3. 分类并创建文档
51
+
52
+ **问题类型(自动分类到对应目录)**:
53
+
54
+ | problem_type | 目录 | 说明 |
55
+ |--------------|------|------|
56
+ | build_error | build-errors/ | 构建、编译错误 |
57
+ | test_failure | test-failures/ | 测试失败 |
58
+ | runtime_error | runtime-errors/ | 运行时错误 |
59
+ | performance_issue | performance-issues/ | 性能问题 |
60
+ | database_issue | database-issues/ | 数据库问题 |
61
+ | security_issue | security-issues/ | 安全问题 |
62
+ | ui_bug | ui-bugs/ | 界面问题 |
63
+ | integration_issue | integration-issues/ | 集成问题 |
64
+ | logic_error | logic-errors/ | 逻辑错误 |
65
+ | config_issue | config-issues/ | 配置问题 |
66
+
67
+ ### 4. 生成文件
68
+
69
+ **文件路径**:`docs/solutions/[category]/[slug]-[YYYYMMDD].md`
70
+
71
+ **文件格式**(YAML frontmatter + Markdown):
72
+
73
+ ```markdown
74
+ ---
75
+ date: 2025-01-15
76
+ problem_type: performance_issue
77
+ component: database
78
+ symptoms:
79
+ - "查询超时"
80
+ - "N+1 查询"
81
+ root_cause: missing_eager_loading
82
+ severity: moderate # critical | moderate | minor
83
+ tags: [n-plus-one, eager-loading, rails]
84
+ related: [] # 相关文档路径
85
+ ---
86
+
87
+ # N+1 查询导致页面加载缓慢
88
+
89
+ ## 问题
90
+
91
+ [描述遇到的问题,包含确切错误信息]
92
+
93
+ ## 尝试过的方法
94
+
95
+ 1. [方法1] - 结果:[没用/部分有效]
96
+ 2. [方法2] - 结果:[没用/部分有效]
97
+
98
+ ## 根本原因
99
+
100
+ [技术层面的解释]
20
101
 
21
- ## 记录模板
102
+ ## 解决方案
103
+
104
+ [具体步骤和代码示例]
105
+
106
+ ```ruby
107
+ # 修复前
108
+ User.all.each { |u| puts u.posts.count }
109
+
110
+ # 修复后
111
+ User.includes(:posts).each { |u| puts u.posts.count }
112
+ ```
113
+
114
+ ## 预防措施
115
+
116
+ - [如何避免再次发生]
117
+ - [相关的最佳实践]
118
+
119
+ ## 相关文档
120
+
121
+ - [链接到相关问题]
122
+ ```
123
+
124
+ ## 完成后选项
125
+
126
+ ```
127
+ ✓ 文档已创建
128
+
129
+ 文件:docs/solutions/performance-issues/n-plus-one-query-20250115.md
130
+
131
+ 下一步?
132
+ 1. 继续工作流(推荐)
133
+ 2. 添加到关键模式 - 提升到 patterns/critical-patterns.md
134
+ 3. 关联相关文档
135
+ 4. 查看文档
136
+ 5. 其他
137
+ ```
138
+
139
+ **选项 2:添加到关键模式**
140
+
141
+ 当问题满足以下条件时推荐:
142
+ - 多次在不同地方犯同样的错
143
+ - 解决方案不明显但必须遵循
144
+ - 基础性要求
145
+
146
+ 会添加到 `docs/solutions/patterns/critical-patterns.md`,格式:
22
147
 
23
148
  ```markdown
24
- ## [日期] [问题标题]
149
+ ## [模式名称]
25
150
 
26
- ### 问题
27
- [描述遇到的问题]
151
+ 错误做法:
152
+ ```code
153
+ [错误示例]
154
+ ```
28
155
 
29
- ### 原因
30
- [根本原因分析]
156
+ 正确做法:
157
+ ```code
158
+ [正确示例]
159
+ ```
31
160
 
32
- ### 解决方案
33
- [如何解决的]
161
+ **原因**:[为什么这样做]
162
+ ```
163
+
164
+ ## 检索已有知识
165
+
166
+ 下次遇到类似问题时:
34
167
 
35
- ### 学习
36
- [可复用的经验]
168
+ ```bash
169
+ # 按目录浏览
170
+ ls docs/solutions/performance-issues/
37
171
 
38
- ### 预防
39
- [如何避免再次发生]
172
+ # 按关键词搜索
173
+ grep -r "N+1" docs/solutions/
174
+
175
+ # 按标签搜索
176
+ grep -r "tags:.*eager-loading" docs/solutions/
40
177
  ```
41
178
 
42
- ## 输出位置
179
+ ## 目录结构
43
180
 
44
- - 项目级学习 → `docs/learnings/` 或 `AGENTS.md`
45
- - 通用模式 → 考虑创建新的 Skill
181
+ ```
182
+ docs/solutions/
183
+ ├── build-errors/
184
+ ├── test-failures/
185
+ ├── runtime-errors/
186
+ ├── performance-issues/
187
+ ├── database-issues/
188
+ ├── security-issues/
189
+ ├── ui-bugs/
190
+ ├── integration-issues/
191
+ ├── logic-errors/
192
+ ├── config-issues/
193
+ └── patterns/
194
+ └── critical-patterns.md # 关键模式(会被 AI 主动读取)
195
+ ```
46
196
 
47
- ## 后续步骤
197
+ ## 上下文优化
48
198
 
49
- - 定期回顾学习记录
50
- - 将重复模式提炼为自动化
199
+ - **按需加载**:文档存在 `docs/solutions/`,不放 AGENTS.md
200
+ - **分类检索**:遇到性能问题只搜 `performance-issues/`
201
+ - **YAML frontmatter**:快速扫描元数据,不需读全文
202
+ - **关键模式分离**:只有 `critical-patterns.md` 会被主动加载
51
203
 
52
204
  ---
53
205
 
@@ -1,4 +1,5 @@
1
1
  ---
2
+ name: workflows-plan
2
3
  description: 将功能描述转换为结构化的计划文档
3
4
  argument-hint: 功能描述
4
5
  ---
@@ -1,4 +1,5 @@
1
1
  ---
2
+ name: workflows-review
2
3
  description: 使用多代理分析进行代码审查
3
4
  argument-hint: PR号、分支名或文件路径
4
5
  ---
@@ -1,4 +1,5 @@
1
1
  ---
2
+ name: workflows-work
2
3
  description: 执行计划文件中的任务
3
4
  argument-hint: 计划文件路径
4
5
  ---
package/README.md CHANGED
@@ -2,14 +2,60 @@
2
2
 
3
3
  精简通用 Droid 工具集 - 10 个 Droids、8 个 Commands。
4
4
 
5
+ ## 项目介绍
6
+
7
+ 本项目借鉴了 [EveryInc/compound-engineering-plugin](https://github.com/EveryInc/compound-engineering-plugin) 的复利工程思路,适配 Droid 并精简了提示词(上下文控制很重要)。
8
+
9
+ **核心理念很简单:**
10
+ - 第一次做某类任务 → 探索、学习、记录
11
+ - 第二次做同类任务 → 有经验、更高效
12
+
13
+ 让 AI 的每一次工作都能积累成可复用的经验。
14
+
5
15
  ## 一键安装
6
16
 
7
17
  ```bash
8
- npx oh-my-droid # 安装到当前项目
18
+ npx oh-my-droid # ⭐ 推荐:安装到当前项目(工具随项目走)
9
19
  npx oh-my-droid -g # 安装到全局 (~/.factory)
10
20
  npx oh-my-droid -u # 卸载
11
21
  ```
12
22
 
23
+ ## 安装说明
24
+
25
+ 安装时会做两件事:
26
+
27
+ 1. **复制工具文件** - 将 Droids 和 Commands 复制到 `.factory` 目录
28
+ 2. **更新 AGENTS.md** - 在文件开头添加使用说明(核心命令、工作流程等)
29
+
30
+ ### 项目安装 vs 全局安装
31
+
32
+ | 安装方式 | 命令 | 适用场景 |
33
+ |---------|------|---------|
34
+ | 项目安装 | `npx oh-my-droid` | 单个项目使用,工具随项目走 |
35
+ | 全局安装 | `npx oh-my-droid -g` | 多个项目共用,安装到 `~/.factory` |
36
+
37
+ ### 全局安装注意事项
38
+
39
+ 如果你选择全局安装,开新项目时需要手动在项目的 `AGENTS.md` 开头添加以下内容:
40
+
41
+ ```markdown
42
+ <coding_guidelines>
43
+ # oh-my-droid:start
44
+ # 使用中文回答
45
+ ## 核心命令
46
+ `/workflows-plan <描述>` 创建计划 | `/workflows-work <计划>` 执行计划 | `/workflows-review <目标>` 代码审查 | `/workflows-compound` 记录学习
47
+ ## 辅助命令
48
+ `/deepen-plan` 深化计划 | `/triage` 问题分类 | `/resolve-parallel` 并行解决 | `/changelog` 变更日志
49
+ ## 工作流程
50
+ Plan → Work → Review → Compound | 80%规划审查,20%执行
51
+ ## 添加组件
52
+ Droid: `.factory/droids/<名称>.md` | Command: `.factory/commands/<名称>.md`
53
+ # oh-my-droid:end
54
+ </coding_guidelines>
55
+ ```
56
+
57
+ 这样 AI 才能识别并使用这些命令。
58
+
13
59
  ## 核心工作流
14
60
 
15
61
  ```
@@ -32,6 +78,30 @@ Plan → Work → Review → Compound
32
78
  | `/resolve-parallel` | 并行解决 |
33
79
  | `/changelog` | 变更日志 |
34
80
 
81
+ ## 使用示例
82
+
83
+ 以「添加用户登录功能」为例,演示完整工作流:
84
+
85
+ ```
86
+ 1. 创建计划
87
+ /workflows-plan 添加用户登录功能
88
+ → AI 分析需求,生成 plans/添加用户登录功能.md
89
+
90
+ 2. 执行计划
91
+ /workflows-work plans/添加用户登录功能.md
92
+ → AI 按计划逐步实施代码
93
+
94
+ 3. 代码审查
95
+ /workflows-review src/auth/
96
+ → AI 审查代码质量,提出改进建议
97
+
98
+ 4. 记录学习
99
+ /workflows-compound
100
+ → AI 总结本次经验,更新知识库
101
+ ```
102
+
103
+ 下次遇到类似任务时,AI 会自动应用积累的经验,效率更高。
104
+
35
105
  ---
36
106
 
37
107
  [English](./README_EN.md) | 中文
package/package.json CHANGED
@@ -1,11 +1,17 @@
1
1
  {
2
2
  "name": "oh-my-droid",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "精简通用 Droid 工具集 - 10 Droids, 8 Commands",
5
5
  "bin": {
6
6
  "oh-my-droid": "./bin/cli.js"
7
7
  },
8
- "keywords": ["droid", "factory", "ai", "agent", "cli"],
8
+ "keywords": [
9
+ "droid",
10
+ "factory",
11
+ "ai",
12
+ "agent",
13
+ "cli"
14
+ ],
9
15
  "author": "EveryInc",
10
16
  "license": "MIT",
11
17
  "repository": {