@scemoon/cdh 1.0.5 → 1.0.7

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 (551) hide show
  1. package/package.json +2 -2
  2. package/run.js +68 -14
  3. package/ai-dlc-skill/SKILL.md +0 -77
  4. package/ai-dlc-skill/agents/deliver-agent.md +0 -24
  5. package/ai-dlc-skill/agents/master.md +0 -50
  6. package/ai-dlc-skill/agents/plan-agent.md +0 -23
  7. package/ai-dlc-skill/agents/understand-agent.md +0 -23
  8. package/ai-dlc-skill/agents/verify-agent.md +0 -27
  9. package/ai-dlc-skill/architecture/project-structure.md +0 -78
  10. package/ai-dlc-skill/brownfield/README.md +0 -30
  11. package/ai-dlc-skill/brownfield/generate-context.sh +0 -64
  12. package/ai-dlc-skill/brownfield/scripts/deps.sh +0 -27
  13. package/ai-dlc-skill/brownfield/scripts/discover.sh +0 -34
  14. package/ai-dlc-skill/brownfield/scripts/extract-api.sh +0 -45
  15. package/ai-dlc-skill/components/backend.md +0 -34
  16. package/ai-dlc-skill/components/desktop.md +0 -30
  17. package/ai-dlc-skill/components/mya.md +0 -29
  18. package/ai-dlc-skill/components/native.md +0 -30
  19. package/ai-dlc-skill/components/tta.md +0 -29
  20. package/ai-dlc-skill/components/web.md +0 -31
  21. package/ai-dlc-skill/components/wxa.md +0 -29
  22. package/ai-dlc-skill/contracts/README.md +0 -25
  23. package/ai-dlc-skill/core/adaptive-flow.md +0 -36
  24. package/ai-dlc-skill/core/security.md +0 -29
  25. package/ai-dlc-skill/cross-tool/cline/export.sh +0 -31
  26. package/ai-dlc-skill/cross-tool/copilot/export.sh +0 -47
  27. package/ai-dlc-skill/cross-tool/cursor/export.sh +0 -32
  28. package/ai-dlc-skill/cross-tool/export.sh +0 -22
  29. package/ai-dlc-skill/cross-tool/onecode/config.yaml.tpl +0 -17
  30. package/ai-dlc-skill/cross-tool/onecode/export-skills.sh +0 -35
  31. package/ai-dlc-skill/cross-tool/onecode/export.sh +0 -54
  32. package/ai-dlc-skill/phases/deliver/entry.md +0 -26
  33. package/ai-dlc-skill/phases/deliver/lifecycle.md +0 -185
  34. package/ai-dlc-skill/phases/deliver/prompt.md +0 -40
  35. package/ai-dlc-skill/phases/deliver/rules.md +0 -61
  36. package/ai-dlc-skill/phases/plan/entry.md +0 -25
  37. package/ai-dlc-skill/phases/plan/lifecycle.md +0 -204
  38. package/ai-dlc-skill/phases/plan/prompt.md +0 -38
  39. package/ai-dlc-skill/phases/plan/rules.md +0 -25
  40. package/ai-dlc-skill/phases/understand/entry.md +0 -26
  41. package/ai-dlc-skill/phases/understand/lifecycle.md +0 -184
  42. package/ai-dlc-skill/phases/understand/prompt.md +0 -41
  43. package/ai-dlc-skill/phases/understand/rules.md +0 -37
  44. package/ai-dlc-skill/phases/verify/entry.md +0 -26
  45. package/ai-dlc-skill/phases/verify/lifecycle.md +0 -192
  46. package/ai-dlc-skill/phases/verify/prompt.md +0 -43
  47. package/ai-dlc-skill/phases/verify/rules.md +0 -73
  48. package/ai-dlc-skill/practices/bdd.md +0 -91
  49. package/ai-dlc-skill/practices/sdd.md +0 -84
  50. package/ai-dlc-skill/practices/tdd.md +0 -95
  51. package/ai-dlc-skill/providers/README.md +0 -114
  52. package/ai-dlc-skill/providers/aliyun/deployment.yaml +0 -66
  53. package/ai-dlc-skill/providers/aliyun/preview.yaml +0 -84
  54. package/ai-dlc-skill/providers/aliyun/provider.yaml +0 -160
  55. package/ai-dlc-skill/providers/tcb/deployment.yaml +0 -69
  56. package/ai-dlc-skill/providers/tcb/preview.yaml +0 -83
  57. package/ai-dlc-skill/providers/tcb/provider.yaml +0 -172
  58. package/ai-dlc-skill/requirements.md +0 -140
  59. package/ai-dlc-skill/skill.yaml +0 -147
  60. package/ai-dlc-skill/templates/integration/CHANGELOG.md +0 -41
  61. package/ai-dlc-skill/templates/integration/asyncapi.yaml +0 -43
  62. package/ai-dlc-skill/templates/integration/contract-diff.md +0 -63
  63. package/ai-dlc-skill/templates/integration/contract-spec.md +0 -49
  64. package/ai-dlc-skill/templates/integration/openapi.yaml +0 -18
  65. package/ai-dlc-skill/templates/integration/runtime-contract.yaml +0 -36
  66. package/ai-dlc-skill/templates/plan/design.md +0 -49
  67. package/ai-dlc-skill/templates/plan/task-list.md +0 -32
  68. package/ai-dlc-skill/templates/project/README.md +0 -126
  69. package/ai-dlc-skill/templates/project/template.md +0 -119
  70. package/ai-dlc-skill/templates/understand/feature.feature +0 -23
  71. package/ai-dlc-skill/templates/understand/intent.md +0 -29
  72. package/ai-dlc-skill/templates/understand/spec-delta.md +0 -47
  73. package/ai-dlc-skill/templates/verify/test-unit.py +0 -27
  74. package/ai-dlc-skill/walkthrough/collect.sh +0 -50
  75. package/ai-dlc-skill/walkthrough/template.md +0 -54
  76. package/ai-dlc-skill/workflows/ai-dlc.yaml +0 -110
  77. package/ai-dlc-skill/workflows/deployment.yaml +0 -199
  78. package/cdh/__init__.py +0 -0
  79. package/cdh/__main__.py +0 -4
  80. package/cdh/__pycache__/__init__.cpython-314.pyc +0 -0
  81. package/cdh/__pycache__/cdh_mcp_injector.cpython-314.pyc +0 -0
  82. package/cdh/__pycache__/cdh_mcp_loader.cpython-314.pyc +0 -0
  83. package/cdh/__pycache__/cdh_mcp_manager.cpython-314.pyc +0 -0
  84. package/cdh/__pycache__/cdh_session_aggregator.cpython-314.pyc +0 -0
  85. package/cdh/__pycache__/cdh_skill_loader.cpython-314.pyc +0 -0
  86. package/cdh/__pycache__/cdh_skill_manager.cpython-314.pyc +0 -0
  87. package/cdh/__pycache__/cli.cpython-313.pyc +0 -0
  88. package/cdh/__pycache__/cli.cpython-314.pyc +0 -0
  89. package/cdh/__pycache__/scaffold.cpython-314.pyc +0 -0
  90. package/cdh/cdh_mcp_injector.py +0 -115
  91. package/cdh/cdh_mcp_loader.py +0 -67
  92. package/cdh/cdh_mcp_manager.py +0 -73
  93. package/cdh/cdh_session_aggregator.py +0 -258
  94. package/cdh/cdh_skill_manager.py +0 -105
  95. package/cdh/cli.py +0 -758
  96. package/cdh/scaffold.py +0 -728
  97. package/onecode/__init__.py +0 -1
  98. package/onecode/__main__.py +0 -4
  99. package/onecode/__pycache__/__init__.cpython-314.pyc +0 -0
  100. package/onecode/__pycache__/cli.cpython-314.pyc +0 -0
  101. package/onecode/__pycache__/commands.cpython-314.pyc +0 -0
  102. package/onecode/__pycache__/config.cpython-314.pyc +0 -0
  103. package/onecode/__pycache__/config_screen.cpython-314.pyc +0 -0
  104. package/onecode/__pycache__/migrate.cpython-314.pyc +0 -0
  105. package/onecode/agent/__init__.py +0 -0
  106. package/onecode/agent/__pycache__/__init__.cpython-314.pyc +0 -0
  107. package/onecode/agent/__pycache__/cdh_loader.cpython-314.pyc +0 -0
  108. package/onecode/agent/__pycache__/context.cpython-314.pyc +0 -0
  109. package/onecode/agent/__pycache__/engine.cpython-314.pyc +0 -0
  110. package/onecode/agent/__pycache__/hooks.cpython-314.pyc +0 -0
  111. package/onecode/agent/__pycache__/onecode_agent_acp.cpython-314.pyc +0 -0
  112. package/onecode/agent/__pycache__/permissions.cpython-314.pyc +0 -0
  113. package/onecode/agent/__pycache__/permissions_store.cpython-314.pyc +0 -0
  114. package/onecode/agent/__pycache__/project_doc.cpython-314.pyc +0 -0
  115. package/onecode/agent/__pycache__/session.cpython-314.pyc +0 -0
  116. package/onecode/agent/agents/__init__.py +0 -29
  117. package/onecode/agent/agents/__pycache__/__init__.cpython-314.pyc +0 -0
  118. package/onecode/agent/agents/__pycache__/types.cpython-314.pyc +0 -0
  119. package/onecode/agent/agents/types.py +0 -589
  120. package/onecode/agent/attachments.py +0 -112
  121. package/onecode/agent/cdh_loader.py +0 -267
  122. package/onecode/agent/context.py +0 -343
  123. package/onecode/agent/engine.py +0 -2700
  124. package/onecode/agent/hooks.py +0 -86
  125. package/onecode/agent/onecode_agent_acp.py +0 -2743
  126. package/onecode/agent/onecode_agent_acp.py.bak +0 -2447
  127. package/onecode/agent/permissions.py +0 -150
  128. package/onecode/agent/permissions_store.py +0 -62
  129. package/onecode/agent/project_doc.py +0 -19
  130. package/onecode/agent/session.py +0 -195
  131. package/onecode/agent/snapshot.py +0 -144
  132. package/onecode/agent/tools/__init__.py +0 -17
  133. package/onecode/agent/tools/__pycache__/__init__.cpython-314.pyc +0 -0
  134. package/onecode/agent/tools/__pycache__/agent_tools.cpython-314.pyc +0 -0
  135. package/onecode/agent/tools/__pycache__/apply_patch_tool.cpython-314.pyc +0 -0
  136. package/onecode/agent/tools/__pycache__/bash_tool.cpython-314.pyc +0 -0
  137. package/onecode/agent/tools/__pycache__/communication_tools.cpython-314.pyc +0 -0
  138. package/onecode/agent/tools/__pycache__/config_tool.cpython-314.pyc +0 -0
  139. package/onecode/agent/tools/__pycache__/cron_tools.cpython-314.pyc +0 -0
  140. package/onecode/agent/tools/__pycache__/errors.cpython-314.pyc +0 -0
  141. package/onecode/agent/tools/__pycache__/file_ops.cpython-314.pyc +0 -0
  142. package/onecode/agent/tools/__pycache__/file_tools.cpython-314.pyc +0 -0
  143. package/onecode/agent/tools/__pycache__/git_tools.cpython-314.pyc +0 -0
  144. package/onecode/agent/tools/__pycache__/lsp_tools.cpython-314.pyc +0 -0
  145. package/onecode/agent/tools/__pycache__/mcp_tools.cpython-314.pyc +0 -0
  146. package/onecode/agent/tools/__pycache__/permission_handler.cpython-314.pyc +0 -0
  147. package/onecode/agent/tools/__pycache__/permissions.cpython-314.pyc +0 -0
  148. package/onecode/agent/tools/__pycache__/protocol.cpython-314.pyc +0 -0
  149. package/onecode/agent/tools/__pycache__/registry.cpython-314.pyc +0 -0
  150. package/onecode/agent/tools/__pycache__/sandbox.cpython-314.pyc +0 -0
  151. package/onecode/agent/tools/__pycache__/schema_validation.cpython-314.pyc +0 -0
  152. package/onecode/agent/tools/__pycache__/skill_tools.cpython-314.pyc +0 -0
  153. package/onecode/agent/tools/__pycache__/todo_tools.cpython-314.pyc +0 -0
  154. package/onecode/agent/tools/__pycache__/web_tools.cpython-314.pyc +0 -0
  155. package/onecode/agent/tools/agent_tools.py +0 -132
  156. package/onecode/agent/tools/apply_patch_tool.py +0 -138
  157. package/onecode/agent/tools/bash_tool.py +0 -111
  158. package/onecode/agent/tools/communication_tools.py +0 -148
  159. package/onecode/agent/tools/config_tool.py +0 -130
  160. package/onecode/agent/tools/cron_tools.py +0 -178
  161. package/onecode/agent/tools/errors.py +0 -17
  162. package/onecode/agent/tools/file_ops.py +0 -221
  163. package/onecode/agent/tools/file_tools.py +0 -225
  164. package/onecode/agent/tools/git_tools.py +0 -88
  165. package/onecode/agent/tools/lsp_tools.py +0 -404
  166. package/onecode/agent/tools/mcp_tools.py +0 -127
  167. package/onecode/agent/tools/permission_handler.py +0 -46
  168. package/onecode/agent/tools/permissions.py +0 -77
  169. package/onecode/agent/tools/protocol.py +0 -20
  170. package/onecode/agent/tools/registry.py +0 -201
  171. package/onecode/agent/tools/sandbox.py +0 -358
  172. package/onecode/agent/tools/schema_validation.py +0 -100
  173. package/onecode/agent/tools/skill_tools.py +0 -52
  174. package/onecode/agent/tools/todo_tools.py +0 -207
  175. package/onecode/agent/tools/web_tools.py +0 -169
  176. package/onecode/builtin_skills/agent-browser/SKILL.md +0 -212
  177. package/onecode/builtin_skills/agent-browser/skill.yaml +0 -8
  178. package/onecode/builtin_skills/git/SKILL.md +0 -64
  179. package/onecode/builtin_skills/git/skill.yaml +0 -7
  180. package/onecode/builtin_skills/shell/SKILL.md +0 -58
  181. package/onecode/builtin_skills/shell/skill.yaml +0 -8
  182. package/onecode/builtin_skills/skill-creator/SKILL.md +0 -106
  183. package/onecode/builtin_skills/skill-creator/skill.yaml +0 -8
  184. package/onecode/cli.py +0 -935
  185. package/onecode/cloud/__init__.py +0 -0
  186. package/onecode/cloud/base.py +0 -20
  187. package/onecode/codebase/__init__.py +0 -69
  188. package/onecode/codebase/__pycache__/__init__.cpython-314.pyc +0 -0
  189. package/onecode/codebase/__pycache__/chunker.cpython-314.pyc +0 -0
  190. package/onecode/codebase/__pycache__/indexer.cpython-314.pyc +0 -0
  191. package/onecode/codebase/__pycache__/retriever.cpython-314.pyc +0 -0
  192. package/onecode/codebase/__pycache__/storage.cpython-314.pyc +0 -0
  193. package/onecode/codebase/__pycache__/tools.cpython-314.pyc +0 -0
  194. package/onecode/codebase/chunker.py +0 -125
  195. package/onecode/codebase/indexer.py +0 -149
  196. package/onecode/codebase/retriever.py +0 -203
  197. package/onecode/codebase/storage.py +0 -131
  198. package/onecode/codebase/tools.py +0 -59
  199. package/onecode/commands.py +0 -596
  200. package/onecode/config.py +0 -314
  201. package/onecode/config_screen.py +0 -600
  202. package/onecode/cron/__init__.py +0 -3
  203. package/onecode/lsp/__init__.py +0 -3
  204. package/onecode/mcp/__init__.py +0 -4
  205. package/onecode/mcp/__pycache__/__init__.cpython-314.pyc +0 -0
  206. package/onecode/mcp/__pycache__/client.cpython-314.pyc +0 -0
  207. package/onecode/mcp/__pycache__/manager.cpython-314.pyc +0 -0
  208. package/onecode/mcp/client.py +0 -193
  209. package/onecode/mcp/manager.py +0 -190
  210. package/onecode/memory/__init__.py +0 -49
  211. package/onecode/memory/__pycache__/__init__.cpython-314.pyc +0 -0
  212. package/onecode/memory/__pycache__/backend.cpython-314.pyc +0 -0
  213. package/onecode/memory/__pycache__/offload.cpython-314.pyc +0 -0
  214. package/onecode/memory/__pycache__/pyramid.cpython-314.pyc +0 -0
  215. package/onecode/memory/__pycache__/recall.cpython-314.pyc +0 -0
  216. package/onecode/memory/__pycache__/symbolic.cpython-314.pyc +0 -0
  217. package/onecode/memory/backend.py +0 -159
  218. package/onecode/memory/pyramid.py +0 -133
  219. package/onecode/memory/recall.py +0 -203
  220. package/onecode/migrate.py +0 -122
  221. package/onecode/models/__init__.py +0 -4
  222. package/onecode/models/__pycache__/__init__.cpython-314.pyc +0 -0
  223. package/onecode/models/__pycache__/errors.cpython-314.pyc +0 -0
  224. package/onecode/models/__pycache__/messages.cpython-314.pyc +0 -0
  225. package/onecode/models/__pycache__/provider.cpython-314.pyc +0 -0
  226. package/onecode/models/__pycache__/registry.cpython-314.pyc +0 -0
  227. package/onecode/models/errors.py +0 -104
  228. package/onecode/models/messages.py +0 -739
  229. package/onecode/models/provider.py +0 -699
  230. package/onecode/models/providers/__init__.py +0 -17
  231. package/onecode/models/providers/__pycache__/__init__.cpython-314.pyc +0 -0
  232. package/onecode/models/providers/__pycache__/anthropic_provider.cpython-314.pyc +0 -0
  233. package/onecode/models/providers/__pycache__/deepseek_provider.cpython-314.pyc +0 -0
  234. package/onecode/models/providers/__pycache__/glm_provider.cpython-314.pyc +0 -0
  235. package/onecode/models/providers/__pycache__/minimax_provider.cpython-314.pyc +0 -0
  236. package/onecode/models/providers/__pycache__/minimaxi_provider.cpython-314.pyc +0 -0
  237. package/onecode/models/providers/__pycache__/ollama_provider.cpython-314.pyc +0 -0
  238. package/onecode/models/providers/__pycache__/openai_provider.cpython-314.pyc +0 -0
  239. package/onecode/models/providers/anthropic_provider.py +0 -273
  240. package/onecode/models/providers/deepseek_provider.py +0 -212
  241. package/onecode/models/providers/glm_provider.py +0 -195
  242. package/onecode/models/providers/minimax_provider.py +0 -158
  243. package/onecode/models/providers/minimaxi_provider.py +0 -417
  244. package/onecode/models/providers/ollama_provider.py +0 -100
  245. package/onecode/models/providers/openai_provider.py +0 -237
  246. package/onecode/models/registry.py +0 -212
  247. package/onecode/server/__init__.py +0 -3
  248. package/onecode/server/app.py +0 -224
  249. package/onecode/skills/__init__.py +0 -11
  250. package/onecode/skills/__pycache__/__init__.cpython-314.pyc +0 -0
  251. package/onecode/skills/__pycache__/argument_substitution.cpython-314.pyc +0 -0
  252. package/onecode/skills/__pycache__/bootstrap.cpython-314.pyc +0 -0
  253. package/onecode/skills/__pycache__/create.cpython-314.pyc +0 -0
  254. package/onecode/skills/__pycache__/frontmatter.cpython-314.pyc +0 -0
  255. package/onecode/skills/__pycache__/loader.cpython-314.pyc +0 -0
  256. package/onecode/skills/__pycache__/manager.cpython-314.pyc +0 -0
  257. package/onecode/skills/__pycache__/model.cpython-314.pyc +0 -0
  258. package/onecode/skills/argument_substitution.py +0 -38
  259. package/onecode/skills/bootstrap.py +0 -124
  260. package/onecode/skills/create.py +0 -56
  261. package/onecode/skills/frontmatter.py +0 -33
  262. package/onecode/skills/loader.py +0 -139
  263. package/onecode/skills/manager.py +0 -75
  264. package/onecode/skills/model.py +0 -43
  265. package/onecode/storage/__init__.py +0 -0
  266. package/onecode/storage/activity.py +0 -63
  267. package/onecode/storage/project.py +0 -54
  268. package/onecode/storage/session.py +0 -112
  269. package/onecode/tasks/__init__.py +0 -26
  270. package/onecode/tasks/manager.py +0 -232
  271. package/onecode/tasks/models.py +0 -240
  272. package/onecode/trace/__init__.py +0 -0
  273. package/onecode/trace/tracer.py +0 -173
  274. package/onecode/utils/__init__.py +0 -0
  275. package/onecode/utils/helpers.py +0 -20
  276. package/pyproject.toml +0 -74
  277. package/tui/__init__.py +0 -46
  278. package/tui/__main__.py +0 -4
  279. package/tui/__pycache__/__init__.cpython-314.pyc +0 -0
  280. package/tui/__pycache__/_loop.cpython-314.pyc +0 -0
  281. package/tui/__pycache__/_path_fuzzy_search.cpython-314.pyc +0 -0
  282. package/tui/__pycache__/_path_match.cpython-314.pyc +0 -0
  283. package/tui/__pycache__/about.cpython-314.pyc +0 -0
  284. package/tui/__pycache__/agent.cpython-314.pyc +0 -0
  285. package/tui/__pycache__/agent_schema.cpython-314.pyc +0 -0
  286. package/tui/__pycache__/agents.cpython-314.pyc +0 -0
  287. package/tui/__pycache__/answer.cpython-314.pyc +0 -0
  288. package/tui/__pycache__/app.cpython-313.pyc +0 -0
  289. package/tui/__pycache__/app.cpython-314.pyc +0 -0
  290. package/tui/__pycache__/atomic.cpython-314.pyc +0 -0
  291. package/tui/__pycache__/complete.cpython-314.pyc +0 -0
  292. package/tui/__pycache__/constants.cpython-314.pyc +0 -0
  293. package/tui/__pycache__/conversation_markdown.cpython-314.pyc +0 -0
  294. package/tui/__pycache__/danger.cpython-314.pyc +0 -0
  295. package/tui/__pycache__/db.cpython-314.pyc +0 -0
  296. package/tui/__pycache__/dec.cpython-314.pyc +0 -0
  297. package/tui/__pycache__/directory.cpython-314.pyc +0 -0
  298. package/tui/__pycache__/directory_suggester.cpython-314.pyc +0 -0
  299. package/tui/__pycache__/directory_watcher.cpython-314.pyc +0 -0
  300. package/tui/__pycache__/format_path.cpython-314.pyc +0 -0
  301. package/tui/__pycache__/fuzzy.cpython-314.pyc +0 -0
  302. package/tui/__pycache__/fuzzy_index.cpython-314.pyc +0 -0
  303. package/tui/__pycache__/history.cpython-314.pyc +0 -0
  304. package/tui/__pycache__/jsonrpc.cpython-314.pyc +0 -0
  305. package/tui/__pycache__/menus.cpython-314.pyc +0 -0
  306. package/tui/__pycache__/message_log.cpython-314.pyc +0 -0
  307. package/tui/__pycache__/messages.cpython-314.pyc +0 -0
  308. package/tui/__pycache__/path_complete.cpython-314.pyc +0 -0
  309. package/tui/__pycache__/path_filter.cpython-314.pyc +0 -0
  310. package/tui/__pycache__/paths.cpython-314.pyc +0 -0
  311. package/tui/__pycache__/pill.cpython-314.pyc +0 -0
  312. package/tui/__pycache__/platform_commands.cpython-314.pyc +0 -0
  313. package/tui/__pycache__/protocol.cpython-314.pyc +0 -0
  314. package/tui/__pycache__/session_tracker.cpython-314.pyc +0 -0
  315. package/tui/__pycache__/settings.cpython-314.pyc +0 -0
  316. package/tui/__pycache__/settings_schema.cpython-314.pyc +0 -0
  317. package/tui/__pycache__/shell.cpython-314.pyc +0 -0
  318. package/tui/__pycache__/shell_read.cpython-314.pyc +0 -0
  319. package/tui/__pycache__/slash_command.cpython-314.pyc +0 -0
  320. package/tui/__pycache__/version.cpython-314.pyc +0 -0
  321. package/tui/_loop.py +0 -86
  322. package/tui/_path_fuzzy_search.py +0 -48
  323. package/tui/_path_match.py +0 -141
  324. package/tui/about.py +0 -95
  325. package/tui/acp/__pycache__/agent.cpython-314.pyc +0 -0
  326. package/tui/acp/__pycache__/api.cpython-314.pyc +0 -0
  327. package/tui/acp/__pycache__/encode_tool_call_id.cpython-314.pyc +0 -0
  328. package/tui/acp/__pycache__/messages.cpython-314.pyc +0 -0
  329. package/tui/acp/__pycache__/prompt.cpython-314.pyc +0 -0
  330. package/tui/acp/__pycache__/protocol.cpython-314.pyc +0 -0
  331. package/tui/acp/agent.py +0 -1002
  332. package/tui/acp/api.py +0 -73
  333. package/tui/acp/encode_tool_call_id.py +0 -12
  334. package/tui/acp/messages.py +0 -203
  335. package/tui/acp/prompt.py +0 -53
  336. package/tui/acp/protocol.py +0 -499
  337. package/tui/agent.py +0 -70
  338. package/tui/agent_schema.py +0 -76
  339. package/tui/agents.py +0 -46
  340. package/tui/ansi/__init__.py +0 -1
  341. package/tui/ansi/__pycache__/__init__.cpython-314.pyc +0 -0
  342. package/tui/ansi/__pycache__/_ansi.cpython-314.pyc +0 -0
  343. package/tui/ansi/__pycache__/_ansi_colors.cpython-314.pyc +0 -0
  344. package/tui/ansi/__pycache__/_control_codes.cpython-314.pyc +0 -0
  345. package/tui/ansi/__pycache__/_keys.cpython-314.pyc +0 -0
  346. package/tui/ansi/__pycache__/_sgr_styles.cpython-314.pyc +0 -0
  347. package/tui/ansi/__pycache__/_stream_parser.cpython-314.pyc +0 -0
  348. package/tui/ansi/_ansi.py +0 -1689
  349. package/tui/ansi/_ansi_colors.py +0 -264
  350. package/tui/ansi/_control_codes.py +0 -37
  351. package/tui/ansi/_keys.py +0 -251
  352. package/tui/ansi/_sgr_styles.py +0 -64
  353. package/tui/ansi/_stream_parser.py +0 -418
  354. package/tui/answer.py +0 -12
  355. package/tui/app.py +0 -1266
  356. package/tui/atomic.py +0 -37
  357. package/tui/cli.py +0 -313
  358. package/tui/code_analyze.py +0 -27
  359. package/tui/complete.py +0 -38
  360. package/tui/constants.py +0 -61
  361. package/tui/conversation_markdown.py +0 -30
  362. package/tui/danger.py +0 -372
  363. package/tui/data/agents/ampcode.com.toml +0 -52
  364. package/tui/data/agents/augmentcode.com.toml +0 -41
  365. package/tui/data/agents/cdh.cloud-dev-harness.toml +0 -23
  366. package/tui/data/agents/claude.com.toml +0 -41
  367. package/tui/data/agents/copilot.github.com.toml +0 -29
  368. package/tui/data/agents/crowai.dev.toml +0 -36
  369. package/tui/data/agents/cursor.com.toml +0 -38
  370. package/tui/data/agents/deepagents.langchain.com +0 -34
  371. package/tui/data/agents/docker.com.toml +0 -60
  372. package/tui/data/agents/geminicli.com.toml +0 -28
  373. package/tui/data/agents/goose.ai.toml +0 -52
  374. package/tui/data/agents/inference.huggingface.co.toml +0 -41
  375. package/tui/data/agents/kimi.com.toml +0 -35
  376. package/tui/data/agents/kiro.dev.toml +0 -43
  377. package/tui/data/agents/onecode.dev.toml +0 -22
  378. package/tui/data/agents/openai.com.toml +0 -53
  379. package/tui/data/agents/openclaw.ai.toml +0 -37
  380. package/tui/data/agents/opencode.ai.toml +0 -39
  381. package/tui/data/agents/openhands.dev.toml +0 -46
  382. package/tui/data/agents/stakpak.dev.toml +0 -62
  383. package/tui/data/agents/vibe.mistral.ai.toml +0 -31
  384. package/tui/data/agents/vtcode.dev.toml +0 -63
  385. package/tui/data/images/frog.png +0 -0
  386. package/tui/data/sounds/question.wav +0 -0
  387. package/tui/data/sounds/turn-over.wav +0 -0
  388. package/tui/db.py +0 -213
  389. package/tui/dec.py +0 -332
  390. package/tui/directory.py +0 -234
  391. package/tui/directory_suggester.py +0 -93
  392. package/tui/directory_watcher.py +0 -231
  393. package/tui/format_path.py +0 -25
  394. package/tui/fuzzy.py +0 -140
  395. package/tui/fuzzy_index.py +0 -275
  396. package/tui/gist.py +0 -33
  397. package/tui/history.py +0 -138
  398. package/tui/jsonrpc.py +0 -578
  399. package/tui/menus.py +0 -14
  400. package/tui/message_log.py +0 -69
  401. package/tui/messages.py +0 -144
  402. package/tui/option_content.py +0 -51
  403. package/tui/os.py +0 -0
  404. package/tui/path_complete.py +0 -217
  405. package/tui/path_filter.py +0 -124
  406. package/tui/paths.py +0 -87
  407. package/tui/pill.py +0 -23
  408. package/tui/platform_commands.py +0 -52
  409. package/tui/prompt/__pycache__/extract.cpython-314.pyc +0 -0
  410. package/tui/prompt/__pycache__/resource.cpython-314.pyc +0 -0
  411. package/tui/prompt/extract.py +0 -19
  412. package/tui/prompt/resource.py +0 -68
  413. package/tui/protocol.py +0 -28
  414. package/tui/screens/__init__.py +0 -0
  415. package/tui/screens/__pycache__/__init__.cpython-314.pyc +0 -0
  416. package/tui/screens/__pycache__/agent_modal.cpython-314.pyc +0 -0
  417. package/tui/screens/__pycache__/component_picker.cpython-314.pyc +0 -0
  418. package/tui/screens/__pycache__/diff_screen.cpython-314.pyc +0 -0
  419. package/tui/screens/__pycache__/log.cpython-314.pyc +0 -0
  420. package/tui/screens/__pycache__/main.cpython-313.pyc +0 -0
  421. package/tui/screens/__pycache__/main.cpython-314.pyc +0 -0
  422. package/tui/screens/__pycache__/permissions.cpython-314.pyc +0 -0
  423. package/tui/screens/__pycache__/projects_app.cpython-314.pyc +0 -0
  424. package/tui/screens/__pycache__/projects_screen.cpython-314.pyc +0 -0
  425. package/tui/screens/__pycache__/sessions.cpython-314.pyc +0 -0
  426. package/tui/screens/__pycache__/store.cpython-314.pyc +0 -0
  427. package/tui/screens/__pycache__/tool_content_screen.cpython-314.pyc +0 -0
  428. package/tui/screens/action_modal.py +0 -94
  429. package/tui/screens/agent_modal.py +0 -175
  430. package/tui/screens/command_edit_modal.py +0 -74
  431. package/tui/screens/component_picker.py +0 -168
  432. package/tui/screens/diff_screen.py +0 -84
  433. package/tui/screens/log.py +0 -553
  434. package/tui/screens/main.py +0 -385
  435. package/tui/screens/main.tcss +0 -655
  436. package/tui/screens/permissions.py +0 -404
  437. package/tui/screens/permissions.tcss +0 -72
  438. package/tui/screens/projects.tcss +0 -80
  439. package/tui/screens/projects_app.py +0 -347
  440. package/tui/screens/projects_screen.py +0 -284
  441. package/tui/screens/session_resume_modal.py +0 -172
  442. package/tui/screens/session_resume_modal.tcss +0 -35
  443. package/tui/screens/sessions.py +0 -164
  444. package/tui/screens/sessions.tcss +0 -119
  445. package/tui/screens/settings.py +0 -254
  446. package/tui/screens/settings.tcss +0 -101
  447. package/tui/screens/store.py +0 -500
  448. package/tui/screens/store.tcss +0 -274
  449. package/tui/screens/tool_content_screen.py +0 -59
  450. package/tui/session_tracker.py +0 -123
  451. package/tui/settings.py +0 -353
  452. package/tui/settings_schema.py +0 -431
  453. package/tui/shell.py +0 -304
  454. package/tui/shell_read.py +0 -42
  455. package/tui/slash_command.py +0 -34
  456. package/tui/tui.tcss +0 -246
  457. package/tui/twitter.py +0 -38
  458. package/tui/version.py +0 -80
  459. package/tui/visuals/__init__.py +0 -0
  460. package/tui/visuals/__pycache__/__init__.cpython-314.pyc +0 -0
  461. package/tui/visuals/__pycache__/columns.cpython-314.pyc +0 -0
  462. package/tui/visuals/columns.py +0 -272
  463. package/tui/widgets/__init__.py +0 -0
  464. package/tui/widgets/__pycache__/__init__.cpython-314.pyc +0 -0
  465. package/tui/widgets/__pycache__/acp_content.cpython-314.pyc +0 -0
  466. package/tui/widgets/__pycache__/agent_response.cpython-314.pyc +0 -0
  467. package/tui/widgets/__pycache__/agent_thought.cpython-314.pyc +0 -0
  468. package/tui/widgets/__pycache__/ask_user.cpython-314.pyc +0 -0
  469. package/tui/widgets/__pycache__/condensed_path.cpython-314.pyc +0 -0
  470. package/tui/widgets/__pycache__/context_stats.cpython-314.pyc +0 -0
  471. package/tui/widgets/__pycache__/conversation.cpython-314.pyc +0 -0
  472. package/tui/widgets/__pycache__/diff_view.cpython-314.pyc +0 -0
  473. package/tui/widgets/__pycache__/directory_input.cpython-314.pyc +0 -0
  474. package/tui/widgets/__pycache__/flash.cpython-314.pyc +0 -0
  475. package/tui/widgets/__pycache__/future_text.cpython-314.pyc +0 -0
  476. package/tui/widgets/__pycache__/grid_select.cpython-314.pyc +0 -0
  477. package/tui/widgets/__pycache__/highlighted_textarea.cpython-314.pyc +0 -0
  478. package/tui/widgets/__pycache__/load_more.cpython-314.pyc +0 -0
  479. package/tui/widgets/__pycache__/mandelbrot.cpython-314.pyc +0 -0
  480. package/tui/widgets/__pycache__/markdown_note.cpython-314.pyc +0 -0
  481. package/tui/widgets/__pycache__/menu.cpython-314.pyc +0 -0
  482. package/tui/widgets/__pycache__/modified_files.cpython-314.pyc +0 -0
  483. package/tui/widgets/__pycache__/non_selectable_label.cpython-314.pyc +0 -0
  484. package/tui/widgets/__pycache__/note.cpython-314.pyc +0 -0
  485. package/tui/widgets/__pycache__/path_search.cpython-314.pyc +0 -0
  486. package/tui/widgets/__pycache__/plan.cpython-314.pyc +0 -0
  487. package/tui/widgets/__pycache__/project_directory_tree.cpython-314.pyc +0 -0
  488. package/tui/widgets/__pycache__/project_grid_select.cpython-314.pyc +0 -0
  489. package/tui/widgets/__pycache__/project_summary.cpython-314.pyc +0 -0
  490. package/tui/widgets/__pycache__/prompt.cpython-314.pyc +0 -0
  491. package/tui/widgets/__pycache__/question.cpython-314.pyc +0 -0
  492. package/tui/widgets/__pycache__/session_grid_select.cpython-314.pyc +0 -0
  493. package/tui/widgets/__pycache__/session_summary.cpython-314.pyc +0 -0
  494. package/tui/widgets/__pycache__/session_tabs.cpython-314.pyc +0 -0
  495. package/tui/widgets/__pycache__/shell_result.cpython-314.pyc +0 -0
  496. package/tui/widgets/__pycache__/shell_terminal.cpython-314.pyc +0 -0
  497. package/tui/widgets/__pycache__/side_bar.cpython-314.pyc +0 -0
  498. package/tui/widgets/__pycache__/slash_complete.cpython-314.pyc +0 -0
  499. package/tui/widgets/__pycache__/strike_text.cpython-314.pyc +0 -0
  500. package/tui/widgets/__pycache__/subagent.cpython-314.pyc +0 -0
  501. package/tui/widgets/__pycache__/subagent_screen.cpython-314.pyc +0 -0
  502. package/tui/widgets/__pycache__/terminal.cpython-314.pyc +0 -0
  503. package/tui/widgets/__pycache__/throbber.cpython-314.pyc +0 -0
  504. package/tui/widgets/__pycache__/tool_call.cpython-314.pyc +0 -0
  505. package/tui/widgets/__pycache__/user_input.cpython-314.pyc +0 -0
  506. package/tui/widgets/acp_content.py +0 -70
  507. package/tui/widgets/agent_response.py +0 -76
  508. package/tui/widgets/agent_thought.py +0 -167
  509. package/tui/widgets/ask_user.py +0 -264
  510. package/tui/widgets/command_pane.py +0 -223
  511. package/tui/widgets/condensed_path.py +0 -115
  512. package/tui/widgets/context_stats.py +0 -66
  513. package/tui/widgets/conversation.py +0 -2641
  514. package/tui/widgets/danger_warning.py +0 -65
  515. package/tui/widgets/diff_view.py +0 -69
  516. package/tui/widgets/directory_input.py +0 -8
  517. package/tui/widgets/flash.py +0 -81
  518. package/tui/widgets/future_text.py +0 -126
  519. package/tui/widgets/grid_select.py +0 -234
  520. package/tui/widgets/highlighted_textarea.py +0 -180
  521. package/tui/widgets/load_more.py +0 -24
  522. package/tui/widgets/mandelbrot.py +0 -294
  523. package/tui/widgets/markdown_note.py +0 -13
  524. package/tui/widgets/menu.py +0 -147
  525. package/tui/widgets/modified_files.py +0 -306
  526. package/tui/widgets/non_selectable_label.py +0 -5
  527. package/tui/widgets/note.py +0 -18
  528. package/tui/widgets/path_search.py +0 -492
  529. package/tui/widgets/plan.py +0 -285
  530. package/tui/widgets/project_directory_tree.py +0 -102
  531. package/tui/widgets/project_grid_select.py +0 -64
  532. package/tui/widgets/project_summary.py +0 -33
  533. package/tui/widgets/prompt.py +0 -795
  534. package/tui/widgets/question.py +0 -360
  535. package/tui/widgets/session_grid_select.py +0 -230
  536. package/tui/widgets/session_summary.py +0 -115
  537. package/tui/widgets/session_tabs.py +0 -188
  538. package/tui/widgets/shell_result.py +0 -35
  539. package/tui/widgets/shell_terminal.py +0 -40
  540. package/tui/widgets/side_bar.py +0 -124
  541. package/tui/widgets/slash_complete.py +0 -235
  542. package/tui/widgets/strike_text.py +0 -70
  543. package/tui/widgets/subagent.py +0 -287
  544. package/tui/widgets/subagent_screen.py +0 -709
  545. package/tui/widgets/terminal.py +0 -576
  546. package/tui/widgets/terminal_tool.py +0 -360
  547. package/tui/widgets/throbber.py +0 -100
  548. package/tui/widgets/tool_call.py +0 -398
  549. package/tui/widgets/user_input.py +0 -23
  550. package/tui/widgets/version.py +0 -5
  551. package/tui/widgets/welcome.py +0 -31
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@scemoon/cdh",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Cloud Dev Harness - cloud-native development Agent framework",
5
- "keywords": ["ai", "agent", "cloud", "development", "cli", "tui"],
5
+ "keywords": ["ai", "agent", "cloud", "development", "cli", "cdc"],
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
package/run.js CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env node
2
- const { spawn, execSync } = require('child_process');
2
+ const { spawn, spawnSync, execSync } = require('child_process');
3
3
  const path = require('path');
4
+ const fs = require('fs');
5
+ const os = require('os');
4
6
  const pkg = require('./package.json');
5
7
 
6
8
  function exec(cmd, opts = {}) {
@@ -11,6 +13,12 @@ function exec(cmd, opts = {}) {
11
13
  }
12
14
  }
13
15
 
16
+ function execVerbose(cmd, label) {
17
+ if (label) console.log(`cdh: ${label}`);
18
+ const r = spawnSync(cmd, { shell: true, stdio: 'inherit' });
19
+ return { ok: r.status === 0 };
20
+ }
21
+
14
22
  function checkPython() {
15
23
  const script = 'import sys; v=sys.version_info; print(f"{v.major}.{v.minor}")';
16
24
  const r = exec(`python3 -c "${script}"`);
@@ -32,11 +40,49 @@ function checkCdhInstalled(pythonCmd) {
32
40
  return exec(`${pythonCmd} -m pip show cloud-dev-harness 2>/dev/null`).ok;
33
41
  }
34
42
 
43
+ function uninstallCmd() {
44
+ const cdhDir = path.join(os.homedir(), '.cdh');
45
+ const pythonDir = path.join(cdhDir, 'python');
46
+
47
+ console.log('cdh: Uninstalling Cloud Dev Harness...');
48
+ console.log('');
49
+
50
+ if (fs.existsSync(pythonDir)) {
51
+ console.log(`cdh: Removing Python environment at ${pythonDir}...`);
52
+ fs.rmSync(pythonDir, { recursive: true, force: true });
53
+ }
54
+
55
+ if (fs.existsSync(cdhDir)) {
56
+ console.log(`cdh: Removing global state at ${cdhDir}...`);
57
+ fs.rmSync(cdhDir, { recursive: true, force: true });
58
+ }
59
+
60
+ console.log('');
61
+ console.log('cdh: Cleanup complete. To finish uninstall:');
62
+ console.log('');
63
+ console.log(' 1. Remove the npm package:');
64
+ console.log(' pnpm remove -g @scemoon/cdh');
65
+ console.log(' # or: npm uninstall -g @scemoon/cdh');
66
+ console.log('');
67
+ console.log(' 2. Check your shell config (~/.zshrc, ~/.bashrc, etc.) for:');
68
+ console.log(' export PATH="$HOME/.cdh/python/bin:$PATH"');
69
+ console.log(' Remove this line if present.');
70
+ console.log('');
71
+
72
+ process.exit(0);
73
+ }
74
+
35
75
  function run(pythonModule) {
36
76
  const PKG_DIR = __dirname;
37
- const PYTHON_ENV_DIR = path.join(require('os').homedir(), '.cdh', 'python');
77
+ const PYTHON_ENV_DIR = path.join(os.homedir(), '.cdh', 'python');
38
78
 
39
79
  const args = process.argv.slice(2);
80
+
81
+ if (args[0] === 'uninstall') {
82
+ uninstallCmd();
83
+ return;
84
+ }
85
+
40
86
  if (args.includes('--version') || args.includes('-v')) {
41
87
  console.log(pkg.version);
42
88
  process.exit(0);
@@ -49,13 +95,19 @@ function run(pythonModule) {
49
95
  console.error(`cdh: Python ${py.version || 'not found'}, version 3.14+ is required.`);
50
96
 
51
97
  if (checkUv()) {
52
- console.log('cdh: Creating Python environment with uv...');
53
- exec(`uv venv "${PYTHON_ENV_DIR}"`);
98
+ if (fs.existsSync(PYTHON_ENV_DIR)) {
99
+ console.log('cdh: Python environment exists, reusing...');
100
+ } else {
101
+ const rv = execVerbose(`uv venv "${PYTHON_ENV_DIR}"`, 'Creating Python environment with uv...');
102
+ if (!rv.ok) {
103
+ console.error('cdh: Failed to create Python environment.');
104
+ process.exit(1);
105
+ }
106
+ }
54
107
  const venvPython = path.join(PYTHON_ENV_DIR, 'bin', 'python');
55
- console.log('cdh: Installing cloud-dev-harness...');
56
- const r = exec(`uv pip install "${PKG_DIR}" --python "${venvPython}"`);
57
- if (!r.ok) {
58
- console.error('cdh: Install failed:', r.out);
108
+ const ri = execVerbose(`uv pip install "${PKG_DIR}" --python "${venvPython}"`, 'Installing cloud-dev-harness...');
109
+ if (!ri.ok) {
110
+ console.error('cdh: Install failed.');
59
111
  process.exit(1);
60
112
  }
61
113
  if (isPostinstall) {
@@ -72,12 +124,14 @@ function run(pythonModule) {
72
124
  }
73
125
 
74
126
  if (!checkCdhInstalled(py.pythonCmd)) {
75
- console.log('cdh: Installing cloud-dev-harness...');
76
- const r = checkUv()
77
- ? exec(`uv pip install "${PKG_DIR}" --python "${py.pythonCmd}"`)
78
- : exec(`${py.pythonCmd} -m pip install "${PKG_DIR}"`);
79
- if (!r.ok) {
80
- console.error('cdh: Install failed:', r.out);
127
+ let ri;
128
+ if (checkUv()) {
129
+ ri = execVerbose(`uv pip install "${PKG_DIR}" --python "${py.pythonCmd}"`, 'Installing cloud-dev-harness...');
130
+ } else {
131
+ ri = execVerbose(`${py.pythonCmd} -m pip install "${PKG_DIR}"`, 'Installing cloud-dev-harness...');
132
+ }
133
+ if (!ri.ok) {
134
+ console.error('cdh: Install failed.');
81
135
  process.exit(1);
82
136
  }
83
137
  }
@@ -1,77 +0,0 @@
1
- ---
2
- name: ai-dlc-skill
3
- description: |
4
- AI-Driven Development Lifecycle for monorepo multi-component stacks.
5
- Adaptive orchestration: Master Agent evaluates complexity, delegates sub-tasks.
6
- allowed_tools:
7
- - read
8
- - grep
9
- - glob
10
- - bash
11
- - edit
12
- - write
13
- - webfetch
14
- - websearch
15
- - task
16
- - skill
17
- triggers:
18
- - ai-dlc
19
- - ai dlc
20
- compatibility:
21
- cdh: ">=1.4"
22
- opencode: ">=1.15"
23
- claude-code: ">=1.0"
24
- openai-codex: ">=1.0"
25
- cursor: ">=0.45"
26
- license: Apache-2.0
27
- metadata:
28
- version: "4.0.0"
29
- stack_topology: monorepo
30
- fr_namespaces: [NATIVE, DESKTOP, WEB, BE, WXA, MYA, TTA, INT]
31
- ---
32
-
33
- # AI-DLC Master Orchestrator
34
-
35
- ## Core Cycle
36
-
37
- ```
38
- ① Understand (SDD+BDD) Intent → Spec Delta → BDD Feature Files
39
- ② Plan (SDD+TDD) Design Doc → Task DAG → Test Plan
40
- ③ Verify (BDD+TDD) Red → Green → Refactor per scenario
41
- ④ Deliver (SDD+Cloud) Stack Preview → e2e → Production + BVT
42
- ```
43
-
44
- ## Components
45
-
46
- | Prefix | Component | Directory | FR Namespace |
47
- |--------|-----------|-----------|--------------|
48
- | NATIVE | Mobile | `apps/native/` | `NATIVE-FR-NNN` |
49
- | DESKTOP | Desktop | `apps/desktop/` | `DESKTOP-FR-NNN` |
50
- | WEB | Browser | `apps/web/` | `WEB-FR-NNN` |
51
- | BE | Service | `apps/backend/` | `BE-FR-NNN` |
52
- | WXA | WeChat Mini | `apps/wxa/` | `WXA-FR-NNN` |
53
- | MYA | Alipay Mini | `apps/mya/` | `MYA-FR-NNN` |
54
- | TTA | TikTok Mini | `apps/tta/` | `TTA-FR-NNN` |
55
- | INT | Contracts | `aidlc/contracts/`, `aidlc/packages/shared/` | `INT-FR-NNN` |
56
-
57
- ## Adaptive Flow
58
-
59
- See `core/adaptive-flow.md` for complexity assessment.
60
-
61
- 1. Analyze intent → determine complexity (L1-L5)
62
- 2. Select phases to execute
63
- 3. Delegate each phase via `Spawn(agent_type="general", prompt=...)` using the phase's `prompt.md`
64
- 4. Collect results, enforce gates, iterate or advance
65
-
66
- ```
67
-
68
- ## Phase Reference
69
-
70
- | Phase | Lifecycle | Rules | Practices |
71
- |-------|-----------|-------|-----------|
72
- | ① Understand | `phases/understand/lifecycle.md` | `phases/understand/rules.md` | SDD, BDD |
73
- | ② Plan | `phases/plan/lifecycle.md` | `phases/plan/rules.md` | SDD, TDD |
74
- | ③ Verify | `phases/verify/lifecycle.md` | `phases/verify/rules.md` | BDD, TDD |
75
- | ④ Deliver | `phases/deliver/lifecycle.md` | `phases/deliver/rules.md` | SDD, Cloud |
76
-
77
- Security baseline: `core/security.md` (all phases).
@@ -1,24 +0,0 @@
1
- # Deliver Agent 指令
2
-
3
- 你是一个 AI-DLC Deliver Phase Agent。
4
- 由 Master Agent 委派处理部署交付。
5
-
6
- ## 入口
7
-
8
- `phases/deliver/prompt.md` — 完整的委派 prompt 模板。
9
- `phases/deliver/lifecycle.md` — 阶段流程说明。
10
- `phases/deliver/rules.md` — DLV-001 到 DLV-004 + STK-001 到 STK-006 规则。
11
-
12
- ## 关键产出
13
-
14
- 1. Stack Preview → `deploy_stack --preview`
15
- 2. Per-component e2e + Cross-stack e2e
16
- 3. Staging smoke test
17
- 4. Production deploy + BVT
18
- 5. Stack rollback(BVT 失败时)
19
-
20
- ## 约束
21
-
22
- - 遵守 `core/security.md`
23
- - Production deploy 必须等待 Human Approval
24
- - BVT 失败自动触发 stack rollback
@@ -1,50 +0,0 @@
1
- # Master Agent 指令
2
-
3
- 你是 AI-DLC Master Orchestrator Agent。
4
-
5
- ## 职责
6
-
7
- 1. **分析意图**:读取用户输入,判断复杂度级别 L1-L5
8
- 2. **选择阶段**:根据复杂度选择需执行的 phase 序列
9
- 3. **委派执行**:对每个 phase 使用 `Task(agent_type="general", prompt="...")` 委派给子 Agent
10
- 4. **收集结果**:检查每个 phase 的 Gate 是否通过
11
- 5. **Human Gate**:关键决策点(breaking change、production deploy)暂停等待用户确认
12
-
13
- ## ⚠️ 角色边界(重要)
14
-
15
- - **你(主 Agent)负责所有规划**:分析复杂度、创建 TODO、判断直行还是 Spawn
16
- - **子 Agent 是叶子节点**:只做实现,不可嵌套
17
- - **禁止**:把"分析复杂度"或"判断是否 Spawn"的逻辑下放给子 Agent
18
-
19
- ## 复杂度判断
20
-
21
- 见 `core/adaptive-flow.md`。
22
-
23
- ## 委派模式
24
-
25
- ```python
26
- # 示例:委派 Understand Phase
27
- Task(
28
- agent_type="general",
29
- prompt=f"""
30
- 你是一个 Understand Phase Agent。
31
- 请完成以下任务:
32
- 1. 读取 phases/understand/prompt.md 获取完整指令
33
- 2. 对 {intent_desc} 执行需求分析
34
- 3. 遵守 phases/understand/rules.md 中的规则
35
- """
36
- )
37
- ```
38
-
39
- ## Phase 执行参考
40
-
41
- | Phase | Prompt | Rules |
42
- |-------|--------|-------|
43
- | Understand | `phases/understand/prompt.md` | `phases/understand/rules.md` |
44
- | Plan | `phases/plan/prompt.md` | `phases/plan/rules.md` |
45
- | Verify | `phases/verify/prompt.md` | `phases/verify/rules.md` |
46
- | Deliver | `phases/deliver/prompt.md` | `phases/deliver/rules.md` |
47
-
48
- ## 安全基线
49
-
50
- 始终遵守 `core/security.md`。
@@ -1,23 +0,0 @@
1
- # Plan Agent 指令
2
-
3
- 你是一个 AI-DLC Plan Phase Agent。
4
- 由 Master Agent 委派处理方案设计。
5
-
6
- ## 入口
7
-
8
- `phases/plan/prompt.md` — 完整的委派 prompt 模板。
9
- `phases/plan/lifecycle.md` — 阶段流程说明。
10
- `phases/plan/rules.md` — PLN-001 到 PLN-004 规则。
11
-
12
- ## 关键产出
13
-
14
- 1. Design Doc → `aidlc/openspec/changes/{id}/design.md`
15
- 2. Task DAG → `aidlc/openspec/changes/{id}/task-list.md`
16
- 3. Test Plan → embedded in task-list
17
- 4. Contract Plan → `contract-diff.md` 占位
18
-
19
- ## 约束
20
-
21
- - 遵守 `core/security.md`
22
- - 遵守 STK-001, STK-002
23
- - 完成前必须通过 Human Gate
@@ -1,23 +0,0 @@
1
- # Understand Agent 指令
2
-
3
- 你是一个 AI-DLC Understand Phase Agent。
4
- 由 Master Agent 委派处理需求分析。
5
-
6
- ## 入口
7
-
8
- `phases/understand/prompt.md` — 完整的委派 prompt 模板。
9
- `phases/understand/lifecycle.md` — 阶段流程说明。
10
- `phases/understand/rules.md` — UND-001 到 UND-006 规则。
11
-
12
- ## 关键产出
13
-
14
- 1. Intent 捕获 → `aidlc/requirements.md`
15
- 2. Spec Delta (EARS) → `aidlc/openspec/changes/{id}/spec-delta.md`
16
- 3. BDD Feature 文件 → `apps/{component}/features/`
17
- 4. 跨组件 Feature 文件 → `aidlc/features/cross-stack/`(如适用)
18
- 5. 合约文件 → `aidlc/contracts/{api,events}/`(跨组件时)
19
-
20
- ## 约束
21
-
22
- - 遵守 `core/security.md`
23
- - 完成前必须通过 Human Gate
@@ -1,27 +0,0 @@
1
- # Verify Agent 指令
2
-
3
- 你是一个 AI-DLC Verify Phase Agent。
4
- 由 Master Agent 委派处理测试验证。
5
-
6
- ## 入口
7
-
8
- `phases/verify/prompt.md` — 完整的委派 prompt 模板。
9
- `phases/verify/lifecycle.md` — 阶段流程说明。
10
- `phases/verify/rules.md` — VRF-001 到 VRF-006 + INT-001 到 INT-006 规则。
11
-
12
- ## 关键产出
13
-
14
- 1. TDD 测试代码 → `apps/{component}/tests/`
15
- 2. TDD 实现代码 → `apps/{component}/src/`
16
- 3. BDD step defs → `apps/{component}/features/steps/`
17
- 4. 合约测试 → `tests/contract/`
18
- 5. 跨组件 e2e → `tests/cross-stack/`
19
- 6. Contract Diff → `aidlc/openspec/changes/{id}/contract-diff.md`
20
-
21
- ## 质量门禁
22
-
23
- - coverage ≥ 80%
24
- - BDD scenarios 100% pass
25
- - 0 vulns, no TODO
26
- - Contract backward-compat
27
- - Cross-stack e2e 100% pass
@@ -1,78 +0,0 @@
1
- # 项目工程目录架构
2
-
3
- ## 顶层布局
4
-
5
- ```
6
- {{project_root}}/
7
- ├── apps/
8
- │ ├── native/ # NATIVE-FR-* Mobile (Flutter/Dart)
9
- │ ├── desktop/ # DESKTOP-FR-* Desktop (Electron/TypeScript)
10
- │ ├── web/ # WEB-FR-* Browser (Next.js/TypeScript)
11
- │ ├── backend/ # BE-FR-* Service (Python / Node / Go)
12
- │ ├── wxa/ # WXA-FR-* WeChat Mini Program (Vant Weapp/JavaScript)
13
- │ ├── mya/ # MYA-FR-* Alipay Mini Program (Ant Design Mini/JavaScript)
14
- │ └── tta/ # TTA-FR-* TikTok Mini Program (TypeScript)
15
- ├── aidlc/contracts/ # INT-FR-* OpenAPI / AsyncAPI / Runtime Contract
16
- │ ├── api/
17
- │ ├── events/
18
- │ └── functions/
19
- ├── aidlc/packages/shared/ # INT-FR-* 从 contracts 生成的共享类型
20
- ├── aidlc/features/ # BDD feature 文件
21
- │ └── cross-stack/ # 跨组件集成场景
22
- ├── aidlc/tests/
23
- │ ├── contract/ # 合约测试 (INT-FR 级别, provider-agnostic)
24
- │ └── cross-stack/ # 跨组件 e2e 测试 (对 STACK_URL 运行)
25
- ├── aidlc/openspec/ # AI-DLC 生命周期产出物
26
- │ └── changes/{id}/
27
- │ ├── spec-delta.md
28
- │ ├── design.md
29
- │ ├── task-list.md
30
- │ ├── contract-diff.md
31
- │ └── walkthrough.md
32
- ├── aidlc/providers/ # 云平台部署配置
33
- │ ├── tcb/
34
- │ └── aliyun/
35
- ├── aidlc/tools/ # 脚手架脚本
36
- │ ├── generate_shared.py
37
- │ └── contract_diff.py
38
- ├── .opencode/ # OpenCode 配置
39
- │ └── skills/ai-dlc-skill/
40
- ├── .cdh/ # CDHA 项目状态
41
- │ ├── config.yaml
42
- │ ├── state.json
43
- │ └── SKILL.md
44
- └── aidlc/AI-DLC-CONTEXT.md # Brownfield 上下文摘要 (自动生成)
45
- ```
46
-
47
- ## 组件内部结构 (标准模板)
48
-
49
- ```
50
- apps/{component}/
51
- ├── src/ # 实现代码
52
- │ └── {module}/
53
- ├── tests/
54
- │ ├── unit/ # TDD 单元测试
55
- │ ├── integration/ # 集成测试 (含 DB)
56
- │ └── e2e/ # E2E 测试 (对 preview URL)
57
- ├── features/ # BDD feature 文件
58
- │ └── steps/ # BDD step definitions
59
- ├── contracts/ # 组件级合约引用
60
- ├── .skill/ # 组件级 Skill (自动生成)
61
- │ └── SKILL.md
62
- ├── package.json
63
- └── ...
64
- ```
65
-
66
- ## FR 命名空间 ↔ 目录映射
67
-
68
- | FR 前缀 | 目录 | 测试目录 | e2e target |
69
- |---------|------|---------|------------|
70
- | NATIVE-FR-NNN | `apps/native/src/` | `apps/native/tests/` | BACKEND_URL |
71
- | DESKTOP-FR-NNN | `apps/desktop/src/` | `apps/desktop/tests/` | BACKEND_URL |
72
- | WEB-FR-NNN | `apps/web/src/` | `apps/web/tests/` | WEB_URL + BACKEND_URL |
73
- | BE-FR-NNN | `apps/backend/src/` | `apps/backend/tests/` | BACKEND_URL |
74
- | WXA-FR-NNN | `apps/wxa/` | `apps/wxa/tests/` | BACKEND_URL |
75
- | MYA-FR-NNN | `apps/mya/` | `apps/mya/tests/` | BACKEND_URL |
76
- | TTA-FR-NNN | `apps/tta/` | `apps/tta/tests/` | BACKEND_URL |
77
- | INT-FR-NNN | `aidlc/contracts/` + `aidlc/packages/shared/` | `aidlc/tests/contract/` | generated types |
78
- | 跨组件 | `aidlc/features/cross-stack/` | `aidlc/tests/cross-stack/` | STACK_URL |
@@ -1,30 +0,0 @@
1
- # Brownfield 存量项目支持
2
-
3
- 为已有项目自动生成语义上下文,辅助 AI Agent 理解代码库。
4
-
5
- ## 使用方式
6
-
7
- ```bash
8
- # 一键生成 aidlc/AI-DLC-CONTEXT.md
9
- ./brownfield/generate-context.sh
10
-
11
- # 单独步骤
12
- ./brownfield/scripts/discover.sh # 组件发现
13
- ./brownfield/scripts/extract-api.sh # API 表面提取
14
- ./brownfield/scripts/deps.sh # 跨组件依赖图
15
- ```
16
-
17
- ## 产出
18
-
19
- `aidlc/AI-DLC-CONTEXT.md` 文件包含:
20
- 1. 发现的组件列表 + 技术栈
21
- 2. API 端点摘要
22
- 3. 跨组件依赖 Mermaid 图
23
- 4. 架构速览
24
-
25
- ## 在 Phase 中的应用
26
-
27
- Master Agent 在 `affects` 声明后自动触发 Brownfield Phase:
28
- ```
29
- L2+ 且有存量代码 → Task(agent_type="explore", prompt="...brownfield/scripts/...")
30
- ```
@@ -1,64 +0,0 @@
1
- #!/usr/bin/env bash
2
- # generate-context.sh — Generate AI-DLC-CONTEXT.md for brownfield projects
3
- set -euo pipefail
4
-
5
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
6
- PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
7
- OUTPUT="$PROJECT_ROOT/aidlc/AI-DLC-CONTEXT.md"
8
-
9
- echo "# AI-DLC Context — $(basename "$PROJECT_ROOT")"
10
- echo ""
11
- echo "Auto-generated on $(date -u +%Y-%m-%dT%H:%M:%SZ)"
12
- echo ""
13
-
14
- # 1. Component discovery
15
- echo "## Components"
16
- echo ""
17
- for comp_dir in "$PROJECT_ROOT"/apps/*/; do
18
- name="$(basename "$comp_dir")"
19
- pkg="$comp_dir/package.json"
20
- if [ -f "$pkg" ]; then
21
- framework="$(python3 -c "import json; d=json.load(open('$pkg')); print(d.get('framework','?'))" 2>/dev/null || echo "?")"
22
- echo "- **$name**: $framework"
23
- else
24
- echo "- **$name**: (no package.json)"
25
- fi
26
- done
27
- echo ""
28
-
29
- # 2. API surface
30
- echo "## API Surface"
31
- echo ""
32
- if [ -d "$PROJECT_ROOT/aidlc/contracts/api" ]; then
33
- find "$PROJECT_ROOT/aidlc/contracts/api" -name "*.yaml" -o -name "*.yml" | while read -r f; do
34
- echo "- $(basename "$f")"
35
- done
36
- else
37
- echo "(No contract files discovered)"
38
- fi
39
- echo ""
40
-
41
- # 3. Dependency map (simplified)
42
- echo "## Dependency Map"
43
- echo ""
44
- echo '```mermaid'
45
- echo 'graph LR'
46
- for comp_dir in "$PROJECT_ROOT"/apps/*/; do
47
- name="$(basename "$comp_dir")"
48
- pkg="$comp_dir/package.json"
49
- if [ -f "$pkg" ]; then
50
- python3 -c "
51
- import json
52
- d=json.load(open('$pkg'))
53
- for dep in d.get('dependencies',{}):
54
- print(f' {name} -->|depends| {dep}')
55
- for dep in d.get('devDependencies',{}):
56
- pass
57
- " 2>/dev/null || true
58
- fi
59
- done
60
- echo '```'
61
- echo ""
62
-
63
- echo "---"
64
- echo "Generated by brownfield/generate-context.sh"
@@ -1,27 +0,0 @@
1
- #!/usr/bin/env bash
2
- # deps.sh — Cross-component dependency graph generator
3
- set -euo pipefail
4
-
5
- PROJECT_ROOT="$(cd "$(dirname "$0")/../../.." && pwd)"
6
-
7
- echo '```mermaid'
8
- echo 'graph LR'
9
-
10
- for comp_dir in "$PROJECT_ROOT"/apps/*/; do
11
- name=$(basename "$comp_dir")
12
- pkg="$comp_dir/package.json"
13
-
14
- if [ -f "$pkg" ]; then
15
- # Internal cross-component dependencies via workspace references
16
- python3 -c "
17
- import json
18
- d = json.load(open('$pkg'))
19
- for dep_type in ['dependencies', 'devDependencies']:
20
- for dep in d.get(dep_type, {}):
21
- if dep.startswith('@') or dep.startswith('packages/'):
22
- print(f' {name} -->|depends| {dep}')
23
- " 2>/dev/null || true
24
- fi
25
- done
26
-
27
- echo '```'
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env bash
2
- # discover.sh — Component discovery for brownfield projects
3
- set -euo pipefail
4
-
5
- PROJECT_ROOT="$(cd "$(dirname "$0")/../../.." && pwd)"
6
-
7
- echo "{
8
- \"components\": ["
9
-
10
- first=true
11
- for comp_dir in "$PROJECT_ROOT"/apps/*/; do
12
- name=$(basename "$comp_dir")
13
- pkg="$comp_dir/package.json"
14
- $first || echo ","
15
- first=false
16
-
17
- if [ -f "$pkg" ]; then
18
- python3 -c "
19
- import json
20
- d=json.load(open('$pkg'))
21
- print(json.dumps({
22
- 'id': '$name',
23
- 'path': '$comp_dir',
24
- 'name': d.get('name', '$name'),
25
- 'framework': d.get('framework', '?'),
26
- 'language': d.get('language', '?'),
27
- }, indent=2))
28
- " 2>/dev/null || echo "{\"id\": \"$name\", \"path\": \"$comp_dir\"}"
29
- else
30
- echo "{\"id\": \"$name\", \"path\": \"$comp_dir\", \"warning\": \"no package.json\"}"
31
- fi
32
- done
33
-
34
- echo "]}"
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env bash
2
- # extract-api.sh — Extract API surface from aidlc/contracts/ directory
3
- set -euo pipefail
4
-
5
- PROJECT_ROOT="$(cd "$(dirname "$0")/../../.." && pwd)"
6
-
7
- echo "# API Surface"
8
- echo ""
9
-
10
- if [ ! -d "$PROJECT_ROOT/aidlc/contracts" ]; then
11
- echo "(No aidlc/contracts/ directory found)"
12
- exit 0
13
- fi
14
-
15
- # OpenAPI
16
- for f in "$PROJECT_ROOT"/aidlc/contracts/api/*.yaml "$PROJECT_ROOT"/aidlc/contracts/api/*.yml; do
17
- [ -f "$f" ] || continue
18
- echo "## File: $(basename "$f")"
19
- python3 -c "
20
- import yaml, json
21
- d = yaml.safe_load(open('$f'))
22
- if 'paths' in d:
23
- for path, methods in d['paths'].items():
24
- for method, spec in methods.items():
25
- print(f\" {method.upper()} {path} — {spec.get('summary', '?')}\")
26
- if 'info' in d:
27
- print(f\" Title: {d['info'].get('title', '?')}\")
28
- print(f\" Version: {d['info'].get('version', '?')}\")
29
- " 2>/dev/null || echo " (parse error)"
30
- echo ""
31
- done
32
-
33
- # AsyncAPI
34
- for f in "$PROJECT_ROOT"/aidlc/contracts/events/*.yaml "$PROJECT_ROOT"/aidlc/contracts/events/*.yml; do
35
- [ -f "$f" ] || continue
36
- echo "## File: $(basename "$f")"
37
- python3 -c "
38
- import yaml
39
- d = yaml.safe_load(open('$f'))
40
- channels = d.get('channels', {})
41
- for name, ch in channels.items():
42
- print(f\" Channel: {name}\")
43
- " 2>/dev/null || echo " (parse error)"
44
- echo ""
45
- done
@@ -1,34 +0,0 @@
1
- # Backend 组件开发指南 (BE-FR-*)
2
-
3
- ## 技术栈
4
- - 语言: Python / Node.js / Go
5
- - 框架: FastAPI / Express / Gin
6
- - 构建: poetry / pnpm / go build
7
- - 测试: pytest / vitest / go test
8
- - BDD: pytest-bdd
9
-
10
- ## 关键命令
11
- - 构建: `pnpm --filter backend build`
12
- - 测试全部: `pnpm --filter backend test`
13
- - BDD: `pytest-bdd apps/backend/features/`
14
- - Lint: `pnpm --filter backend lint`
15
- - DB 迁移: `tcb db migrate` / `rds migrate`
16
-
17
- ## 目录约定
18
- - `src/` → 组件源码(按模块组织)
19
- - `tests/unit/` → 单元测试
20
- - `tests/integration/` → 集成测试(含 DB)
21
- - `tests/e2e/` → E2E 测试(对 preview URL)
22
- - `features/` → BDD feature 文件
23
- - `features/steps/` → BDD step definitions
24
-
25
- ## FR 命名空间
26
- - Prefix: BE-FR-NNN
27
- - 范围: 服务端/API 行为
28
-
29
- ## 特定约束
30
- - 后端组件是 Stack 部署的入口点(先部署再暴露 BACKEND_URL)
31
- - API 合约定义在 `aidlc/contracts/api/`(OpenAPI 3.1)
32
- - 依赖注入使用 provider pattern
33
- - 所有输入必须验证(SEC-002)
34
- - DB 查询必须使用参数化语句(SEC-003)