@scemoon/cdh 1.0.6 → 1.0.8

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 +2 -1
  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 -807
  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
@@ -1,61 +0,0 @@
1
- # Deliver Rules (DLV-*) + Stack Rules (STK-*)
2
-
3
- ## DLV-001: Unified Stack Preview Before Production
4
- **Severity:** MUST
5
- **Description:** Every release MUST deploy as unified stack preview with per-component e2e + cross-stack e2e passing before production.
6
- **Valid:** `deploy_stack --preview` → `pytest aidlc/tests/cross-stack/ --stack-url $STACK_URL`.
7
- **Invalid:** Deploying only one component to preview.
8
-
9
- ## DLV-002: Production Approval Gate
10
- **Severity:** MUST
11
- **Description:** Production deployment requires explicit human approval reviewing per-component e2e, cross-stack e2e, staging smoke, and contract-diff.md.
12
- **Valid:** Human reviews all reports and explicitly approves.
13
- **Invalid:** Automated production deployment triggered solely by test pass.
14
-
15
- ## DLV-003: Stack BVT Validation
16
- **Severity:** MUST
17
- **Description:** After production deploy, BVT MUST run against the stack. Failure triggers automatic stack rollback.
18
- **Valid:** `bvt ${PRODUCTION_URL}` → fail → `deploy_stack --rollback`.
19
- **Invalid:** BVT skip or success with errors.
20
-
21
- ## DLV-004: Per-Component Preview URL Isolation
22
- **Severity:** MUST
23
- **Description:** e2e tests run against dynamic preview URLs, never hardcoded production URLs.
24
- **Valid:** `pytest apps/web/tests/e2e/ --preview-url $WEB_URL`.
25
- **Invalid:** Hardcoded `https://prod.example.com` in tests.
26
-
27
- ## STK-001: Component Scope Declaration
28
- **Severity:** MUST
29
- **Description:** Every spec delta, design doc, task list MUST declare `affects:`.
30
- **Valid:** `affects: [web, backend, contracts]`.
31
- **Invalid:** Missing `affects` declaration.
32
-
33
- ## STK-002: Cross-Component Tasks Have Edges
34
- **Severity:** MUST
35
- **Description:** Tasks consuming a contract MUST have explicit `depends_on` edge to producing task.
36
- **Valid:** `depends_on: [int-contract-auth-login, be-login-endpoint]`.
37
- **Invalid:** Implicit dependency with no DAG edge.
38
-
39
- ## STK-003: Cross-Stack E2E Mandatory for ≥2 Components
40
- **Severity:** MUST
41
- **Description:** Changes affecting ≥2 components MUST have cross-stack e2e testing real flow between components.
42
- **Valid:** Real web client against real backend preview.
43
- **Invalid:** Cross-stack test that mocks the other component.
44
-
45
- ## STK-004: Unified Stack Deploy
46
- **Severity:** MUST
47
- **Description:** Shared environments MUST use `deploy_stack` orchestrator, not per-component ad-hoc deploys.
48
- **Valid:** `deploy_stack --preview` deploys all components.
49
- **Invalid:** Ad-hoc per-component deploy to shared preview.
50
-
51
- ## STK-005: Cross-Component Build Config Injection
52
- **Severity:** MUST
53
- **Description:** All client builds receive `BACKEND_URL` as build-time env var, never hardcoded.
54
- **Valid:** `pnpm --filter web build --env BACKEND_URL=$BACKEND_URL`.
55
- **Invalid:** Hardcoded URLs in `.env.production`.
56
-
57
- ## STK-006: Stack-Level Rollback
58
- **Severity:** MUST
59
- **Description:** Rollback is stack operation. Entire previous stable version reverts together.
60
- **Valid:** `deploy_stack --rollback v1.2.3` reverts all components.
61
- **Invalid:** Rolling back only backend while leaving clients on new version.
@@ -1,25 +0,0 @@
1
- ---
2
- name: ai-dlc-plan
3
- description: "Plan Phase: Design Doc → Task DAG → Test Plan"
4
- triggers:
5
- - plan
6
- - design
7
- - task-list
8
- ---
9
-
10
- # Plan Phase (规划)
11
-
12
- Convert approved spec into technical design and task decomposition.
13
-
14
- ## Entry
15
-
16
- See `lifecycle.md` for the full phase flow.
17
- See `rules.md` for enforceable rules (PLN-001 to PLN-004).
18
- See `prompt.md` for the sub-agent delegation prompt template.
19
-
20
- ## 当被委派时
21
-
22
- 1. 读取 spec-delta 和 feature 文件
23
- 2. 生成设计文档(per-component + integration)
24
- 3. 分解为带 DAG 依赖的任务单元
25
- 4. 编写测试计划(每层)
@@ -1,204 +0,0 @@
1
- # AI-DLC Phase 2: Plan (规划)
2
-
3
- Design the solution and decompose work into tracked, dependency-ordered units, including cross-component edges.
4
-
5
- ## Goal
6
-
7
- Translate approved specifications into a concrete technical plan that can be executed unit by unit, with explicit cross-component dependencies and contract references.
8
-
9
- ## Flow
10
-
11
- ```
12
- Approved Spec + BDD Features (per-component + cross-stack)
13
-
14
-
15
- SDD: Design Doc
16
- - architecture (per component)
17
- - data model
18
- - API contract (references INT-FR-*)
19
- - state machine
20
- - integration section (cross-component flow)
21
-
22
-
23
- SDD: Task Decomposition (units with DAG, including cross-component edges)
24
-
25
-
26
- TDD: Test Plan (per scenario, written before implementation)
27
- - unit / integration / e2e / cross-stack layer
28
-
29
-
30
- INT: Contract plan (which contracts change, version impact)
31
-
32
-
33
- Gate: Human review → approved or revise
34
- ```
35
-
36
- ## SDD — Design Document (multi-component aware)
37
-
38
- A multi-component design doc is organized by **component sections** plus an **integration section**.
39
-
40
- ```markdown
41
- ## Design — CHG-{{id}}
42
-
43
- **Affects:** [{{components}}]
44
- **Contracts touched:** {{list or "none"}}
45
-
46
- ### Component: backend (BE-FR-*)
47
- - Architecture: {{serverless / container / ...}}
48
- - Data model: {{tables / collections}}
49
- - API surface: {{references INT-FR-* contract}}
50
- - State machine: {{...}}
51
-
52
- ### Component: web (WEB-FR-*)
53
- - Architecture: {{SPA / SSR}}
54
- - Routes: {{...}}
55
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-001}}
56
-
57
- ### Component: native (NATIVE-FR-*)
58
- - Architecture: {{native architecture}}
59
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
60
-
61
- ### Component: desktop (DESKTOP-FR-*)
62
- - Architecture: {{desktop architecture}}
63
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
64
-
65
- ### Component: wxa (WXA-FR-*)
66
- - Architecture: {{WeChat Mini Program}}
67
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
68
-
69
- ### Component: mya (MYA-FR-*)
70
- - Architecture: {{Mini Program}}
71
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
72
-
73
- ### Component: tta (TTA-FR-*)
74
- - Architecture: {{TikTok Mini Program}}
75
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
76
-
77
- ### Integration
78
- - Flow: {{web → backend → DB; or app → backend → event → ...}}
79
- - Contract refs: INT-FR-001, INT-FR-002
80
- - Failure modes: {{timeout, retry, fallback}}
81
- - Backward compat: {{additive / breaking → migration}}
82
- ```
83
-
84
- ### Data Model
85
-
86
- | Field | Type | Constraints |
87
- |-------|------|-------------|
88
- | id | UUID | PK |
89
- | email | string | UNIQUE, NOT NULL |
90
- | password_hash | string | NOT NULL |
91
-
92
- ### API Contract
93
-
94
- | Method | Path | INT FR | Provider | Consumer |
95
- |--------|------|--------|----------|----------|
96
- | POST | /auth/login | INT-FR-001 | BE-FR-001 | WEB-FR-001, NATIVE-FR-001, DESKTOP-FR-001, WXA-FR-001, MYA-FR-001, TTA-FR-001 |
97
-
98
- ### State Machine
99
-
100
- ```
101
- ANONYMOUS → LOGGED_IN → SESSION_EXPIRED
102
-
103
- LOGGED_OUT
104
- ```
105
-
106
- ## SDD — Task Decomposition with DAG (multi-component)
107
-
108
- Tasks MUST include cross-component edges. A task that produces or consumes a contract depends on the corresponding `INT-FR-*` task.
109
-
110
- ```mermaid
111
- graph TD
112
- INT1[INT-FR-001: define /auth/login contract]
113
- BE1[BE-FR-001 unit-1: DB schema + models]
114
- BE2[BE-FR-001 unit-2: login endpoint]
115
- WEB1[WEB-FR-001 unit-1: login form + API client]
116
- WEB2[WEB-FR-001 unit-2: token storage + redirect]
117
- CS1[INT-FR-001 cross-stack: e2e login flow]
118
-
119
- INT1 --> BE2
120
- INT1 --> WEB1
121
- BE1 --> BE2
122
- BE2 --> CS1
123
- WEB1 --> CS1
124
- WEB2 --> CS1
125
- ```
126
-
127
- ```yaml
128
- units:
129
- - id: int-contract-1
130
- fr: INT-FR-001
131
- affects: [contracts]
132
- depends_on: []
133
- deliverables: [aidlc/contracts/api/auth.yaml]
134
- - id: be-unit-1
135
- fr: BE-FR-001
136
- affects: [backend]
137
- depends_on: []
138
- scenarios: []
139
- - id: be-unit-2
140
- fr: BE-FR-001
141
- affects: [backend]
142
- depends_on: [int-contract-1, be-unit-1]
143
- scenarios: ["BE-FR-001 @positive", "BE-FR-001 @negative"]
144
- - id: web-unit-1
145
- fr: WEB-FR-001
146
- affects: [web]
147
- depends_on: [int-contract-1]
148
- scenarios: ["WEB-FR-001 @positive", "WEB-FR-001 @negative"]
149
- - id: cross-stack-1
150
- fr: INT-FR-001
151
- affects: [web, backend]
152
- depends_on: [be-unit-2, web-unit-1]
153
- layer: cross-stack
154
- scenarios: ["INT-FR-001 @positive", "INT-FR-001 @negative", "INT-FR-001 @edge"]
155
- ```
156
-
157
- ## TDD — Test Plan (per scenario, per layer)
158
-
159
- Each scenario gets a test plan that names the **layer** it runs at.
160
-
161
- ```markdown
162
- ## BE-FR-001 @positive: Login API success
163
- Layer: integration
164
- Test cases:
165
- 1. test_login_valid_credentials_returns_jwt
166
- 2. test_login_sets_expiry_3600
167
-
168
- ## WEB-FR-001 @positive: Login form happy path
169
- Layer: e2e
170
- Test cases:
171
- 1. test_login_form_submits_and_redirects
172
-
173
- ## INT-FR-001 @positive: Full web→backend login flow
174
- Layer: cross-stack
175
- Test cases:
176
- 1. test_web_login_e2e_against_preview_url
177
- ```
178
-
179
- ## INT — Contract Plan
180
-
181
- For each contract change, list:
182
- - Old version, new version
183
- - Breaking? (yes / no) → if yes, plan migration in `aidlc/contracts/CHANGELOG.md`
184
- - Consumers affected (which components will pull the new shared types)
185
- - Backward-compat strategy (additive vs. deprecate-then-remove)
186
-
187
- ## Artifacts
188
-
189
- | Artifact | Location | Purpose |
190
- |----------|----------|---------|
191
- | Design doc | `aidlc/openspec/changes/{id}/design.md` | Per-component + integration |
192
- | Task list | `aidlc/openspec/changes/{id}/task-list.md` | DAG with cross-component edges |
193
- | Test plan | Embedded in task-list or separate | Per-scenario, per-layer |
194
- | Contract plan | `aidlc/openspec/changes/{id}/contract-diff.md` placeholder | Filled in Verify |
195
-
196
- ## Gate
197
-
198
- **Before advancing to Verify phase:**
199
- - [ ] Design doc has per-component sections + integration section
200
- - [ ] Tasks decomposed with explicit dependency DAG (including cross-component edges)
201
- - [ ] `INT-FR-*` tasks precede the consuming per-component tasks
202
- - [ ] Test plans name the layer (`unit` / `integration` / `e2e` / `cross-stack`) per scenario
203
- - [ ] Contract plan identifies breaking vs. additive
204
- - [ ] Human reviewed and approved
@@ -1,38 +0,0 @@
1
- # Plan Phase Agent Prompt
2
-
3
- 你是一个 AI-DLC Plan Phase Agent。
4
- 由 Master Agent 委派处理方案设计。
5
-
6
- ## 输入
7
- - `aidlc/openspec/changes/{id}/spec-delta.md`
8
- - BDD feature 文件
9
-
10
- ## 任务
11
-
12
- 1. **SDD: Design Doc**
13
- - 在 `aidlc/openspec/changes/{id}/design.md` 输出
14
- - 包含:架构图(Mermaid)、数据模型、API 表、状态机
15
- - 每组件独立 section + 集成 section
16
-
17
- 2. **SDD: Task Decomposition**
18
- - 在 `aidlc/openspec/changes/{id}/task-list.md` 输出
19
- - YAML 格式,unit 带 `depends_on` DAG
20
- - 跨组件 task 显示声明 `depends_on` 关系
21
-
22
- 3. **TDD: Test Plan**
23
- - 每个 BDD scenario 对应最少一个测试 case
24
- - 标注 layer: unit / integration / e2e / cross-stack / contract
25
-
26
- 4. **Contract Plan**
27
- - 标注版本影响:additive / breaking
28
- - 如需 breaking change 标记为 human-approval 阻塞
29
-
30
- ## 输出产物
31
- - `aidlc/openspec/changes/{id}/design.md`
32
- - `aidlc/openspec/changes/{id}/task-list.md`
33
- - `aidlc/openspec/changes/{id}/contract-diff.md`(占位)
34
-
35
- ## 约束
36
- - 遵守 `rules.md` 中的 PLN-001 到 PLN-004
37
- - 遵守 STK-001, STK-002(affects 声明 + cross-component 依赖)
38
- - 完成前必须通过 Human Gate 审查
@@ -1,25 +0,0 @@
1
- # Plan Rules (PLN-*)
2
-
3
- ## PLN-001: Design Documentation
4
- **Severity:** MUST
5
- **Description:** Each feature MUST have a design document covering architecture, data model, API contracts, and state machine. For multi-component features, MUST have per-component sections and an integration section.
6
- **Valid:** `aidlc/openspec/changes/{id}/design.md` with `## Component: backend`, `## Component: web`, `## Integration`.
7
- **Invalid:** A single flat architecture section with no per-component concerns.
8
-
9
- ## PLN-002: Dependency DAG
10
- **Severity:** MUST
11
- **Description:** Units MUST be decomposed with explicit dependency DAG including cross-component edges. A task producing/consuming a contract MUST depend on the corresponding `INT-FR-*` task.
12
- **Valid:** `depends_on: [int-contract-1, be-unit-1]` for a web task consuming the contract.
13
- **Invalid:** Per-component task lists with no cross-component edges.
14
-
15
- ## PLN-003: Test Plan Before Implementation
16
- **Severity:** MUST
17
- **Description:** Test plans for each scenario MUST be written before implementation and MUST name the test layer (`unit`, `integration`, `e2e`, `cross-stack`, `contract`).
18
- **Valid:** `BE-FR-001 @positive → layer: integration → test_login_valid_credentials`
19
- **Invalid:** A test plan with no layer designation.
20
-
21
- ## PLN-004: Contract Plan
22
- **Severity:** MUST
23
- **Description:** For each contract change, the design doc MUST identify version impact (additive vs. breaking), consumers affected, and backward-compat strategy.
24
- **Valid:** `INT-FR-001 change: additive, MINOR bump; no consumer migration needed`
25
- **Invalid:** Contract change with no version impact noted.
@@ -1,26 +0,0 @@
1
- ---
2
- name: ai-dlc-understand
3
- description: "Understand Phase: Intent → Spec Delta → BDD Feature Files"
4
- triggers:
5
- - understand
6
- - spec-delta
7
- - EARS
8
- - feature file
9
- ---
10
-
11
- # Understand Phase (理解)
12
-
13
- Transform business intent into formal specification and behavior scenarios.
14
-
15
- ## Entry
16
-
17
- See `lifecycle.md` for the full phase flow.
18
- See `rules.md` for enforceable rules (UND-001 to UND-006).
19
- See `prompt.md` for the sub-agent delegation prompt template.
20
-
21
- ## 当被委派时
22
-
23
- 1. 读取 intent 输入
24
- 2. 按 SDD 方法生成 spec-delta(EARS 格式)
25
- 3. 为每个 FR 写 BDD feature 文件(≥3 scenarios: positive, negative, edge)
26
- 4. 输出到 `aidlc/openspec/changes/{id}/`
@@ -1,184 +0,0 @@
1
- # AI-DLC Phase 1: Understand (理解)
2
-
3
- Transform business intent into formal specification and behavior scenarios, scoped to the right FR namespace.
4
-
5
- ## Goal
6
-
7
- Convert a business need into unambiguous, verifiable requirements before any design or code work begins. For multi-component features, capture the **cross-component boundary** in addition to per-component behavior.
8
-
9
- ## Flow
10
-
11
- ```
12
- Intent (business need / user story)
13
-
14
-
15
- Identify scope: which components does this touch?
16
-
17
-
18
- SDD: Proposal (why, what, impact, affects: [native|desktop|web|backend|wxa|mya|tta|contracts])
19
-
20
-
21
- SDD: Spec Delta (EARS format — ADDED/MODIFIED/REMOVED, FR namespaces)
22
-
23
-
24
- BDD: Feature Files
25
- - features/{component}/{domain}/{feature}.feature (per-component)
26
- - aidlc/features/cross-stack/{domain}/{feature}.feature (full flow, if applies)
27
-
28
-
29
- Gate: Human review → approved or revise
30
- ```
31
-
32
- ## Scope Identification
33
-
34
- Before writing the spec, declare which components the feature affects. This determines the FR namespaces and which lifecycle paths run.
35
-
36
- | Affects | Example | FRs |
37
- |---------|---------|-----|
38
- | `[backend]` only | Internal API | `BE-FR-NNN` |
39
- | `[web, backend]` | Login UI + API | `WEB-FR-NNN`, `BE-FR-NNN`, `INT-FR-NNN` |
40
- | `[native, backend]` | Native login | `NATIVE-FR-NNN`, `BE-FR-NNN`, `INT-FR-NNN` |
41
- | `[desktop, backend]` | Desktop login | `DESKTOP-FR-NNN`, `BE-FR-NNN`, `INT-FR-NNN` |
42
- | `[wxa, backend]` | Mini-program login | `WXA-FR-NNN`, `BE-FR-NNN`, `INT-FR-NNN` |
43
- | `[mya, backend]` | Mini-program login | `MYA-FR-NNN`, `BE-FR-NNN`, `INT-FR-NNN` |
44
- | `[tta, backend]` | Mini-program login | `TTA-FR-NNN`, `BE-FR-NNN`, `INT-FR-NNN` |
45
- | `[web, native, desktop, wxa, mya, tta, backend]` | Full feature | `WEB-FR-NNN`, `NATIVE-FR-NNN`, `DESKTOP-FR-NNN`, `WXA-FR-NNN`, `MYA-FR-NNN`, `TTA-FR-NNN`, `BE-FR-NNN`, `INT-FR-NNN` |
46
- | `[contracts]` | Schema-only change | `INT-FR-NNN` only |
47
-
48
- `affects: [contracts]` is reserved for **pure contract changes** (e.g. add a new field shared by all components). It still requires Plan + Verify.
49
-
50
- ## SDD — Spec-Driven Development
51
-
52
- ### Intent Capture
53
-
54
- ```markdown
55
- ## Intent
56
-
57
- **Title:** {{title}}
58
- **Affects:** [{{components}}]
59
- **Why:** {{why}}
60
- **What:** {{what}}
61
- **Success:** {{success_criteria}}
62
- ```
63
-
64
- ### Spec Delta (EARS) with Namespace
65
-
66
- ```markdown
67
- ## Change: CHG-{{id}} — {{title}}
68
-
69
- **Affects:** [{{components}}]
70
- **Contracts touched:** {{list or "none"}}
71
-
72
- ## ADDED Requirements
73
-
74
- ### INT-FR-{{nnn}}: {{contract_title}}
75
- (only if affects contracts or ≥2 components)
76
-
77
- **Description (Event-Driven):**
78
- When a {{event}}, the system SHALL {{behavior}} on the contract boundary.
79
-
80
- ### BE-FR-{{nnn}}: {{backend_title}}
81
- **Description (Event-Driven):**
82
- When {{event}}, the backend SHALL {{behavior}}.
83
-
84
- ### WEB-FR-{{nnn}}: {{web_title}}
85
- **Description (Event-Driven):**
86
- When {{event}}, the web client SHALL {{behavior}}.
87
-
88
- ### NATIVE-FR-{{nnn}}: {{native_title}}
89
- **Description (Event-Driven):**
90
- When {{event}}, the native client SHALL {{behavior}}.
91
-
92
- ### DESKTOP-FR-{{nnn}}: {{desktop_title}}
93
- **Description (Event-Driven):**
94
- When {{event}}, the desktop client SHALL {{behavior}}.
95
-
96
- ### WXA-FR-{{nnn}}: {{wxa_title}}
97
- **Description (Event-Driven):**
98
- When {{event}}, the WeChat Mini Program SHALL {{behavior}}.
99
-
100
- ### MYA-FR-{{nnn}}: {{mya_title}}
101
- **Description (Event-Driven):**
102
- When {{event}}, the Mini Program SHALL {{behavior}}.
103
-
104
- ### TTA-FR-{{nnn}}: {{tta_title}}
105
- **Description (Event-Driven):**
106
- When {{event}}, the TikTok Mini Program SHALL {{behavior}}.
107
- ```
108
-
109
- ### EARS Patterns
110
-
111
- | Pattern | Syntax | When to Use |
112
- |---------|--------|-------------|
113
- | Ubiquitous | `The system SHALL ...` | Always-active rules |
114
- | Event-Driven | `When {event}, the system SHALL ...` | Trigger-based behavior |
115
- | State-Driven | `While {state}, the system SHALL ...` | Active state conditions |
116
- | Unwanted | `If {condition}, the system SHALL ...` | Error handling |
117
- | Optional | `Where {feature} enabled, the system SHALL ...` | Feature flags |
118
-
119
- ## BDD — Behavior-Driven Development
120
-
121
- ### Per-Component Feature Files
122
-
123
- ```gherkin
124
- @WEB-FR-001
125
- Feature: Web Login UI
126
-
127
- @WEB-FR-001 @positive
128
- Scenario: User logs in successfully
129
- Given the web app is on the login page
130
- When the user submits valid credentials
131
- Then the user is redirected to dashboard
132
- And the user receives a JWT in storage
133
-
134
- @WEB-FR-001 @negative
135
- Scenario: Invalid credentials show error
136
- ...
137
-
138
- @WEB-FR-001 @edge
139
- Scenario: Empty fields show validation
140
- ...
141
- ```
142
-
143
- ### Cross-Stack Feature File (mandatory for `affects ≥ 2 components`)
144
-
145
- ```gherkin
146
- @INT-FR-001
147
- Feature: Cross-stack login flow
148
-
149
- @INT-FR-001 @positive
150
- Scenario: Web login reaches backend and stores token
151
- Given the web app is on the login page
152
- When the user submits valid credentials
153
- Then the backend POST /auth/login returns 200 with JWT
154
- And the web app stores the token
155
- And the user is redirected to dashboard
156
-
157
- @INT-FR-001 @negative
158
- Scenario: Backend rejects invalid credentials with 401
159
- ...
160
-
161
- @INT-FR-001 @edge
162
- Scenario: Backend timeout surfaces a user-friendly error
163
- ...
164
- ```
165
-
166
- ## Artifacts
167
-
168
- | Artifact | Location | Purpose |
169
- |----------|----------|---------|
170
- | Intent | `aidlc/requirements.md` | Business need + `affects` |
171
- | Spec delta | `aidlc/openspec/changes/{id}/spec-delta.md` | EARS, FR namespaces, `affects` |
172
- | Per-component BDD | `apps/{component}/features/{domain}/{feature}.feature` | Component behavior |
173
- | Cross-stack BDD | `aidlc/features/cross-stack/{domain}/{feature}.feature` | End-to-end flow |
174
- | Contract spec | `aidlc/contracts/{api,events}/{name}.{yaml,graphql}` | INT-FR-NNN source of truth |
175
-
176
- ## Gate
177
-
178
- **Before advancing to Plan phase:**
179
- - [ ] `affects: [...]` declared in spec-delta
180
- - [ ] Spec delta uses EARS format
181
- - [ ] Per-component FRs: each tagged `@FR-{PREFIX}-NNN` (e.g. `@NATIVE-`, `@DESKTOP-`, `@WEB-`, `@BE-`, `@WXA-`, `@MYA-`, `@TTA-`), ≥3 scenarios (positive/negative/edge)
182
- - [ ] If `affects` includes ≥2 components: at least one `INT-FR-NNN` and a `aidlc/features/cross-stack/*.feature` with ≥3 scenarios
183
- - [ ] If `affects` includes contracts: contract file present in `aidlc/contracts/`
184
- - [ ] Human reviewed and approved
@@ -1,41 +0,0 @@
1
- # Understand Phase Agent Prompt
2
-
3
- 你是一个 AI-DLC Understand Phase Agent。
4
- 由 Master Agent 委派处理需求分析。
5
-
6
- ## 输入
7
- - Intent 描述(来自用户 / Master)
8
- - `affects: [component list]` 声明
9
-
10
- ## 任务
11
-
12
- 1. **SDD: Intent Capture**
13
- - 在 `aidlc/requirements.md` 记录 Why / What / Success Criteria / Scope
14
- - 声明 `affects: [native|desktop|web|backend|wxa|mya|tta|contracts]`
15
-
16
- 2. **SDD: Spec Delta (EARS)**
17
- - 在 `aidlc/openspec/changes/{id}/spec-delta.md` 输出
18
- - 使用 EARS 格式:Ubiquitous / Event-Driven / State-Driven / Unwanted / Optional
19
- - FR 必须使用命名空间前缀(BE-FR-001, WEB-FR-001 等)
20
-
21
- 3. **BDD: Feature Files**
22
- - 每个 FR ≥3 个 scenario(positive / negative / edge)
23
- - Per-component: `apps/{component}/features/{domain}/{feature}.feature`
24
- - Cross-stack: `aidlc/features/cross-stack/{domain}/{feature}.feature`
25
- - Tag 使用 `@FR-PREFIX-NNN`
26
-
27
- 4. **Contract First**(跨组件时)
28
- - 在 `aidlc/contracts/{api,events}/` 创建合约文件
29
- - 引用 INT-FR-NNN
30
-
31
- ## 输出产物
32
- - `aidlc/requirements.md`
33
- - `aidlc/openspec/changes/{id}/spec-delta.md`
34
- - `apps/{component}/features/{domain}/{feature}.feature`
35
- - `aidlc/features/cross-stack/{domain}/{feature}.feature`(跨组件时)
36
- - `aidlc/contracts/{api,events}/{name}.yaml`(跨组件时)
37
-
38
- ## 约束
39
- - 遵守 `rules.md` 中的 UND-001 到 UND-006
40
- - 遵守 `core/security.md`
41
- - 完成前必须通过 Human Gate 审查
@@ -1,37 +0,0 @@
1
- # Understand Rules (UND-*)
2
-
3
- ## UND-001: Intent Documentation
4
- **Severity:** MUST
5
- **Description:** Before any specification or implementation, the business intent MUST be documented. Intent includes: what is being built, why, and how success is measured.
6
- **Valid:** Intent captured in `aidlc/requirements.md` with `affects: [...]` before spec delta.
7
- **Invalid:** Starting spec delta or feature files without documented intent or without an `affects` declaration.
8
-
9
- ## UND-002: EARS Format
10
- **Severity:** MUST
11
- **Description:** All functional requirements MUST use EARS syntax (Ubiquitous, Event-Driven, State-Driven, Unwanted, or Optional).
12
- **Valid:** `When a user submits valid credentials, the system SHALL return a JWT token.`
13
- **Invalid:** `The login should work well and be fast.`
14
-
15
- ## UND-003: BDD Scenario Coverage
16
- **Severity:** MUST
17
- **Description:** Each functional requirement MUST have at least 3 BDD scenarios covering positive, negative, and edge cases. Scenarios MUST be tagged with the FR namespace prefix (`@NATIVE-`, `@DESKTOP-`, `@WEB-`, `@BE-`, `@WXA-`, `@MYA-`, `@TTA-`, or `@INT-`).
18
- **Valid:** `@WEB-FR-001 @positive` with three scenarios per FR.
19
- **Invalid:** One scenario per FR, or missing namespace prefix.
20
-
21
- ## UND-004: Affects Declaration
22
- **Severity:** MUST
23
- **Description:** Every spec delta MUST declare `affects: [native, desktop, web, backend, wxa, mya, tta, contracts]`.
24
- **Valid:** `## Change: CHG-001 — User Login\nAffects: [web, backend, contracts]`
25
- **Invalid:** Spec delta without an `affects` declaration.
26
-
27
- ## UND-005: Cross-Component Feature Decomposition
28
- **Severity:** MUST
29
- **Description:** A feature that affects ≥2 components MUST be split into: one FR per component, one or more `INT-*` FRs, and a `aidlc/features/cross-stack/*.feature` file.
30
- **Valid:** `affects: [web, backend]` → `WEB-FR-001`, `BE-FR-001`, `INT-FR-001`, plus cross-stack feature file.
31
- **Invalid:** A single feature file claiming to test both web and backend behavior.
32
-
33
- ## UND-006: Contract-First for Cross-Component
34
- **Severity:** MUST
35
- **Description:** When a feature introduces or changes a public API or event consumed by another component, a contract file MUST be added or updated in `aidlc/contracts/` before any per-component implementation.
36
- **Valid:** `aidlc/contracts/api/auth.yaml` defines `POST /auth/login` before any code.
37
- **Invalid:** Per-component code that depends on a contract not in `aidlc/contracts/`.
@@ -1,26 +0,0 @@
1
- ---
2
- name: ai-dlc-verify
3
- description: "Verify Phase: TDD Red-Green-Refactor → Contract Test → Quality Gates"
4
- triggers:
5
- - verify
6
- - TDD
7
- - test
8
- - quality-gate
9
- ---
10
-
11
- # Verify Phase (验证)
12
-
13
- Execute TDD per BDD scenario, verify contracts, enforce quality gates.
14
-
15
- ## Entry
16
-
17
- See `lifecycle.md` for the full phase flow.
18
- See `rules.md` for enforceable rules (VRF-001 to VRF-006 + INT-001 to INT-006).
19
- See `prompt.md` for the sub-agent delegation prompt template.
20
-
21
- ## 当被委派时
22
-
23
- 1. 按 DAG 顺序对每个 unit 执行 TDD Red→Green→Refactor
24
- 2. 运行合约测试 + 检查 backward-compat
25
- 3. 运行 cross-stack e2e
26
- 4. 执行质量门禁(cov≥80%, 0 vulns, no TODO)