@scemoon/cdh 1.0.6 → 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 (550) hide show
  1. package/package.json +2 -2
  2. package/ai-dlc-skill/SKILL.md +0 -77
  3. package/ai-dlc-skill/agents/deliver-agent.md +0 -24
  4. package/ai-dlc-skill/agents/master.md +0 -50
  5. package/ai-dlc-skill/agents/plan-agent.md +0 -23
  6. package/ai-dlc-skill/agents/understand-agent.md +0 -23
  7. package/ai-dlc-skill/agents/verify-agent.md +0 -27
  8. package/ai-dlc-skill/architecture/project-structure.md +0 -78
  9. package/ai-dlc-skill/brownfield/README.md +0 -30
  10. package/ai-dlc-skill/brownfield/generate-context.sh +0 -64
  11. package/ai-dlc-skill/brownfield/scripts/deps.sh +0 -27
  12. package/ai-dlc-skill/brownfield/scripts/discover.sh +0 -34
  13. package/ai-dlc-skill/brownfield/scripts/extract-api.sh +0 -45
  14. package/ai-dlc-skill/components/backend.md +0 -34
  15. package/ai-dlc-skill/components/desktop.md +0 -30
  16. package/ai-dlc-skill/components/mya.md +0 -29
  17. package/ai-dlc-skill/components/native.md +0 -30
  18. package/ai-dlc-skill/components/tta.md +0 -29
  19. package/ai-dlc-skill/components/web.md +0 -31
  20. package/ai-dlc-skill/components/wxa.md +0 -29
  21. package/ai-dlc-skill/contracts/README.md +0 -25
  22. package/ai-dlc-skill/core/adaptive-flow.md +0 -36
  23. package/ai-dlc-skill/core/security.md +0 -29
  24. package/ai-dlc-skill/cross-tool/cline/export.sh +0 -31
  25. package/ai-dlc-skill/cross-tool/copilot/export.sh +0 -47
  26. package/ai-dlc-skill/cross-tool/cursor/export.sh +0 -32
  27. package/ai-dlc-skill/cross-tool/export.sh +0 -22
  28. package/ai-dlc-skill/cross-tool/onecode/config.yaml.tpl +0 -17
  29. package/ai-dlc-skill/cross-tool/onecode/export-skills.sh +0 -35
  30. package/ai-dlc-skill/cross-tool/onecode/export.sh +0 -54
  31. package/ai-dlc-skill/phases/deliver/entry.md +0 -26
  32. package/ai-dlc-skill/phases/deliver/lifecycle.md +0 -185
  33. package/ai-dlc-skill/phases/deliver/prompt.md +0 -40
  34. package/ai-dlc-skill/phases/deliver/rules.md +0 -61
  35. package/ai-dlc-skill/phases/plan/entry.md +0 -25
  36. package/ai-dlc-skill/phases/plan/lifecycle.md +0 -204
  37. package/ai-dlc-skill/phases/plan/prompt.md +0 -38
  38. package/ai-dlc-skill/phases/plan/rules.md +0 -25
  39. package/ai-dlc-skill/phases/understand/entry.md +0 -26
  40. package/ai-dlc-skill/phases/understand/lifecycle.md +0 -184
  41. package/ai-dlc-skill/phases/understand/prompt.md +0 -41
  42. package/ai-dlc-skill/phases/understand/rules.md +0 -37
  43. package/ai-dlc-skill/phases/verify/entry.md +0 -26
  44. package/ai-dlc-skill/phases/verify/lifecycle.md +0 -192
  45. package/ai-dlc-skill/phases/verify/prompt.md +0 -43
  46. package/ai-dlc-skill/phases/verify/rules.md +0 -73
  47. package/ai-dlc-skill/practices/bdd.md +0 -91
  48. package/ai-dlc-skill/practices/sdd.md +0 -84
  49. package/ai-dlc-skill/practices/tdd.md +0 -95
  50. package/ai-dlc-skill/providers/README.md +0 -114
  51. package/ai-dlc-skill/providers/aliyun/deployment.yaml +0 -66
  52. package/ai-dlc-skill/providers/aliyun/preview.yaml +0 -84
  53. package/ai-dlc-skill/providers/aliyun/provider.yaml +0 -160
  54. package/ai-dlc-skill/providers/tcb/deployment.yaml +0 -69
  55. package/ai-dlc-skill/providers/tcb/preview.yaml +0 -83
  56. package/ai-dlc-skill/providers/tcb/provider.yaml +0 -172
  57. package/ai-dlc-skill/requirements.md +0 -140
  58. package/ai-dlc-skill/skill.yaml +0 -147
  59. package/ai-dlc-skill/templates/integration/CHANGELOG.md +0 -41
  60. package/ai-dlc-skill/templates/integration/asyncapi.yaml +0 -43
  61. package/ai-dlc-skill/templates/integration/contract-diff.md +0 -63
  62. package/ai-dlc-skill/templates/integration/contract-spec.md +0 -49
  63. package/ai-dlc-skill/templates/integration/openapi.yaml +0 -18
  64. package/ai-dlc-skill/templates/integration/runtime-contract.yaml +0 -36
  65. package/ai-dlc-skill/templates/plan/design.md +0 -49
  66. package/ai-dlc-skill/templates/plan/task-list.md +0 -32
  67. package/ai-dlc-skill/templates/project/README.md +0 -126
  68. package/ai-dlc-skill/templates/project/template.md +0 -119
  69. package/ai-dlc-skill/templates/understand/feature.feature +0 -23
  70. package/ai-dlc-skill/templates/understand/intent.md +0 -29
  71. package/ai-dlc-skill/templates/understand/spec-delta.md +0 -47
  72. package/ai-dlc-skill/templates/verify/test-unit.py +0 -27
  73. package/ai-dlc-skill/walkthrough/collect.sh +0 -50
  74. package/ai-dlc-skill/walkthrough/template.md +0 -54
  75. package/ai-dlc-skill/workflows/ai-dlc.yaml +0 -110
  76. package/ai-dlc-skill/workflows/deployment.yaml +0 -199
  77. package/cdh/__init__.py +0 -0
  78. package/cdh/__main__.py +0 -4
  79. package/cdh/__pycache__/__init__.cpython-314.pyc +0 -0
  80. package/cdh/__pycache__/cdh_mcp_injector.cpython-314.pyc +0 -0
  81. package/cdh/__pycache__/cdh_mcp_loader.cpython-314.pyc +0 -0
  82. package/cdh/__pycache__/cdh_mcp_manager.cpython-314.pyc +0 -0
  83. package/cdh/__pycache__/cdh_session_aggregator.cpython-314.pyc +0 -0
  84. package/cdh/__pycache__/cdh_skill_loader.cpython-314.pyc +0 -0
  85. package/cdh/__pycache__/cdh_skill_manager.cpython-314.pyc +0 -0
  86. package/cdh/__pycache__/cli.cpython-313.pyc +0 -0
  87. package/cdh/__pycache__/cli.cpython-314.pyc +0 -0
  88. package/cdh/__pycache__/scaffold.cpython-314.pyc +0 -0
  89. package/cdh/cdh_mcp_injector.py +0 -115
  90. package/cdh/cdh_mcp_loader.py +0 -67
  91. package/cdh/cdh_mcp_manager.py +0 -73
  92. package/cdh/cdh_session_aggregator.py +0 -258
  93. package/cdh/cdh_skill_manager.py +0 -105
  94. package/cdh/cli.py +0 -807
  95. package/cdh/scaffold.py +0 -728
  96. package/onecode/__init__.py +0 -1
  97. package/onecode/__main__.py +0 -4
  98. package/onecode/__pycache__/__init__.cpython-314.pyc +0 -0
  99. package/onecode/__pycache__/cli.cpython-314.pyc +0 -0
  100. package/onecode/__pycache__/commands.cpython-314.pyc +0 -0
  101. package/onecode/__pycache__/config.cpython-314.pyc +0 -0
  102. package/onecode/__pycache__/config_screen.cpython-314.pyc +0 -0
  103. package/onecode/__pycache__/migrate.cpython-314.pyc +0 -0
  104. package/onecode/agent/__init__.py +0 -0
  105. package/onecode/agent/__pycache__/__init__.cpython-314.pyc +0 -0
  106. package/onecode/agent/__pycache__/cdh_loader.cpython-314.pyc +0 -0
  107. package/onecode/agent/__pycache__/context.cpython-314.pyc +0 -0
  108. package/onecode/agent/__pycache__/engine.cpython-314.pyc +0 -0
  109. package/onecode/agent/__pycache__/hooks.cpython-314.pyc +0 -0
  110. package/onecode/agent/__pycache__/onecode_agent_acp.cpython-314.pyc +0 -0
  111. package/onecode/agent/__pycache__/permissions.cpython-314.pyc +0 -0
  112. package/onecode/agent/__pycache__/permissions_store.cpython-314.pyc +0 -0
  113. package/onecode/agent/__pycache__/project_doc.cpython-314.pyc +0 -0
  114. package/onecode/agent/__pycache__/session.cpython-314.pyc +0 -0
  115. package/onecode/agent/agents/__init__.py +0 -29
  116. package/onecode/agent/agents/__pycache__/__init__.cpython-314.pyc +0 -0
  117. package/onecode/agent/agents/__pycache__/types.cpython-314.pyc +0 -0
  118. package/onecode/agent/agents/types.py +0 -589
  119. package/onecode/agent/attachments.py +0 -112
  120. package/onecode/agent/cdh_loader.py +0 -267
  121. package/onecode/agent/context.py +0 -343
  122. package/onecode/agent/engine.py +0 -2700
  123. package/onecode/agent/hooks.py +0 -86
  124. package/onecode/agent/onecode_agent_acp.py +0 -2743
  125. package/onecode/agent/onecode_agent_acp.py.bak +0 -2447
  126. package/onecode/agent/permissions.py +0 -150
  127. package/onecode/agent/permissions_store.py +0 -62
  128. package/onecode/agent/project_doc.py +0 -19
  129. package/onecode/agent/session.py +0 -195
  130. package/onecode/agent/snapshot.py +0 -144
  131. package/onecode/agent/tools/__init__.py +0 -17
  132. package/onecode/agent/tools/__pycache__/__init__.cpython-314.pyc +0 -0
  133. package/onecode/agent/tools/__pycache__/agent_tools.cpython-314.pyc +0 -0
  134. package/onecode/agent/tools/__pycache__/apply_patch_tool.cpython-314.pyc +0 -0
  135. package/onecode/agent/tools/__pycache__/bash_tool.cpython-314.pyc +0 -0
  136. package/onecode/agent/tools/__pycache__/communication_tools.cpython-314.pyc +0 -0
  137. package/onecode/agent/tools/__pycache__/config_tool.cpython-314.pyc +0 -0
  138. package/onecode/agent/tools/__pycache__/cron_tools.cpython-314.pyc +0 -0
  139. package/onecode/agent/tools/__pycache__/errors.cpython-314.pyc +0 -0
  140. package/onecode/agent/tools/__pycache__/file_ops.cpython-314.pyc +0 -0
  141. package/onecode/agent/tools/__pycache__/file_tools.cpython-314.pyc +0 -0
  142. package/onecode/agent/tools/__pycache__/git_tools.cpython-314.pyc +0 -0
  143. package/onecode/agent/tools/__pycache__/lsp_tools.cpython-314.pyc +0 -0
  144. package/onecode/agent/tools/__pycache__/mcp_tools.cpython-314.pyc +0 -0
  145. package/onecode/agent/tools/__pycache__/permission_handler.cpython-314.pyc +0 -0
  146. package/onecode/agent/tools/__pycache__/permissions.cpython-314.pyc +0 -0
  147. package/onecode/agent/tools/__pycache__/protocol.cpython-314.pyc +0 -0
  148. package/onecode/agent/tools/__pycache__/registry.cpython-314.pyc +0 -0
  149. package/onecode/agent/tools/__pycache__/sandbox.cpython-314.pyc +0 -0
  150. package/onecode/agent/tools/__pycache__/schema_validation.cpython-314.pyc +0 -0
  151. package/onecode/agent/tools/__pycache__/skill_tools.cpython-314.pyc +0 -0
  152. package/onecode/agent/tools/__pycache__/todo_tools.cpython-314.pyc +0 -0
  153. package/onecode/agent/tools/__pycache__/web_tools.cpython-314.pyc +0 -0
  154. package/onecode/agent/tools/agent_tools.py +0 -132
  155. package/onecode/agent/tools/apply_patch_tool.py +0 -138
  156. package/onecode/agent/tools/bash_tool.py +0 -111
  157. package/onecode/agent/tools/communication_tools.py +0 -148
  158. package/onecode/agent/tools/config_tool.py +0 -130
  159. package/onecode/agent/tools/cron_tools.py +0 -178
  160. package/onecode/agent/tools/errors.py +0 -17
  161. package/onecode/agent/tools/file_ops.py +0 -221
  162. package/onecode/agent/tools/file_tools.py +0 -225
  163. package/onecode/agent/tools/git_tools.py +0 -88
  164. package/onecode/agent/tools/lsp_tools.py +0 -404
  165. package/onecode/agent/tools/mcp_tools.py +0 -127
  166. package/onecode/agent/tools/permission_handler.py +0 -46
  167. package/onecode/agent/tools/permissions.py +0 -77
  168. package/onecode/agent/tools/protocol.py +0 -20
  169. package/onecode/agent/tools/registry.py +0 -201
  170. package/onecode/agent/tools/sandbox.py +0 -358
  171. package/onecode/agent/tools/schema_validation.py +0 -100
  172. package/onecode/agent/tools/skill_tools.py +0 -52
  173. package/onecode/agent/tools/todo_tools.py +0 -207
  174. package/onecode/agent/tools/web_tools.py +0 -169
  175. package/onecode/builtin_skills/agent-browser/SKILL.md +0 -212
  176. package/onecode/builtin_skills/agent-browser/skill.yaml +0 -8
  177. package/onecode/builtin_skills/git/SKILL.md +0 -64
  178. package/onecode/builtin_skills/git/skill.yaml +0 -7
  179. package/onecode/builtin_skills/shell/SKILL.md +0 -58
  180. package/onecode/builtin_skills/shell/skill.yaml +0 -8
  181. package/onecode/builtin_skills/skill-creator/SKILL.md +0 -106
  182. package/onecode/builtin_skills/skill-creator/skill.yaml +0 -8
  183. package/onecode/cli.py +0 -935
  184. package/onecode/cloud/__init__.py +0 -0
  185. package/onecode/cloud/base.py +0 -20
  186. package/onecode/codebase/__init__.py +0 -69
  187. package/onecode/codebase/__pycache__/__init__.cpython-314.pyc +0 -0
  188. package/onecode/codebase/__pycache__/chunker.cpython-314.pyc +0 -0
  189. package/onecode/codebase/__pycache__/indexer.cpython-314.pyc +0 -0
  190. package/onecode/codebase/__pycache__/retriever.cpython-314.pyc +0 -0
  191. package/onecode/codebase/__pycache__/storage.cpython-314.pyc +0 -0
  192. package/onecode/codebase/__pycache__/tools.cpython-314.pyc +0 -0
  193. package/onecode/codebase/chunker.py +0 -125
  194. package/onecode/codebase/indexer.py +0 -149
  195. package/onecode/codebase/retriever.py +0 -203
  196. package/onecode/codebase/storage.py +0 -131
  197. package/onecode/codebase/tools.py +0 -59
  198. package/onecode/commands.py +0 -596
  199. package/onecode/config.py +0 -314
  200. package/onecode/config_screen.py +0 -600
  201. package/onecode/cron/__init__.py +0 -3
  202. package/onecode/lsp/__init__.py +0 -3
  203. package/onecode/mcp/__init__.py +0 -4
  204. package/onecode/mcp/__pycache__/__init__.cpython-314.pyc +0 -0
  205. package/onecode/mcp/__pycache__/client.cpython-314.pyc +0 -0
  206. package/onecode/mcp/__pycache__/manager.cpython-314.pyc +0 -0
  207. package/onecode/mcp/client.py +0 -193
  208. package/onecode/mcp/manager.py +0 -190
  209. package/onecode/memory/__init__.py +0 -49
  210. package/onecode/memory/__pycache__/__init__.cpython-314.pyc +0 -0
  211. package/onecode/memory/__pycache__/backend.cpython-314.pyc +0 -0
  212. package/onecode/memory/__pycache__/offload.cpython-314.pyc +0 -0
  213. package/onecode/memory/__pycache__/pyramid.cpython-314.pyc +0 -0
  214. package/onecode/memory/__pycache__/recall.cpython-314.pyc +0 -0
  215. package/onecode/memory/__pycache__/symbolic.cpython-314.pyc +0 -0
  216. package/onecode/memory/backend.py +0 -159
  217. package/onecode/memory/pyramid.py +0 -133
  218. package/onecode/memory/recall.py +0 -203
  219. package/onecode/migrate.py +0 -122
  220. package/onecode/models/__init__.py +0 -4
  221. package/onecode/models/__pycache__/__init__.cpython-314.pyc +0 -0
  222. package/onecode/models/__pycache__/errors.cpython-314.pyc +0 -0
  223. package/onecode/models/__pycache__/messages.cpython-314.pyc +0 -0
  224. package/onecode/models/__pycache__/provider.cpython-314.pyc +0 -0
  225. package/onecode/models/__pycache__/registry.cpython-314.pyc +0 -0
  226. package/onecode/models/errors.py +0 -104
  227. package/onecode/models/messages.py +0 -739
  228. package/onecode/models/provider.py +0 -699
  229. package/onecode/models/providers/__init__.py +0 -17
  230. package/onecode/models/providers/__pycache__/__init__.cpython-314.pyc +0 -0
  231. package/onecode/models/providers/__pycache__/anthropic_provider.cpython-314.pyc +0 -0
  232. package/onecode/models/providers/__pycache__/deepseek_provider.cpython-314.pyc +0 -0
  233. package/onecode/models/providers/__pycache__/glm_provider.cpython-314.pyc +0 -0
  234. package/onecode/models/providers/__pycache__/minimax_provider.cpython-314.pyc +0 -0
  235. package/onecode/models/providers/__pycache__/minimaxi_provider.cpython-314.pyc +0 -0
  236. package/onecode/models/providers/__pycache__/ollama_provider.cpython-314.pyc +0 -0
  237. package/onecode/models/providers/__pycache__/openai_provider.cpython-314.pyc +0 -0
  238. package/onecode/models/providers/anthropic_provider.py +0 -273
  239. package/onecode/models/providers/deepseek_provider.py +0 -212
  240. package/onecode/models/providers/glm_provider.py +0 -195
  241. package/onecode/models/providers/minimax_provider.py +0 -158
  242. package/onecode/models/providers/minimaxi_provider.py +0 -417
  243. package/onecode/models/providers/ollama_provider.py +0 -100
  244. package/onecode/models/providers/openai_provider.py +0 -237
  245. package/onecode/models/registry.py +0 -212
  246. package/onecode/server/__init__.py +0 -3
  247. package/onecode/server/app.py +0 -224
  248. package/onecode/skills/__init__.py +0 -11
  249. package/onecode/skills/__pycache__/__init__.cpython-314.pyc +0 -0
  250. package/onecode/skills/__pycache__/argument_substitution.cpython-314.pyc +0 -0
  251. package/onecode/skills/__pycache__/bootstrap.cpython-314.pyc +0 -0
  252. package/onecode/skills/__pycache__/create.cpython-314.pyc +0 -0
  253. package/onecode/skills/__pycache__/frontmatter.cpython-314.pyc +0 -0
  254. package/onecode/skills/__pycache__/loader.cpython-314.pyc +0 -0
  255. package/onecode/skills/__pycache__/manager.cpython-314.pyc +0 -0
  256. package/onecode/skills/__pycache__/model.cpython-314.pyc +0 -0
  257. package/onecode/skills/argument_substitution.py +0 -38
  258. package/onecode/skills/bootstrap.py +0 -124
  259. package/onecode/skills/create.py +0 -56
  260. package/onecode/skills/frontmatter.py +0 -33
  261. package/onecode/skills/loader.py +0 -139
  262. package/onecode/skills/manager.py +0 -75
  263. package/onecode/skills/model.py +0 -43
  264. package/onecode/storage/__init__.py +0 -0
  265. package/onecode/storage/activity.py +0 -63
  266. package/onecode/storage/project.py +0 -54
  267. package/onecode/storage/session.py +0 -112
  268. package/onecode/tasks/__init__.py +0 -26
  269. package/onecode/tasks/manager.py +0 -232
  270. package/onecode/tasks/models.py +0 -240
  271. package/onecode/trace/__init__.py +0 -0
  272. package/onecode/trace/tracer.py +0 -173
  273. package/onecode/utils/__init__.py +0 -0
  274. package/onecode/utils/helpers.py +0 -20
  275. package/pyproject.toml +0 -74
  276. package/tui/__init__.py +0 -46
  277. package/tui/__main__.py +0 -4
  278. package/tui/__pycache__/__init__.cpython-314.pyc +0 -0
  279. package/tui/__pycache__/_loop.cpython-314.pyc +0 -0
  280. package/tui/__pycache__/_path_fuzzy_search.cpython-314.pyc +0 -0
  281. package/tui/__pycache__/_path_match.cpython-314.pyc +0 -0
  282. package/tui/__pycache__/about.cpython-314.pyc +0 -0
  283. package/tui/__pycache__/agent.cpython-314.pyc +0 -0
  284. package/tui/__pycache__/agent_schema.cpython-314.pyc +0 -0
  285. package/tui/__pycache__/agents.cpython-314.pyc +0 -0
  286. package/tui/__pycache__/answer.cpython-314.pyc +0 -0
  287. package/tui/__pycache__/app.cpython-313.pyc +0 -0
  288. package/tui/__pycache__/app.cpython-314.pyc +0 -0
  289. package/tui/__pycache__/atomic.cpython-314.pyc +0 -0
  290. package/tui/__pycache__/complete.cpython-314.pyc +0 -0
  291. package/tui/__pycache__/constants.cpython-314.pyc +0 -0
  292. package/tui/__pycache__/conversation_markdown.cpython-314.pyc +0 -0
  293. package/tui/__pycache__/danger.cpython-314.pyc +0 -0
  294. package/tui/__pycache__/db.cpython-314.pyc +0 -0
  295. package/tui/__pycache__/dec.cpython-314.pyc +0 -0
  296. package/tui/__pycache__/directory.cpython-314.pyc +0 -0
  297. package/tui/__pycache__/directory_suggester.cpython-314.pyc +0 -0
  298. package/tui/__pycache__/directory_watcher.cpython-314.pyc +0 -0
  299. package/tui/__pycache__/format_path.cpython-314.pyc +0 -0
  300. package/tui/__pycache__/fuzzy.cpython-314.pyc +0 -0
  301. package/tui/__pycache__/fuzzy_index.cpython-314.pyc +0 -0
  302. package/tui/__pycache__/history.cpython-314.pyc +0 -0
  303. package/tui/__pycache__/jsonrpc.cpython-314.pyc +0 -0
  304. package/tui/__pycache__/menus.cpython-314.pyc +0 -0
  305. package/tui/__pycache__/message_log.cpython-314.pyc +0 -0
  306. package/tui/__pycache__/messages.cpython-314.pyc +0 -0
  307. package/tui/__pycache__/path_complete.cpython-314.pyc +0 -0
  308. package/tui/__pycache__/path_filter.cpython-314.pyc +0 -0
  309. package/tui/__pycache__/paths.cpython-314.pyc +0 -0
  310. package/tui/__pycache__/pill.cpython-314.pyc +0 -0
  311. package/tui/__pycache__/platform_commands.cpython-314.pyc +0 -0
  312. package/tui/__pycache__/protocol.cpython-314.pyc +0 -0
  313. package/tui/__pycache__/session_tracker.cpython-314.pyc +0 -0
  314. package/tui/__pycache__/settings.cpython-314.pyc +0 -0
  315. package/tui/__pycache__/settings_schema.cpython-314.pyc +0 -0
  316. package/tui/__pycache__/shell.cpython-314.pyc +0 -0
  317. package/tui/__pycache__/shell_read.cpython-314.pyc +0 -0
  318. package/tui/__pycache__/slash_command.cpython-314.pyc +0 -0
  319. package/tui/__pycache__/version.cpython-314.pyc +0 -0
  320. package/tui/_loop.py +0 -86
  321. package/tui/_path_fuzzy_search.py +0 -48
  322. package/tui/_path_match.py +0 -141
  323. package/tui/about.py +0 -95
  324. package/tui/acp/__pycache__/agent.cpython-314.pyc +0 -0
  325. package/tui/acp/__pycache__/api.cpython-314.pyc +0 -0
  326. package/tui/acp/__pycache__/encode_tool_call_id.cpython-314.pyc +0 -0
  327. package/tui/acp/__pycache__/messages.cpython-314.pyc +0 -0
  328. package/tui/acp/__pycache__/prompt.cpython-314.pyc +0 -0
  329. package/tui/acp/__pycache__/protocol.cpython-314.pyc +0 -0
  330. package/tui/acp/agent.py +0 -1002
  331. package/tui/acp/api.py +0 -73
  332. package/tui/acp/encode_tool_call_id.py +0 -12
  333. package/tui/acp/messages.py +0 -203
  334. package/tui/acp/prompt.py +0 -53
  335. package/tui/acp/protocol.py +0 -499
  336. package/tui/agent.py +0 -70
  337. package/tui/agent_schema.py +0 -76
  338. package/tui/agents.py +0 -46
  339. package/tui/ansi/__init__.py +0 -1
  340. package/tui/ansi/__pycache__/__init__.cpython-314.pyc +0 -0
  341. package/tui/ansi/__pycache__/_ansi.cpython-314.pyc +0 -0
  342. package/tui/ansi/__pycache__/_ansi_colors.cpython-314.pyc +0 -0
  343. package/tui/ansi/__pycache__/_control_codes.cpython-314.pyc +0 -0
  344. package/tui/ansi/__pycache__/_keys.cpython-314.pyc +0 -0
  345. package/tui/ansi/__pycache__/_sgr_styles.cpython-314.pyc +0 -0
  346. package/tui/ansi/__pycache__/_stream_parser.cpython-314.pyc +0 -0
  347. package/tui/ansi/_ansi.py +0 -1689
  348. package/tui/ansi/_ansi_colors.py +0 -264
  349. package/tui/ansi/_control_codes.py +0 -37
  350. package/tui/ansi/_keys.py +0 -251
  351. package/tui/ansi/_sgr_styles.py +0 -64
  352. package/tui/ansi/_stream_parser.py +0 -418
  353. package/tui/answer.py +0 -12
  354. package/tui/app.py +0 -1266
  355. package/tui/atomic.py +0 -37
  356. package/tui/cli.py +0 -313
  357. package/tui/code_analyze.py +0 -27
  358. package/tui/complete.py +0 -38
  359. package/tui/constants.py +0 -61
  360. package/tui/conversation_markdown.py +0 -30
  361. package/tui/danger.py +0 -372
  362. package/tui/data/agents/ampcode.com.toml +0 -52
  363. package/tui/data/agents/augmentcode.com.toml +0 -41
  364. package/tui/data/agents/cdh.cloud-dev-harness.toml +0 -23
  365. package/tui/data/agents/claude.com.toml +0 -41
  366. package/tui/data/agents/copilot.github.com.toml +0 -29
  367. package/tui/data/agents/crowai.dev.toml +0 -36
  368. package/tui/data/agents/cursor.com.toml +0 -38
  369. package/tui/data/agents/deepagents.langchain.com +0 -34
  370. package/tui/data/agents/docker.com.toml +0 -60
  371. package/tui/data/agents/geminicli.com.toml +0 -28
  372. package/tui/data/agents/goose.ai.toml +0 -52
  373. package/tui/data/agents/inference.huggingface.co.toml +0 -41
  374. package/tui/data/agents/kimi.com.toml +0 -35
  375. package/tui/data/agents/kiro.dev.toml +0 -43
  376. package/tui/data/agents/onecode.dev.toml +0 -22
  377. package/tui/data/agents/openai.com.toml +0 -53
  378. package/tui/data/agents/openclaw.ai.toml +0 -37
  379. package/tui/data/agents/opencode.ai.toml +0 -39
  380. package/tui/data/agents/openhands.dev.toml +0 -46
  381. package/tui/data/agents/stakpak.dev.toml +0 -62
  382. package/tui/data/agents/vibe.mistral.ai.toml +0 -31
  383. package/tui/data/agents/vtcode.dev.toml +0 -63
  384. package/tui/data/images/frog.png +0 -0
  385. package/tui/data/sounds/question.wav +0 -0
  386. package/tui/data/sounds/turn-over.wav +0 -0
  387. package/tui/db.py +0 -213
  388. package/tui/dec.py +0 -332
  389. package/tui/directory.py +0 -234
  390. package/tui/directory_suggester.py +0 -93
  391. package/tui/directory_watcher.py +0 -231
  392. package/tui/format_path.py +0 -25
  393. package/tui/fuzzy.py +0 -140
  394. package/tui/fuzzy_index.py +0 -275
  395. package/tui/gist.py +0 -33
  396. package/tui/history.py +0 -138
  397. package/tui/jsonrpc.py +0 -578
  398. package/tui/menus.py +0 -14
  399. package/tui/message_log.py +0 -69
  400. package/tui/messages.py +0 -144
  401. package/tui/option_content.py +0 -51
  402. package/tui/os.py +0 -0
  403. package/tui/path_complete.py +0 -217
  404. package/tui/path_filter.py +0 -124
  405. package/tui/paths.py +0 -87
  406. package/tui/pill.py +0 -23
  407. package/tui/platform_commands.py +0 -52
  408. package/tui/prompt/__pycache__/extract.cpython-314.pyc +0 -0
  409. package/tui/prompt/__pycache__/resource.cpython-314.pyc +0 -0
  410. package/tui/prompt/extract.py +0 -19
  411. package/tui/prompt/resource.py +0 -68
  412. package/tui/protocol.py +0 -28
  413. package/tui/screens/__init__.py +0 -0
  414. package/tui/screens/__pycache__/__init__.cpython-314.pyc +0 -0
  415. package/tui/screens/__pycache__/agent_modal.cpython-314.pyc +0 -0
  416. package/tui/screens/__pycache__/component_picker.cpython-314.pyc +0 -0
  417. package/tui/screens/__pycache__/diff_screen.cpython-314.pyc +0 -0
  418. package/tui/screens/__pycache__/log.cpython-314.pyc +0 -0
  419. package/tui/screens/__pycache__/main.cpython-313.pyc +0 -0
  420. package/tui/screens/__pycache__/main.cpython-314.pyc +0 -0
  421. package/tui/screens/__pycache__/permissions.cpython-314.pyc +0 -0
  422. package/tui/screens/__pycache__/projects_app.cpython-314.pyc +0 -0
  423. package/tui/screens/__pycache__/projects_screen.cpython-314.pyc +0 -0
  424. package/tui/screens/__pycache__/sessions.cpython-314.pyc +0 -0
  425. package/tui/screens/__pycache__/store.cpython-314.pyc +0 -0
  426. package/tui/screens/__pycache__/tool_content_screen.cpython-314.pyc +0 -0
  427. package/tui/screens/action_modal.py +0 -94
  428. package/tui/screens/agent_modal.py +0 -175
  429. package/tui/screens/command_edit_modal.py +0 -74
  430. package/tui/screens/component_picker.py +0 -168
  431. package/tui/screens/diff_screen.py +0 -84
  432. package/tui/screens/log.py +0 -553
  433. package/tui/screens/main.py +0 -385
  434. package/tui/screens/main.tcss +0 -655
  435. package/tui/screens/permissions.py +0 -404
  436. package/tui/screens/permissions.tcss +0 -72
  437. package/tui/screens/projects.tcss +0 -80
  438. package/tui/screens/projects_app.py +0 -347
  439. package/tui/screens/projects_screen.py +0 -284
  440. package/tui/screens/session_resume_modal.py +0 -172
  441. package/tui/screens/session_resume_modal.tcss +0 -35
  442. package/tui/screens/sessions.py +0 -164
  443. package/tui/screens/sessions.tcss +0 -119
  444. package/tui/screens/settings.py +0 -254
  445. package/tui/screens/settings.tcss +0 -101
  446. package/tui/screens/store.py +0 -500
  447. package/tui/screens/store.tcss +0 -274
  448. package/tui/screens/tool_content_screen.py +0 -59
  449. package/tui/session_tracker.py +0 -123
  450. package/tui/settings.py +0 -353
  451. package/tui/settings_schema.py +0 -431
  452. package/tui/shell.py +0 -304
  453. package/tui/shell_read.py +0 -42
  454. package/tui/slash_command.py +0 -34
  455. package/tui/tui.tcss +0 -246
  456. package/tui/twitter.py +0 -38
  457. package/tui/version.py +0 -80
  458. package/tui/visuals/__init__.py +0 -0
  459. package/tui/visuals/__pycache__/__init__.cpython-314.pyc +0 -0
  460. package/tui/visuals/__pycache__/columns.cpython-314.pyc +0 -0
  461. package/tui/visuals/columns.py +0 -272
  462. package/tui/widgets/__init__.py +0 -0
  463. package/tui/widgets/__pycache__/__init__.cpython-314.pyc +0 -0
  464. package/tui/widgets/__pycache__/acp_content.cpython-314.pyc +0 -0
  465. package/tui/widgets/__pycache__/agent_response.cpython-314.pyc +0 -0
  466. package/tui/widgets/__pycache__/agent_thought.cpython-314.pyc +0 -0
  467. package/tui/widgets/__pycache__/ask_user.cpython-314.pyc +0 -0
  468. package/tui/widgets/__pycache__/condensed_path.cpython-314.pyc +0 -0
  469. package/tui/widgets/__pycache__/context_stats.cpython-314.pyc +0 -0
  470. package/tui/widgets/__pycache__/conversation.cpython-314.pyc +0 -0
  471. package/tui/widgets/__pycache__/diff_view.cpython-314.pyc +0 -0
  472. package/tui/widgets/__pycache__/directory_input.cpython-314.pyc +0 -0
  473. package/tui/widgets/__pycache__/flash.cpython-314.pyc +0 -0
  474. package/tui/widgets/__pycache__/future_text.cpython-314.pyc +0 -0
  475. package/tui/widgets/__pycache__/grid_select.cpython-314.pyc +0 -0
  476. package/tui/widgets/__pycache__/highlighted_textarea.cpython-314.pyc +0 -0
  477. package/tui/widgets/__pycache__/load_more.cpython-314.pyc +0 -0
  478. package/tui/widgets/__pycache__/mandelbrot.cpython-314.pyc +0 -0
  479. package/tui/widgets/__pycache__/markdown_note.cpython-314.pyc +0 -0
  480. package/tui/widgets/__pycache__/menu.cpython-314.pyc +0 -0
  481. package/tui/widgets/__pycache__/modified_files.cpython-314.pyc +0 -0
  482. package/tui/widgets/__pycache__/non_selectable_label.cpython-314.pyc +0 -0
  483. package/tui/widgets/__pycache__/note.cpython-314.pyc +0 -0
  484. package/tui/widgets/__pycache__/path_search.cpython-314.pyc +0 -0
  485. package/tui/widgets/__pycache__/plan.cpython-314.pyc +0 -0
  486. package/tui/widgets/__pycache__/project_directory_tree.cpython-314.pyc +0 -0
  487. package/tui/widgets/__pycache__/project_grid_select.cpython-314.pyc +0 -0
  488. package/tui/widgets/__pycache__/project_summary.cpython-314.pyc +0 -0
  489. package/tui/widgets/__pycache__/prompt.cpython-314.pyc +0 -0
  490. package/tui/widgets/__pycache__/question.cpython-314.pyc +0 -0
  491. package/tui/widgets/__pycache__/session_grid_select.cpython-314.pyc +0 -0
  492. package/tui/widgets/__pycache__/session_summary.cpython-314.pyc +0 -0
  493. package/tui/widgets/__pycache__/session_tabs.cpython-314.pyc +0 -0
  494. package/tui/widgets/__pycache__/shell_result.cpython-314.pyc +0 -0
  495. package/tui/widgets/__pycache__/shell_terminal.cpython-314.pyc +0 -0
  496. package/tui/widgets/__pycache__/side_bar.cpython-314.pyc +0 -0
  497. package/tui/widgets/__pycache__/slash_complete.cpython-314.pyc +0 -0
  498. package/tui/widgets/__pycache__/strike_text.cpython-314.pyc +0 -0
  499. package/tui/widgets/__pycache__/subagent.cpython-314.pyc +0 -0
  500. package/tui/widgets/__pycache__/subagent_screen.cpython-314.pyc +0 -0
  501. package/tui/widgets/__pycache__/terminal.cpython-314.pyc +0 -0
  502. package/tui/widgets/__pycache__/throbber.cpython-314.pyc +0 -0
  503. package/tui/widgets/__pycache__/tool_call.cpython-314.pyc +0 -0
  504. package/tui/widgets/__pycache__/user_input.cpython-314.pyc +0 -0
  505. package/tui/widgets/acp_content.py +0 -70
  506. package/tui/widgets/agent_response.py +0 -76
  507. package/tui/widgets/agent_thought.py +0 -167
  508. package/tui/widgets/ask_user.py +0 -264
  509. package/tui/widgets/command_pane.py +0 -223
  510. package/tui/widgets/condensed_path.py +0 -115
  511. package/tui/widgets/context_stats.py +0 -66
  512. package/tui/widgets/conversation.py +0 -2641
  513. package/tui/widgets/danger_warning.py +0 -65
  514. package/tui/widgets/diff_view.py +0 -69
  515. package/tui/widgets/directory_input.py +0 -8
  516. package/tui/widgets/flash.py +0 -81
  517. package/tui/widgets/future_text.py +0 -126
  518. package/tui/widgets/grid_select.py +0 -234
  519. package/tui/widgets/highlighted_textarea.py +0 -180
  520. package/tui/widgets/load_more.py +0 -24
  521. package/tui/widgets/mandelbrot.py +0 -294
  522. package/tui/widgets/markdown_note.py +0 -13
  523. package/tui/widgets/menu.py +0 -147
  524. package/tui/widgets/modified_files.py +0 -306
  525. package/tui/widgets/non_selectable_label.py +0 -5
  526. package/tui/widgets/note.py +0 -18
  527. package/tui/widgets/path_search.py +0 -492
  528. package/tui/widgets/plan.py +0 -285
  529. package/tui/widgets/project_directory_tree.py +0 -102
  530. package/tui/widgets/project_grid_select.py +0 -64
  531. package/tui/widgets/project_summary.py +0 -33
  532. package/tui/widgets/prompt.py +0 -795
  533. package/tui/widgets/question.py +0 -360
  534. package/tui/widgets/session_grid_select.py +0 -230
  535. package/tui/widgets/session_summary.py +0 -115
  536. package/tui/widgets/session_tabs.py +0 -188
  537. package/tui/widgets/shell_result.py +0 -35
  538. package/tui/widgets/shell_terminal.py +0 -40
  539. package/tui/widgets/side_bar.py +0 -124
  540. package/tui/widgets/slash_complete.py +0 -235
  541. package/tui/widgets/strike_text.py +0 -70
  542. package/tui/widgets/subagent.py +0 -287
  543. package/tui/widgets/subagent_screen.py +0 -709
  544. package/tui/widgets/terminal.py +0 -576
  545. package/tui/widgets/terminal_tool.py +0 -360
  546. package/tui/widgets/throbber.py +0 -100
  547. package/tui/widgets/tool_call.py +0 -398
  548. package/tui/widgets/user_input.py +0 -23
  549. package/tui/widgets/version.py +0 -5
  550. 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.6",
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",
@@ -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)
@@ -1,30 +0,0 @@
1
- # Desktop 组件开发指南 (DESKTOP-FR-*)
2
-
3
- ## 技术栈
4
- - 框架: Electron / Tauri
5
- - 语言: TypeScript (Electron) / Rust + TS (Tauri)
6
- - 构建: `pnpm build:desktop`
7
- - 测试: Vitest / Jest
8
- - BDD: Spectron / WebDriverIO
9
-
10
- ## 关键命令
11
- - 构建: `pnpm --filter desktop build`
12
- - 测试全部: `pnpm --filter desktop test`
13
- - BDD: `spectron test`
14
- - Lint: `pnpm --filter desktop lint`
15
-
16
- ## 目录约定
17
- - `src/` → 组件源码
18
- - `tests/unit/` → 单元测试
19
- - `tests/e2e/` → E2E 测试
20
- - `features/` → BDD feature 文件
21
- - `features/steps/` → BDD step definitions
22
-
23
- ## FR 命名空间
24
- - Prefix: DESKTOP-FR-NNN
25
- - 范围: 桌面端行为(macOS + Windows + Linux)
26
-
27
- ## 特定约束
28
- - Desktop 组件依赖 `BACKEND_URL` 在构建时注入
29
- - 支持离线模式(本地优先)
30
- - 自动更新通过内置更新器
@@ -1,29 +0,0 @@
1
- # MYA 组件开发指南 (MYA-FR-*) — 支付宝小程序
2
-
3
- ## 技术栈
4
- - 框架: 支付宝原生小程序 / uni-app
5
- - 语言: JavaScript / TypeScript
6
- - 构建: 支付宝开发者工具
7
- - 测试: Jest
8
- - BDD: 手动 + miniprogram-automator
9
-
10
- ## 关键命令
11
- - 构建: `pnpm --filter mya build`
12
- - 测试: `pnpm --filter mya test`
13
- - 预览: 上传到支付宝小程序预览平台
14
- - Lint: `pnpm --filter mya lint`
15
-
16
- ## 目录约定
17
- - `src/` → 组件源码
18
- - `tests/unit/` → 单元测试
19
- - `features/` → BDD feature 文件
20
-
21
- ## FR 命名空间
22
- - Prefix: MYA-FR-NNN
23
- - 范围: 支付宝小程序行为
24
-
25
- ## 特定约束
26
- - 支付宝小程序有独立的审核流程
27
- - 预览通过小程序预览 QR 码访问
28
- - `BACKEND_URL` 在构建时注入
29
- - 支付功能使用支付宝小程序支付 SDK
@@ -1,30 +0,0 @@
1
- # Native 组件开发指南 (NATIVE-FR-*)
2
-
3
- ## 技术栈
4
- - 框架: React Native / Flutter
5
- - 语言: TypeScript (React Native) / Dart (Flutter)
6
- - 构建: `pnpm build:native`
7
- - 测试: Jest (RN) / flutter_test (Flutter)
8
- - BDD: Detox / Maestro
9
-
10
- ## 关键命令
11
- - 构建: `pnpm --filter native build`
12
- - 测试全部: `pnpm --filter native test`
13
- - BDD: `detox test` / `maestro test`
14
- - Lint: `pnpm --filter native lint`
15
-
16
- ## 目录约定
17
- - `src/` → 组件源码
18
- - `tests/unit/` → 单元测试
19
- - `tests/e2e/` → E2E 测试
20
- - `features/` → BDD feature 文件
21
- - `features/steps/` → BDD step definitions
22
-
23
- ## FR 命名空间
24
- - Prefix: NATIVE-FR-NNN
25
- - 范围: 原生移动端行为(iOS + Android)
26
-
27
- ## 特定约束
28
- - Native 组件依赖 `BACKEND_URL` 在构建时注入
29
- - E2E 测试在真机或模拟器中运行
30
- - 不包含平台特定 UI 逻辑(web 端)
@@ -1,29 +0,0 @@
1
- # TTA 组件开发指南 (TTA-FR-*) — 抖音小程序
2
-
3
- ## 技术栈
4
- - 框架: 抖音原生小程序 / uni-app
5
- - 语言: JavaScript / TypeScript
6
- - 构建: 抖音开发者工具
7
- - 测试: Jest
8
- - BDD: 手动 + miniprogram-automator
9
-
10
- ## 关键命令
11
- - 构建: `pnpm --filter tta build`
12
- - 测试: `pnpm --filter tta test`
13
- - 预览: 上传到抖音小程序预览平台
14
- - Lint: `pnpm --filter tta lint`
15
-
16
- ## 目录约定
17
- - `src/` → 组件源码
18
- - `tests/unit/` → 单元测试
19
- - `features/` → BDD feature 文件
20
-
21
- ## FR 命名空间
22
- - Prefix: TTA-FR-NNN
23
- - 范围: 抖音小程序行为
24
-
25
- ## 特定约束
26
- - 抖音小程序审核流程
27
- - 预览通过小程序预览 QR 码访问
28
- - `BACKEND_URL` 在构建时注入
29
- - 视频/直播相关功能使用抖音小程序 API