momo-ai 1.0.19 → 1.0.21

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.
Files changed (109) hide show
  1. package/.claude/skills/algorithmic-art/LICENSE.txt +202 -0
  2. package/.claude/skills/algorithmic-art/SKILL.md +405 -0
  3. package/.claude/skills/algorithmic-art/templates/generator_template.js +223 -0
  4. package/.claude/skills/algorithmic-art/templates/viewer.html +599 -0
  5. package/.claude/skills/r2mo-rad-lain/PROMPT.md +281 -0
  6. package/.claude/skills/r2mo-rad-lain/README.md +192 -0
  7. package/.claude/skills/r2mo-rad-lain/SKILL.md +412 -0
  8. package/.claude/skills/r2mo-rad-lain/examples/argument-parsing.js +154 -0
  9. package/.claude/skills/r2mo-rad-lain/examples/file-operations.js +182 -0
  10. package/.claude/skills/r2mo-rad-lain/file-utils-api.md +281 -0
  11. package/.claude/skills/r2mo-rad-lain/menu-api.md +187 -0
  12. package/.claude/skills/r2mo-rad-lain/scripts/file-utils.js +223 -0
  13. package/.claude/skills/r2mo-rad-lain/scripts/menu.js +289 -0
  14. package/.claude/skills/r2mo-rad-lain/scripts/yaml-parser.js +209 -0
  15. package/.claude/skills/r2mo-rad-lain/templates/command.json.template +13 -0
  16. package/.claude/skills/r2mo-rad-lain/templates/executor.js.template +32 -0
  17. package/.claude/skills/r2mo-rad-lain/templates/interactive-menu.js.template +221 -0
  18. package/.cursor/mcp.json +17 -0
  19. package/.obsidian/app.json +1 -0
  20. package/.obsidian/appearance.json +4 -0
  21. package/.obsidian/community-plugins.json +4 -0
  22. package/.obsidian/core-plugins.json +33 -0
  23. package/.obsidian/plugins/ai-agent/main.js +98495 -0
  24. package/.obsidian/plugins/ai-agent/manifest.json +11 -0
  25. package/.obsidian/plugins/ai-agent/styles.css +806 -0
  26. package/.obsidian/plugins/dataview/main.js +20876 -0
  27. package/.obsidian/plugins/dataview/manifest.json +11 -0
  28. package/.obsidian/plugins/dataview/styles.css +141 -0
  29. package/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +10 -0
  30. package/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +12 -0
  31. package/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +1 -0
  32. package/.obsidian/plugins/templater-obsidian/main.js +45 -0
  33. package/.obsidian/plugins/templater-obsidian/manifest.json +11 -0
  34. package/.obsidian/plugins/templater-obsidian/styles.css +226 -0
  35. package/.obsidian/plugins/terminal/main.js +200 -0
  36. package/.obsidian/plugins/terminal/manifest.json +14 -0
  37. package/.obsidian/plugins/terminal/styles.css +32 -0
  38. package/.obsidian/themes/AnuPpuccin/manifest.json +7 -0
  39. package/.obsidian/themes/AnuPpuccin/theme.css +9080 -0
  40. package/.obsidian/themes/Things/manifest.json +7 -0
  41. package/.obsidian/themes/Things/theme.css +1628 -0
  42. package/.obsidian/workspace.json +196 -0
  43. package/README.md +10 -123
  44. package/docs/images/logo.jpeg +0 -0
  45. package/install.sh +1 -0
  46. package/package.json +6 -2
  47. package/skills/r2mo-rad-lain/SKILL.md +101 -0
  48. package/src/_agent/trae/momo-datamodel.json +2 -1
  49. package/src/_agent/trae/momo-module-req.json +2 -1
  50. package/src/_agent/trae/momo-system-req.json +2 -1
  51. package/src/_agent/trae/momo-task.json +2 -1
  52. package/src/_agent/trae/momo-taskplan.json +2 -1
  53. package/src/_mcp/skills-server.mjs +70 -0
  54. package/src/_skill/repositories.json +16 -0
  55. package/src/_template/LAIN/.momo/advanced/refer.json +0 -4
  56. package/src/commander/help.json +5 -0
  57. package/src/commander/mcp.json +13 -0
  58. package/src/commander/open.json +8 -2
  59. package/src/commander/skills.json +20 -0
  60. package/src/executor/executeEnv.js +48 -38
  61. package/src/executor/executeHelp.js +77 -16
  62. package/src/executor/executeInit.js +203 -149
  63. package/src/executor/executeMcp.js +290 -0
  64. package/src/executor/executeOpen.js +144 -125
  65. package/src/executor/executeSkills.js +747 -0
  66. package/src/executor/index.js +5 -39
  67. package/src/momo.js +2 -1
  68. package/src/utils/momo-args.js +39 -0
  69. package/src/utils/momo-file-utils.js +75 -0
  70. package/src/utils/momo-menu.js +54 -0
  71. package/src/commander/actor.json +0 -12
  72. package/src/commander/actors.json +0 -6
  73. package/src/commander/add.json +0 -12
  74. package/src/commander/agent.json +0 -12
  75. package/src/commander/agentcfg.json +0 -5
  76. package/src/commander/archive.json +0 -12
  77. package/src/commander/commit.json +0 -12
  78. package/src/commander/console.json +0 -7
  79. package/src/commander/lain.json +0 -7
  80. package/src/commander/list.json +0 -7
  81. package/src/commander/plan.json +0 -12
  82. package/src/commander/project.json +0 -12
  83. package/src/commander/pull.json +0 -6
  84. package/src/commander/push.json +0 -6
  85. package/src/commander/repo.json +0 -18
  86. package/src/commander/run.json +0 -18
  87. package/src/commander/show.json +0 -12
  88. package/src/commander/tasks.json +0 -18
  89. package/src/commander/unlock.json +0 -6
  90. package/src/commander/validate.json +0 -12
  91. package/src/executor/executeActor.js +0 -133
  92. package/src/executor/executeActors.js +0 -58
  93. package/src/executor/executeAdd.js +0 -307
  94. package/src/executor/executeAgent.js +0 -224
  95. package/src/executor/executeAgentCfg.js +0 -195
  96. package/src/executor/executeArchive.js +0 -124
  97. package/src/executor/executeCommit.js +0 -202
  98. package/src/executor/executeConsole.js +0 -142
  99. package/src/executor/executeList.js +0 -133
  100. package/src/executor/executePlan.js +0 -164
  101. package/src/executor/executeProject.js +0 -312
  102. package/src/executor/executePull.js +0 -127
  103. package/src/executor/executePush.js +0 -243
  104. package/src/executor/executeRepo.js +0 -238
  105. package/src/executor/executeRun.js +0 -644
  106. package/src/executor/executeShow.js +0 -164
  107. package/src/executor/executeTasks.js +0 -384
  108. package/src/executor/executeUnlock.js +0 -110
  109. package/src/executor/executeValidate.js +0 -210
@@ -9,25 +9,40 @@ const _ioDirectory = async (baseDir) => {
9
9
  ".momo/template/",
10
10
  ".momo/advanced/",
11
11
  ".momo/scripts/",
12
- "specification/",
13
- "specification/changes/",
14
- "specification/actor/",
15
- "specification/.archives/",
16
- "specification/.activities/",
17
- "source/",
18
- "integration/",
19
- "integration/openspec/",
20
- "integration/spec-kit/",
21
- "integration/kiro/",
22
- "integration/trea/",
23
- "integration/cursor/",
24
- "integration/lingma/",
25
- "integration/qoder/",
26
- "integration/windsurf/",
27
- "integration/github/",
28
- "integration/claude-code/",
29
- "integration/chatgpt/",
30
- ".working/"
12
+ ".momo/specification/",
13
+ ".momo/specification/changes/",
14
+ ".momo/specification/actor/",
15
+ ".momo/specification/.archives/",
16
+ ".momo/specification/.activities/",
17
+ ".momo/source/",
18
+ ".momo/integration/",
19
+ ".momo/integration/openspec/",
20
+ ".momo/integration/spec-kit/",
21
+ ".momo/integration/kiro/",
22
+ ".momo/integration/trea/",
23
+ ".momo/integration/cursor/",
24
+ ".momo/integration/lingma/",
25
+ ".momo/integration/qoder/",
26
+ ".momo/integration/windsurf/",
27
+ ".momo/integration/github/",
28
+ ".momo/integration/claude-code/",
29
+ ".momo/integration/chatgpt/",
30
+ ".momo/integration/auggie/",
31
+ ".momo/integration/cline/",
32
+ ".momo/integration/roocode/",
33
+ ".momo/integration/codebuddy/",
34
+ ".momo/integration/costrict/",
35
+ ".momo/integration/crush/",
36
+ ".momo/integration/factory/",
37
+ ".momo/integration/gemini/",
38
+ ".momo/integration/opencode/",
39
+ ".momo/integration/kilo/",
40
+ ".momo/integration/codex/",
41
+ ".momo/integration/amazonq/",
42
+ ".momo/integration/qwen/",
43
+ ".momo/reference/maven",
44
+ ".momo/reference/npm",
45
+ ".momo/.working/"
31
46
  ];
32
47
 
33
48
  // 创建所有目录
@@ -55,13 +70,11 @@ const _ioFile = async (baseDir) => {
55
70
  * .momo/template/ 存放模板目录
56
71
  * .momo/advanced/
57
72
  * .momo/scripts/
58
- *
59
- * specification/changes/
60
- * specification/actor/
61
- * specification/.archives/
62
- * specification/.activities/
63
- *
64
- * integration/ 下所有类型的子目录
73
+ * .momo/specification/changes/
74
+ * .momo/specification/actor/
75
+ * .momo/specification/.archives/
76
+ * .momo/specification/.activities/
77
+ * .momo/integration/ 下所有类型的子目录
65
78
  */
66
79
 
67
80
  /*
@@ -79,23 +92,23 @@ const _ioFile = async (baseDir) => {
79
92
  const templateFiles = [
80
93
  {
81
94
  source: "specification/project.md",
82
- target: "specification/project.md"
95
+ target: ".momo/specification/project.md"
83
96
  },
84
97
  {
85
98
  source: "specification/project-model.md",
86
- target: "specification/project-model.md"
99
+ target: ".momo/specification/project-model.md"
87
100
  },
88
101
  {
89
102
  source: "specification/requirement.md",
90
- target: "specification/requirement.md"
103
+ target: ".momo/specification/requirement.md"
91
104
  },
92
105
  {
93
106
  source: ".gitignore",
94
- target: ".gitignore"
107
+ target: ".momo/.gitignore"
95
108
  },
96
109
  {
97
110
  source: "AGENTS.md",
98
- target: "AGENTS.md"
111
+ target: ".momo/AGENTS.md"
99
112
  }
100
113
  ];
101
114
 
@@ -133,38 +146,38 @@ const _ioFile = async (baseDir) => {
133
146
  ".momo/prompt/",
134
147
  ".momo/template/",
135
148
  ".momo/scripts/",
136
- "reference/maven",
137
- "reference/npm",
138
- "specification/changes/",
139
- "specification/actor/",
140
- "specification/.archives/",
141
- "specification/.activities/",
142
- "source/",
143
- "integration/openspec/",
144
- "integration/spec-kit/",
145
- "integration/kiro/",
146
- "integration/trea/",
147
- "integration/cursor/",
148
- "integration/lingma/",
149
- "integration/qoder/",
150
- "integration/windsurf/",
151
- "integration/github/",
152
- "integration/claude-code/",
153
- "integration/chatgpt/",
149
+ ".momo/reference/maven",
150
+ ".momo/reference/npm",
151
+ ".momo/specification/changes/",
152
+ ".momo/specification/actor/",
153
+ ".momo/specification/.archives/",
154
+ ".momo/specification/.activities/",
155
+ ".momo/source/",
156
+ ".momo/integration/openspec/",
157
+ ".momo/integration/spec-kit/",
158
+ ".momo/integration/kiro/",
159
+ ".momo/integration/trea/",
160
+ ".momo/integration/cursor/",
161
+ ".momo/integration/lingma/",
162
+ ".momo/integration/qoder/",
163
+ ".momo/integration/windsurf/",
164
+ ".momo/integration/github/",
165
+ ".momo/integration/claude-code/",
166
+ ".momo/integration/chatgpt/",
154
167
  // 新增的 integration 目录(使用小写)
155
- "integration/auggie/",
156
- "integration/cline/",
157
- "integration/roocode/",
158
- "integration/codebuddy/",
159
- "integration/costrict/",
160
- "integration/crush/",
161
- "integration/factory/",
162
- "integration/gemini/",
163
- "integration/opencode/",
164
- "integration/kilo/",
165
- "integration/codex/",
166
- "integration/amazonq/",
167
- "integration/qwen/"
168
+ ".momo/integration/auggie/",
169
+ ".momo/integration/cline/",
170
+ ".momo/integration/roocode/",
171
+ ".momo/integration/codebuddy/",
172
+ ".momo/integration/costrict/",
173
+ ".momo/integration/crush/",
174
+ ".momo/integration/factory/",
175
+ ".momo/integration/gemini/",
176
+ ".momo/integration/opencode/",
177
+ ".momo/integration/kilo/",
178
+ ".momo/integration/codex/",
179
+ ".momo/integration/amazonq/",
180
+ ".momo/integration/qwen/"
168
181
  ];
169
182
 
170
183
  // 为每个目录创建一个空的 .gitkeep 文件,确保目录被git跟踪
@@ -184,31 +197,31 @@ const _ioFile = async (baseDir) => {
184
197
 
185
198
  // 为每个 integration 目录创建 config.json 文件
186
199
  const integrationDirs = [
187
- "integration/openspec/",
188
- "integration/spec-kit/",
189
- "integration/kiro/",
190
- "integration/trea/",
191
- "integration/cursor/",
192
- "integration/lingma/",
193
- "integration/qoder/",
194
- "integration/windsurf/",
195
- "integration/github/",
196
- "integration/claude-code/",
197
- "integration/chatgpt/",
200
+ ".momo/integration/openspec/",
201
+ ".momo/integration/spec-kit/",
202
+ ".momo/integration/kiro/",
203
+ ".momo/integration/trea/",
204
+ ".momo/integration/cursor/",
205
+ ".momo/integration/lingma/",
206
+ ".momo/integration/qoder/",
207
+ ".momo/integration/windsurf/",
208
+ ".momo/integration/github/",
209
+ ".momo/integration/claude-code/",
210
+ ".momo/integration/chatgpt/",
198
211
  // 新增的 integration 目录(使用小写)
199
- "integration/auggie/",
200
- "integration/cline/",
201
- "integration/roocode/",
202
- "integration/codebuddy/",
203
- "integration/costrict/",
204
- "integration/crush/",
205
- "integration/factory/",
206
- "integration/gemini/",
207
- "integration/opencode/",
208
- "integration/kilo/",
209
- "integration/codex/",
210
- "integration/amazonq/",
211
- "integration/qwen/"
212
+ ".momo/integration/auggie/",
213
+ ".momo/integration/cline/",
214
+ ".momo/integration/roocode/",
215
+ ".momo/integration/codebuddy/",
216
+ ".momo/integration/costrict/",
217
+ ".momo/integration/crush/",
218
+ ".momo/integration/factory/",
219
+ ".momo/integration/gemini/",
220
+ ".momo/integration/opencode/",
221
+ ".momo/integration/kilo/",
222
+ ".momo/integration/codex/",
223
+ ".momo/integration/amazonq/",
224
+ ".momo/integration/qwen/"
212
225
  ];
213
226
 
214
227
  // 通用的 LLM 配置模板
@@ -261,9 +274,9 @@ const _ioFile = async (baseDir) => {
261
274
 
262
275
  // 检查目标文件是否已存在
263
276
  if (fs.existsSync(targetPath)) {
264
- // 跳过 specification/ 目录下的所有文件
265
- if (file.target.startsWith("specification/")) {
266
- Ec.waiting("跳过文件:" + file.target + " ".yellow + "(specification目录下的文件可能已被修改)".yellow);
277
+ // 跳过 .momo/specification/ 目录下的所有文件
278
+ if (file.target.startsWith(".momo/specification/")) {
279
+ Ec.waiting("跳过文件:" + file.target + " ".yellow + "(.momo/specification目录下的文件可能已被修改)".yellow);
267
280
  } else if (shouldOverwrite) {
268
281
  // 目标文件已存在,根据用户选择决定是否覆盖(非specification目录下的文件)
269
282
  Ec.waiting("覆盖模板文件:" + file.target);
@@ -329,70 +342,111 @@ const _ioFile = async (baseDir) => {
329
342
  if (!fs.existsSync(momoAdvancedDir)) {
330
343
  await fsAsync.mkdir(momoAdvancedDir, {recursive: true});
331
344
  }
345
+
346
+ // 处理 .gitignore 文件,确保 .momo 目录被忽略
347
+ const gitignorePath = path.resolve(baseDir, ".gitignore");
348
+ let gitignoreContent = "";
349
+
350
+ // 检查 .gitignore 文件是否存在
351
+ if (fs.existsSync(gitignorePath)) {
352
+ // 读取现有的 .gitignore 内容
353
+ gitignoreContent = await fsAsync.readFile(gitignorePath, 'utf8');
354
+ }
355
+
356
+ // 检查 .momo 是否已经在 .gitignore 中
357
+ if (!gitignoreContent.includes('.momo')) {
358
+ // 如果内容不为空,先添加一个换行
359
+ if (gitignoreContent && !gitignoreContent.endsWith('\n')) {
360
+ gitignoreContent += '\n';
361
+ }
362
+ // 添加 .momo 到 .gitignore
363
+ gitignoreContent += '.momo\n';
364
+
365
+ // 写入 .gitignore 文件
366
+ await fsAsync.writeFile(gitignorePath, gitignoreContent);
367
+ Ec.waiting("已更新 .gitignore 文件,添加 .momo 目录到忽略列表");
368
+ } else {
369
+ Ec.waiting(".gitignore 文件已包含 .momo 目录,无需更新");
370
+ }
371
+
372
+ // 创建 .claude/skills/ 目录并添加占位符文件
373
+ const claudeSkillsDir = path.resolve(baseDir, ".claude", "skills");
374
+ await fsAsync.mkdir(claudeSkillsDir, {recursive: true});
375
+ Ec.waiting("创建 .claude/skills/ 目录");
376
+
377
+ // 在 .claude/skills/ 目录中创建 .placeholder 文件
378
+ const placeholderPath = path.join(claudeSkillsDir, ".placeholder");
379
+ if (!fs.existsSync(placeholderPath)) {
380
+ await fsAsync.writeFile(placeholderPath, "");
381
+ Ec.waiting("在 .claude/skills/ 目录中创建 .placeholder 文件");
382
+ } else {
383
+ Ec.waiting(".claude/skills/ 目录中的 .placeholder 文件已存在");
384
+ }
332
385
  }
333
386
 
334
387
  /**
335
388
  * 目录结构说明
336
- * .momo/prompt/ 存放备注目录
337
- * .momo/template/ 存放模板目录
338
- * .momo/advanced/ 高级配置说明
339
- * /actor.md - 角色定制说明
340
- * .momo/scripts/ 特殊脚本目录
341
- * reference/
342
- * /maven/ Maven 外置项目
343
- * /npm/ NPM 外置项目
344
- * specification/ 工作目录
345
- * /project.md - 项目基本说明文件
346
- * /project-model.md - 模型说明文件(通常是建模所需的核心概念模型)
389
+ * .momo/ 根目录
390
+ * /prompt/ 存放备注目录
391
+ * /template/ 存放模板目录
392
+ * /advanced/ 高级配置说明
393
+ * /actor.md - 角色定制说明
394
+ * /scripts/ 特殊脚本目录
395
+ * /reference/
396
+ * /maven/ Maven 外置项目
397
+ * /npm/ NPM 外置项目
398
+ * /specification/ 工作目录
399
+ * /project.md - 项目基本说明文件
400
+ * /project-model.md - 模型说明文件(通常是建模所需的核心概念模型)
347
401
  *
348
- * --------- 需求分析 / 任务分配设计 / 角色定制 ------------
349
- * /requirement.md - 基础需求说明(第一份)
350
- * /changes/ 变更详情
351
- * /change-XXX/
352
- * /implementation.md 实现方案步骤说明
353
- * /proposal.md ( OpenSpec ) 变更提案说明文件
354
- * /tasks.md ( OpenSpec ) 变更任务列表说明 -> 链接到 tasks/ 目录下的具体任务清单中
355
- * /tasks 计划详细内容,如果拆分成 Task 则对应到 Tasks/plan-XXX/ 目录中
356
- * /M01-T001-01.md 具体任务文件,M代表模块,T代表任务,001代表任务编号,01代表子任务序号
357
- * /M01-T001-02.md ......
358
- * /design.md ( OpenSpec ) 变更设计说明文件
359
- * /change.md ( OpenSpec -> specs/profile/spec.md ) 变更说明文件
360
- * /actor/ 角色目录 / 定义了 Agent 所具有的角色信息,可自定义角色
361
- * /{name}/stack.md 角色技能(技术栈)说明文件
362
- * /{name}/limit.md 角色限制说明文件
363
- * /.archives/ 归档记录
364
- * /.activities/
365
- * /actor@plan-XXX/ 角色在某个计划下的历史执行记录(带时间戳)
366
- * source/ 源代码目录
367
- * /develop-01
368
- * /develop-02
369
- * /develop-03
370
- * integration/ 集成目录(特殊集成配置)
371
- * openspec/ OpenSpec 目录
372
- * /config.json 配置文件
373
- * spec-kit/ SpecKit 目录
374
- * kiro/ Kiro 目录
375
- * trea/ Trea 目录
376
- * cursor/ Cursor 目录
377
- * lingma/ Lingma 目录
378
- * qoder/ Qoder 目录
379
- * windsurf/ WindSurf 目录
380
- * github/ Github Copilot 目录
381
- * claude-code/ Claude Code 目录
382
- * chatgpt/ ChatGPT 目录
383
- * auggie/ Auggie (Augment CLI) 目录
384
- * cline/ Cline 目录
385
- * roocode/ RooCode 目录
386
- * codebuddy/ CodeBuddy Code (CLI) 目录
387
- * costrict/ CoStrict 目录
388
- * crush/ Crush 目录
389
- * factory/ Factory Droid 目录
390
- * gemini/ Gemini CLI 目录
391
- * opencode/ OpenCode 目录
392
- * kilo/ Kilo Code 目录
393
- * codex/ Codex 目录
394
- * amazonq/ Amazon Q Developer 目录
395
- * qwen/ Qwen Code 目录
402
+ * --------- 需求分析 / 任务分配设计 / 角色定制 ------------
403
+ * /requirement.md - 基础需求说明(第一份)
404
+ * /changes/ 变更详情
405
+ * /change-XXX/
406
+ * /implementation.md 实现方案步骤说明
407
+ * /proposal.md ( OpenSpec ) 变更提案说明文件
408
+ * /tasks.md ( OpenSpec ) 变更任务列表说明 -> 链接到 tasks/ 目录下的具体任务清单中
409
+ * /tasks 计划详细内容,如果拆分成 Task 则对应到 Tasks/plan-XXX/ 目录中
410
+ * /M01-T001-01.md 具体任务文件,M代表模块,T代表任务,001代表任务编号,01代表子任务序号
411
+ * /M01-T001-02.md ......
412
+ * /design.md ( OpenSpec ) 变更设计说明文件
413
+ * /change.md ( OpenSpec -> specs/profile/spec.md ) 变更说明文件
414
+ * /actor/ 角色目录 / 定义了 Agent 所具有的角色信息,可自定义角色
415
+ * /{name}/stack.md 角色技能(技术栈)说明文件
416
+ * /{name}/limit.md 角色限制说明文件
417
+ * /.archives/ 归档记录
418
+ * /.activities/
419
+ * /actor@plan-XXX/ 角色在某个计划下的历史执行记录(带时间戳)
420
+ * /source/ 源代码目录
421
+ * /develop-01
422
+ * /develop-02
423
+ * /develop-03
424
+ * /integration/ 集成目录(特殊集成配置)
425
+ * openspec/ OpenSpec 目录
426
+ * /config.json 配置文件
427
+ * spec-kit/ SpecKit 目录
428
+ * kiro/ Kiro 目录
429
+ * trea/ Trea 目录
430
+ * cursor/ Cursor 目录
431
+ * lingma/ Lingma 目录
432
+ * qoder/ Qoder 目录
433
+ * windsurf/ WindSurf 目录
434
+ * github/ Github Copilot 目录
435
+ * claude-code/ Claude Code 目录
436
+ * chatgpt/ ChatGPT 目录
437
+ * auggie/ Auggie (Augment CLI) 目录
438
+ * cline/ Cline 目录
439
+ * roocode/ RooCode 目录
440
+ * codebuddy/ CodeBuddy Code (CLI) 目录
441
+ * costrict/ CoStrict 目录
442
+ * crush/ Crush 目录
443
+ * factory/ Factory Droid 目录
444
+ * gemini/ Gemini CLI 目录
445
+ * opencode/ OpenCode 目录
446
+ * kilo/ Kilo Code 目录
447
+ * codex/ Codex 目录
448
+ * amazonq/ Amazon Q Developer 目录
449
+ * qwen/ Qwen Code 目录
396
450
  * @param options
397
451
  */
398
452
  module.exports = (options) => {
@@ -401,7 +455,7 @@ module.exports = (options) => {
401
455
  /*
402
456
  * 基本信息
403
457
  */
404
- const directory = parsed.directory || '.';
458
+ const directory = parsed.directory || parsed.d || '.';
405
459
  // 创建基础目录结构
406
460
  const basePath = path.resolve(process.cwd(), directory);
407
461