agentic-dev 0.2.11 → 0.2.12

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 (314) hide show
  1. package/README.md +53 -46
  2. package/package.json +8 -22
  3. package/.agent/prd.json +0 -29
  4. package/.agent/progress.txt +0 -1
  5. package/.agent/prompt.md +0 -21
  6. package/.agent/ralph-loop-state.json +0 -13
  7. package/.agent/ralph-supervisor-state.json +0 -12
  8. package/.agent/ralph-supervisor.sh +0 -238
  9. package/.agent/ralph.sh +0 -305
  10. package/.agent/runs/README.md +0 -7
  11. package/.agent/sdd-build-ast-audit.json +0 -13
  12. package/.claude/CLAUDE.md +0 -44
  13. package/.claude/agentic-dev.json +0 -3
  14. package/.claude/agents/ai-dev.md +0 -27
  15. package/.claude/agents/backend-dev.md +0 -26
  16. package/.claude/agents/db-dev.md +0 -26
  17. package/.claude/agents/devops.md +0 -27
  18. package/.claude/agents/frontend-dev.md +0 -25
  19. package/.claude/agents/github-ops.md +0 -25
  20. package/.claude/agents/test-dev.md +0 -26
  21. package/.claude/agents/uiux-designer.md +0 -25
  22. package/.claude/settings.json +0 -49
  23. package/.claude/settings.local.json +0 -8
  24. package/.claude/skills/sdd/SKILL.md +0 -189
  25. package/.claude/skills/sdd/agents/openai.yaml +0 -4
  26. package/.claude/skills/sdd/references/section-map.md +0 -67
  27. package/.claude/workspace-config.json +0 -3
  28. package/.codex/agentic-dev.json +0 -3
  29. package/.codex/agents/README.md +0 -22
  30. package/.codex/agents/api.toml +0 -11
  31. package/.codex/agents/architecture.toml +0 -11
  32. package/.codex/agents/ci.toml +0 -11
  33. package/.codex/agents/gitops.toml +0 -11
  34. package/.codex/agents/orchestrator.toml +0 -11
  35. package/.codex/agents/quality.toml +0 -11
  36. package/.codex/agents/runtime.toml +0 -11
  37. package/.codex/agents/security.toml +0 -11
  38. package/.codex/agents/specs.toml +0 -11
  39. package/.codex/agents/ui.toml +0 -11
  40. package/.codex/config.toml +0 -46
  41. package/.codex/skills/SKILL.md +0 -13
  42. package/.codex/skills/sdd/SKILL.md +0 -189
  43. package/.codex/skills/sdd/agents/openai.yaml +0 -4
  44. package/.codex/skills/sdd/references/section-map.md +0 -67
  45. package/.dockerignore +0 -8
  46. package/.env.example +0 -50
  47. package/.gitignore +0 -16
  48. package/AGENTS.md +0 -86
  49. package/SDD_SKILL.md +0 -589
  50. package/compose.yml +0 -206
  51. package/infra/compose/.env.dev.example +0 -28
  52. package/infra/compose/.env.prod.example +0 -29
  53. package/infra/compose/README.md +0 -35
  54. package/infra/compose/dev.yml +0 -125
  55. package/infra/compose/prod.yml +0 -126
  56. package/infra/terraform/README.md +0 -34
  57. package/infra/terraform/aws/data/.terraform.lock.hcl +0 -25
  58. package/infra/terraform/aws/data/README.md +0 -18
  59. package/infra/terraform/aws/data/main.tf +0 -147
  60. package/infra/terraform/aws/data/outputs.tf +0 -14
  61. package/infra/terraform/aws/data/variables.tf +0 -57
  62. package/infra/terraform/aws/data/versions.tf +0 -10
  63. package/infra/terraform/aws/domain/.terraform.lock.hcl +0 -25
  64. package/infra/terraform/aws/domain/README.md +0 -20
  65. package/infra/terraform/aws/domain/env/dev.tfvars.example +0 -6
  66. package/infra/terraform/aws/domain/env/prod.tfvars.example +0 -7
  67. package/infra/terraform/aws/domain/main.tf +0 -149
  68. package/infra/terraform/aws/domain/outputs.tf +0 -29
  69. package/infra/terraform/aws/domain/variables.tf +0 -58
  70. package/infra/terraform/aws/domain/versions.tf +0 -10
  71. package/infra/terraform/openstack/README.md +0 -38
  72. package/infra/terraform/openstack/dev/.terraform.lock.hcl +0 -24
  73. package/infra/terraform/openstack/dev/README.md +0 -18
  74. package/infra/terraform/openstack/dev/main.tf +0 -49
  75. package/infra/terraform/openstack/dev/providers.tf +0 -15
  76. package/infra/terraform/openstack/dev/terraform.tfvars.example +0 -54
  77. package/infra/terraform/openstack/dev/variables.tf +0 -210
  78. package/infra/terraform/openstack/dev/versions.tf +0 -10
  79. package/infra/terraform/openstack/modules/environment_host/main.tf +0 -143
  80. package/infra/terraform/openstack/modules/environment_host/outputs.tf +0 -25
  81. package/infra/terraform/openstack/modules/environment_host/templates/docker-host-user-data.sh.tftpl +0 -40
  82. package/infra/terraform/openstack/modules/environment_host/variables.tf +0 -145
  83. package/infra/terraform/openstack/modules/environment_host/versions.tf +0 -7
  84. package/infra/terraform/openstack/prod/.terraform.lock.hcl +0 -24
  85. package/infra/terraform/openstack/prod/README.md +0 -18
  86. package/infra/terraform/openstack/prod/main.tf +0 -49
  87. package/infra/terraform/openstack/prod/providers.tf +0 -15
  88. package/infra/terraform/openstack/prod/terraform.tfvars.example +0 -55
  89. package/infra/terraform/openstack/prod/variables.tf +0 -210
  90. package/infra/terraform/openstack/prod/versions.tf +0 -10
  91. package/infra/terraform/openstack/server/.terraform.lock.hcl +0 -45
  92. package/infra/terraform/openstack/server/README.md +0 -47
  93. package/infra/terraform/openstack/server/main.tf +0 -161
  94. package/infra/terraform/openstack/server/outputs.tf +0 -30
  95. package/infra/terraform/openstack/server/providers.tf +0 -30
  96. package/infra/terraform/openstack/server/templates/server-user-data.sh.tftpl +0 -50
  97. package/infra/terraform/openstack/server/variables.tf +0 -233
  98. package/infra/terraform/openstack/server/zz_aspace.auto.tfvars.example.json +0 -29
  99. package/pnpm-workspace.yaml +0 -2
  100. package/scripts/dev/audit_sdd_build_ast.py +0 -277
  101. package/sdd/01_planning/01_feature/INDEX.md +0 -16
  102. package/sdd/01_planning/01_feature/README.md +0 -76
  103. package/sdd/01_planning/01_feature/alerts_feature_spec.md +0 -55
  104. package/sdd/01_planning/01_feature/auth_feature_spec.md +0 -57
  105. package/sdd/01_planning/01_feature/catalog_feature_spec.md +0 -61
  106. package/sdd/01_planning/01_feature/fulfillment_feature_spec.md +0 -58
  107. package/sdd/01_planning/01_feature/health_feature_spec.md +0 -52
  108. package/sdd/01_planning/01_feature/inventory_feature_spec.md +0 -60
  109. package/sdd/01_planning/01_feature/order_feature_spec.md +0 -63
  110. package/sdd/01_planning/01_feature/shipping_feature_spec.md +0 -55
  111. package/sdd/01_planning/01_feature/support_feature_spec.md +0 -53
  112. package/sdd/01_planning/01_feature/user_feature_spec.md +0 -54
  113. package/sdd/01_planning/02_screen/INDEX.md +0 -13
  114. package/sdd/01_planning/02_screen/README.md +0 -41
  115. package/sdd/01_planning/02_screen/admin_screen_spec.pdf +0 -0
  116. package/sdd/01_planning/02_screen/assets/README.md +0 -16
  117. package/sdd/01_planning/02_screen/assets/example/README.md +0 -13
  118. package/sdd/01_planning/02_screen/landing_screen_spec.pdf +0 -0
  119. package/sdd/01_planning/02_screen/mobile_screen_spec.pdf +0 -0
  120. package/sdd/01_planning/02_screen/web_screen_spec.pdf +0 -0
  121. package/sdd/01_planning/03_architecture/INDEX.md +0 -9
  122. package/sdd/01_planning/03_architecture/README.md +0 -25
  123. package/sdd/01_planning/03_architecture/architecture_document_structure.md +0 -77
  124. package/sdd/01_planning/03_architecture/backend/README.md +0 -10
  125. package/sdd/01_planning/03_architecture/frontend/README.md +0 -12
  126. package/sdd/01_planning/03_architecture/infra/README.md +0 -10
  127. package/sdd/01_planning/03_architecture/tech-research/README.md +0 -4
  128. package/sdd/01_planning/03_architecture/templates_system_architecture.md +0 -84
  129. package/sdd/01_planning/04_data/INDEX.md +0 -4
  130. package/sdd/01_planning/04_data/README.md +0 -10
  131. package/sdd/01_planning/04_data/templates_data_modeling.md +0 -119
  132. package/sdd/01_planning/05_api/README.md +0 -12
  133. package/sdd/01_planning/05_api/templates_api_contract.md +0 -90
  134. package/sdd/01_planning/06_iac/README.md +0 -11
  135. package/sdd/01_planning/06_iac/templates_runtime_and_cicd_baseline.md +0 -46
  136. package/sdd/01_planning/07_integration/README.md +0 -11
  137. package/sdd/01_planning/07_integration/templates_frontend_api_integration.md +0 -46
  138. package/sdd/01_planning/08_nonfunctional/README.md +0 -7
  139. package/sdd/01_planning/09_security/README.md +0 -7
  140. package/sdd/01_planning/10_test/README.md +0 -12
  141. package/sdd/01_planning/10_test/templates_test_strategy.md +0 -60
  142. package/sdd/01_planning/INDEX.md +0 -19
  143. package/sdd/01_planning/README.md +0 -17
  144. package/sdd/02_plan/01_feature/README.md +0 -34
  145. package/sdd/02_plan/01_feature/_feature_todo_template.md +0 -29
  146. package/sdd/02_plan/02_screen/INDEX.md +0 -19
  147. package/sdd/02_plan/02_screen/README.md +0 -39
  148. package/sdd/02_plan/02_screen/_screen_todo_template.md +0 -60
  149. package/sdd/02_plan/03_architecture/README.md +0 -23
  150. package/sdd/02_plan/03_architecture/architecture_document_governance.md +0 -40
  151. package/sdd/02_plan/03_architecture/build_ast_runtime_tree_governance.md +0 -53
  152. package/sdd/02_plan/03_architecture/repository_governance.md +0 -39
  153. package/sdd/02_plan/03_architecture/runtime_and_structure_governance.md +0 -38
  154. package/sdd/02_plan/03_architecture/templates-hexagonal-template-architecture.md +0 -9
  155. package/sdd/02_plan/03_architecture/toolchain_governance.md +0 -98
  156. package/sdd/02_plan/04_data/README.md +0 -5
  157. package/sdd/02_plan/05_api/README.md +0 -5
  158. package/sdd/02_plan/06_iac/README.md +0 -11
  159. package/sdd/02_plan/06_iac/dev_runtime_delivery.md +0 -36
  160. package/sdd/02_plan/06_iac/template_runtime_delivery.md +0 -50
  161. package/sdd/02_plan/07_integration/README.md +0 -5
  162. package/sdd/02_plan/07_integration/frontend_live_integration.md +0 -31
  163. package/sdd/02_plan/08_nonfunctional/README.md +0 -5
  164. package/sdd/02_plan/08_nonfunctional/repository_hygiene.md +0 -26
  165. package/sdd/02_plan/09_security/README.md +0 -5
  166. package/sdd/02_plan/10_test/README.md +0 -11
  167. package/sdd/02_plan/10_test/regression_verification.md +0 -39
  168. package/sdd/02_plan/10_test/templates/README.md +0 -8
  169. package/sdd/02_plan/10_test/templates/ui_parity_web_contract.template.yaml +0 -23
  170. package/sdd/02_plan/10_test/verification_strategy.md +0 -43
  171. package/sdd/02_plan/99_generated/from_planning/ui_parity/.gitkeep +0 -1
  172. package/sdd/02_plan/README.md +0 -40
  173. package/sdd/03_build/01_feature/README.md +0 -20
  174. package/sdd/03_build/01_feature/domain/README.md +0 -3
  175. package/sdd/03_build/01_feature/domain/account_and_access.md +0 -20
  176. package/sdd/03_build/01_feature/domain/catalog_and_inventory.md +0 -20
  177. package/sdd/03_build/01_feature/domain/ordering_and_fulfillment.md +0 -21
  178. package/sdd/03_build/01_feature/domain/support_and_observability.md +0 -21
  179. package/sdd/03_build/01_feature/domain_surfaces.md +0 -28
  180. package/sdd/03_build/01_feature/service/README.md +0 -3
  181. package/sdd/03_build/01_feature/service/admin_surface.md +0 -15
  182. package/sdd/03_build/01_feature/service/landing_surface.md +0 -13
  183. package/sdd/03_build/01_feature/service/mobile_surface.md +0 -14
  184. package/sdd/03_build/01_feature/service/web_surface.md +0 -14
  185. package/sdd/03_build/02_screen/README.md +0 -25
  186. package/sdd/03_build/02_screen/_screen_build_template.md +0 -26
  187. package/sdd/03_build/02_screen/admin/README.md +0 -5
  188. package/sdd/03_build/02_screen/landing/README.md +0 -5
  189. package/sdd/03_build/02_screen/mobile/README.md +0 -5
  190. package/sdd/03_build/02_screen/web/README.md +0 -5
  191. package/sdd/03_build/03_architecture/README.md +0 -10
  192. package/sdd/03_build/03_architecture/architecture_document_governance.md +0 -30
  193. package/sdd/03_build/03_architecture/build_ast_runtime_tree_governance.md +0 -24
  194. package/sdd/03_build/03_architecture/repository_governance.md +0 -18
  195. package/sdd/03_build/03_architecture/toolchain_governance.md +0 -36
  196. package/sdd/03_build/06_iac/README.md +0 -3
  197. package/sdd/03_build/06_iac/dev_runtime_delivery.md +0 -10
  198. package/sdd/03_build/06_iac/template_runtime_delivery.md +0 -49
  199. package/sdd/03_build/07_integration/README.md +0 -3
  200. package/sdd/03_build/07_integration/frontend_live_integration.md +0 -11
  201. package/sdd/03_build/08_nonfunctional/README.md +0 -3
  202. package/sdd/03_build/08_nonfunctional/repository_hygiene.md +0 -10
  203. package/sdd/03_build/10_test/README.md +0 -9
  204. package/sdd/03_build/10_test/regression_verification.md +0 -16
  205. package/sdd/03_build/10_test/verification_harness.md +0 -11
  206. package/sdd/03_build/README.md +0 -35
  207. package/sdd/03_verify/01_feature/README.md +0 -5
  208. package/sdd/03_verify/01_feature/domain_verification.md +0 -14
  209. package/sdd/03_verify/01_feature/service_verification.md +0 -22
  210. package/sdd/03_verify/02_screen/README.md +0 -6
  211. package/sdd/03_verify/02_screen/_screen_verify_template.md +0 -20
  212. package/sdd/03_verify/02_screen/admin/README.md +0 -4
  213. package/sdd/03_verify/02_screen/landing/README.md +0 -4
  214. package/sdd/03_verify/02_screen/mobile/README.md +0 -4
  215. package/sdd/03_verify/02_screen/web/README.md +0 -4
  216. package/sdd/03_verify/03_architecture/README.md +0 -10
  217. package/sdd/03_verify/03_architecture/architecture_document_governance.md +0 -15
  218. package/sdd/03_verify/03_architecture/build_ast_runtime_tree_governance.md +0 -28
  219. package/sdd/03_verify/03_architecture/repository_governance.md +0 -16
  220. package/sdd/03_verify/03_architecture/toolchain_governance.md +0 -58
  221. package/sdd/03_verify/06_iac/README.md +0 -3
  222. package/sdd/03_verify/06_iac/dev_runtime_delivery.md +0 -10
  223. package/sdd/03_verify/06_iac/template_runtime_delivery.md +0 -42
  224. package/sdd/03_verify/07_integration/README.md +0 -3
  225. package/sdd/03_verify/07_integration/frontend_live_integration.md +0 -16
  226. package/sdd/03_verify/08_nonfunctional/README.md +0 -3
  227. package/sdd/03_verify/08_nonfunctional/repository_hygiene.md +0 -14
  228. package/sdd/03_verify/10_test/README.md +0 -9
  229. package/sdd/03_verify/10_test/regression_verification.md +0 -16
  230. package/sdd/03_verify/10_test/ui_parity/README.md +0 -4
  231. package/sdd/03_verify/10_test/ui_parity/loop_runs/.gitkeep +0 -0
  232. package/sdd/03_verify/10_test/ui_parity/reference/.gitkeep +0 -0
  233. package/sdd/03_verify/10_test/ui_parity/staged_runs/.gitkeep +0 -0
  234. package/sdd/03_verify/10_test/verification_harness.md +0 -17
  235. package/sdd/03_verify/README.md +0 -22
  236. package/sdd/05_operate/01_runbooks/.gitkeep +0 -1
  237. package/sdd/05_operate/01_runbooks/README.md +0 -4
  238. package/sdd/05_operate/02_delivery_status/README.md +0 -4
  239. package/sdd/05_operate/02_delivery_status/service_status.md +0 -16
  240. package/sdd/05_operate/README.md +0 -12
  241. package/sdd/99_toolchain/01_automation/.gitkeep +0 -1
  242. package/sdd/99_toolchain/01_automation/README.md +0 -76
  243. package/sdd/99_toolchain/01_automation/agentic-dev/analyze_proof_results.py +0 -132
  244. package/sdd/99_toolchain/01_automation/agentic-dev/analyze_route_gap.py +0 -85
  245. package/sdd/99_toolchain/01_automation/agentic-dev/assets/repo-contract.template.json +0 -75
  246. package/sdd/99_toolchain/01_automation/agentic-dev/bootstrap_frontend_parity.sh +0 -84
  247. package/sdd/99_toolchain/01_automation/agentic-dev/init_frontend_parity.sh +0 -33
  248. package/sdd/99_toolchain/01_automation/agentic-dev/init_repo_contract.sh +0 -51
  249. package/sdd/99_toolchain/01_automation/agentic-dev/repo-contract.json +0 -76
  250. package/sdd/99_toolchain/01_automation/agentic-dev/resolve_frontend_target.py +0 -52
  251. package/sdd/99_toolchain/01_automation/agentic-dev/resolve_repo_contract.py +0 -56
  252. package/sdd/99_toolchain/01_automation/agentic-dev/run_frontend_target.sh +0 -100
  253. package/sdd/99_toolchain/01_automation/agentic-dev/run_repo_phase.sh +0 -140
  254. package/sdd/99_toolchain/01_automation/agentic-dev/validate_json_schema.py +0 -39
  255. package/sdd/99_toolchain/01_automation/agentic-parity-harness-design.md +0 -291
  256. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/dashboard.png +0 -0
  257. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/login.png +0 -0
  258. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/queue.png +0 -0
  259. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/support.png +0 -0
  260. package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/home.png +0 -0
  261. package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/login.png +0 -0
  262. package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/workspace.png +0 -0
  263. package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/dashboard.png +0 -0
  264. package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/fulfillment.png +0 -0
  265. package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/login.png +0 -0
  266. package/sdd/99_toolchain/01_automation/assets/web_screen_capture/dashboard.png +0 -0
  267. package/sdd/99_toolchain/01_automation/assets/web_screen_capture/login.png +0 -0
  268. package/sdd/99_toolchain/01_automation/assets/web_screen_capture/orders.png +0 -0
  269. package/sdd/99_toolchain/01_automation/build_asset_recipes.py +0 -10
  270. package/sdd/99_toolchain/01_automation/build_screen_spec_pdf.py +0 -427
  271. package/sdd/99_toolchain/01_automation/capture_screen_assets.mjs +0 -148
  272. package/sdd/99_toolchain/01_automation/harness-layout.md +0 -34
  273. package/sdd/99_toolchain/01_automation/parity-execution-tooling-design.md +0 -319
  274. package/sdd/99_toolchain/01_automation/playwright_exactness_manifest.py +0 -21
  275. package/sdd/99_toolchain/01_automation/run_playwright_exactness.py +0 -87
  276. package/sdd/99_toolchain/01_automation/screen_spec_manifest.py +0 -321
  277. package/sdd/99_toolchain/01_automation/spec_asset_builder.py +0 -274
  278. package/sdd/99_toolchain/01_automation/ui-contract-projection.md +0 -79
  279. package/sdd/99_toolchain/01_automation/ui-parity/README.md +0 -60
  280. package/sdd/99_toolchain/01_automation/ui-parity/cli/extract-reference-pages.mjs +0 -2
  281. package/sdd/99_toolchain/01_automation/ui-parity/cli/materialize-reference-assets.mjs +0 -58
  282. package/sdd/99_toolchain/01_automation/ui-parity/cli/normalize-reference-assets.mjs +0 -2
  283. package/sdd/99_toolchain/01_automation/ui-parity/cli/route-gap-report.mjs +0 -187
  284. package/sdd/99_toolchain/01_automation/ui-parity/cli/run-proof.mjs +0 -50
  285. package/sdd/99_toolchain/01_automation/ui-parity/cli/scaffold-contract.mjs +0 -62
  286. package/sdd/99_toolchain/01_automation/ui-parity/cli/upload-parity1.mjs +0 -2
  287. package/sdd/99_toolchain/01_automation/ui-parity/contracts/collector-metadata.schema.json +0 -33
  288. package/sdd/99_toolchain/01_automation/ui-parity/contracts/proof-result.schema.json +0 -76
  289. package/sdd/99_toolchain/01_automation/ui-parity/contracts/route-gap-report.schema.json +0 -95
  290. package/sdd/99_toolchain/01_automation/ui-parity/core/capture-runner.mjs +0 -55
  291. package/sdd/99_toolchain/01_automation/ui-parity/core/load-adapter.mjs +0 -25
  292. package/sdd/99_toolchain/01_automation/ui-parity/core/load-contract.mjs +0 -81
  293. package/sdd/99_toolchain/01_automation/ui-parity/core/paths.mjs +0 -23
  294. package/sdd/99_toolchain/01_automation/ui-parity/core/proof-runner.mjs +0 -255
  295. package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-artifact-layout.md +0 -23
  296. package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-proof-interface.md +0 -60
  297. package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-route-gap-interface.md +0 -82
  298. package/sdd/99_toolchain/01_automation/ui-parity/runtime/playwright-runtime.mjs +0 -16
  299. package/sdd/99_toolchain/01_automation/ui-parity/runtime/static-runtime.mjs +0 -6
  300. package/sdd/99_toolchain/02_policies/.gitkeep +0 -1
  301. package/sdd/99_toolchain/02_policies/build-ast-governance-policy.md +0 -22
  302. package/sdd/99_toolchain/02_policies/compose-runtime-baseline-policy.md +0 -24
  303. package/sdd/99_toolchain/02_policies/convention-storage-policy.md +0 -26
  304. package/sdd/99_toolchain/02_policies/main-push-before-dev-deploy-policy.md +0 -27
  305. package/sdd/99_toolchain/02_policies/regression-verification-policy.md +0 -22
  306. package/sdd/99_toolchain/03_templates/.gitkeep +0 -1
  307. package/sdd/99_toolchain/03_templates/asset_recipe_manifest.example.py +0 -38
  308. package/sdd/99_toolchain/03_templates/generated_assets/README.md +0 -11
  309. package/sdd/99_toolchain/03_templates/generated_assets/example-brand-lockup.svg +0 -3
  310. package/sdd/99_toolchain/03_templates/generated_assets/example-brand-mark.svg +0 -3
  311. package/sdd/99_toolchain/03_templates/generated_assets/example-brand-wordmark.svg +0 -3
  312. package/sdd/99_toolchain/03_templates/playwright_exactness_manifest.example.py +0 -21
  313. package/sdd/99_toolchain/README.md +0 -23
  314. package/sdd/README.md +0 -21
package/README.md CHANGED
@@ -1,69 +1,76 @@
1
1
  # agentic-dev
2
2
 
3
- `agentic-dev`는 `say828`의 공개 `template-*` 레포를 설치하는 scaffold CLI다.
3
+ `agentic-dev`는 `say828/template-*` 레포를 GitHub에서 조회해 설치하는 npm CLI다.
4
4
 
5
- ## 사용법
5
+ 저장소 자체에는 더 이상 template runtime payload를 두지 않는다.
6
+
7
+ - 없음: `client/*`
8
+ - 없음: `server/*`
9
+ - 없음: `infra/*`
10
+ - 없음: root `sdd/*`
11
+ - 실제 앱 구조와 toolchain은 각 `template-*` 레포가 소유
12
+
13
+ ## Usage
6
14
 
7
15
  ```bash
8
16
  npx agentic-dev
9
17
  ```
10
18
 
11
- 또는 비대화형:
19
+ 비대화형 예시:
12
20
 
13
21
  ```bash
14
22
  npx agentic-dev init my-app --template template-fullstack-mono --yes
15
- npx agentic-dev init my-app --template template-web --yes --skip-bootstrap
23
+ npx agentic-dev init my-app --template template-web --project-name my-app --app-mode backend --providers codex --yes
16
24
  ```
17
25
 
18
- ## 동작
19
-
20
- 1. GitHub에서 공개 `say828/template-*` 레포 목록을 조회한다.
21
- 2. interactive TTY에서는 wizard 화면을 순서대로 보여준다.
22
- - `←/→`: 이전/다음 화면 이동
23
- - `↑/↓`: 고정 선택지 이동
24
- - `Space`: AI providers 다중 선택 토글
25
- - `Enter`: 현재 화면 값 확정
26
- 3. wizard는 최소한 아래 정보를 모두 먼저 받는다.
27
- - project directory
28
- - project name
29
- - GitHub auth mode
30
- - GitHub PAT (`auth mode = pat`일 때만)
31
- - template repo
32
- - app mode
33
- - AI providers
34
- - non-empty directory 진행 여부가 필요하면 그 확인
35
- 4. 모든 입력이 끝나면 실행 계획 요약과 최종 확인 화면을 보여준다.
36
- 5. 최종 확인 전에는 clone, install, bootstrap을 시작하지 않는다.
37
- 6. 확인 후에만 선택한 레포를 새 디렉터리로 복제한다.
38
- 7. `.env.example`이 있으면 `.env`를 자동 생성한다.
39
- 8. `pnpm install`을 자동 실행한다.
40
- 9. 템플릿의 `repo-contract.json`에서 `frontend.default_target`을 읽는다.
41
- 10. `app mode != backend`이면 그 target에 대해 `playwright install chromium`과 parity bootstrap을 실행한다.
42
- 11. `AI providers` 선택에 따라 `.codex`, `.claude` 디렉터리를 정리하고 `.agentic-dev/setup.json`에 wizard 입력값을 기록한다.
43
-
44
- `frontend.default_target`이 있으면 multi-surface 템플릿도 그대로 지원한다. 예를 들어 `template-fullstack-mono`는 `client/web`과 `client/admin`을 함께 포함하지만 기본 bootstrap 대상은 `web`이다.
45
-
46
- ## 예시
26
+ ## Wizard Flow
47
27
 
48
- ```bash
49
- mkdir my-fullstack-app
50
- cd my-fullstack-app
51
- npx agentic-dev init . --template template-fullstack-mono --yes
52
- ```
28
+ interactive TTY에서는 모든 입력을 먼저 받는다.
29
+
30
+ - `Project directory`
31
+ - `Project name`
32
+ - `GitHub auth mode`
33
+ - `GitHub PAT` (`auth mode = pat`일 때만)
34
+ - `Template repo`
35
+ - `App mode`
36
+ - `AI providers`
37
+ - non-empty directory 진행 여부가 필요하면 그 확인
38
+ - 최종 확인
39
+
40
+ 조작:
41
+
42
+ - `←/→`: 이전/다음 화면 이동
43
+ - `↑/↓`: 고정 선택지 이동
44
+ - `Space`: AI providers 토글
45
+ - `Enter`: 현재 화면 값 확정
46
+
47
+ 중요:
48
+
49
+ - 최종 확인 전에는 clone, install, bootstrap을 실행하지 않는다.
50
+ - 모든 선택이 끝난 뒤 실행 계획 요약을 보여주고, 그 다음에만 명령을 실행한다.
51
+
52
+ ## What Runs After Confirm
53
53
 
54
- 설치가 끝나면 CLI 아래까지 자동 처리한다.
54
+ 확인 CLI 선택한 `template-*` 레포 안에서 필요한 명령만 실행한다.
55
55
 
56
- - `.env.example -> .env`
57
- - `pnpm install`
58
- - `pnpm --dir client/web exec playwright install chromium`
59
- - `bash sdd/99_toolchain/01_automation/agentic-dev/bootstrap_frontend_parity.sh . web`
60
- - `.agentic-dev/setup.json` 생성
56
+ 1. template repo clone
57
+ 2. `.env.example -> .env` 복사
58
+ 3. `pnpm install`
59
+ 4. `app mode != backend`이면 Playwright Chromium 설치
60
+ 5. `app mode != backend`이면 template repo의 parity/bootstrap 스크립트 실행
61
+ 6. `.agentic-dev/setup.json` 기록
62
+ 7. 선택한 AI provider에 맞춰 `.codex`, `.claude` 디렉터리 정리
61
63
 
62
- ## 옵션
64
+ ## Options
63
65
 
64
66
  - `--template`, `-t`: template repo name 또는 suffix
67
+ - `--project-name`: scaffold metadata에 기록할 프로젝트 이름
65
68
  - `--owner`: GitHub owner. 기본값 `say828`
69
+ - `--app-mode`: `fullstack`, `frontend`, `backend`
70
+ - `--providers`: comma-separated provider list. `codex`, `claude`, `ollama`
71
+ - `--github-auth`: `public`, `env`, `pat`
72
+ - `--github-pat`: 현재 실행에만 쓸 GitHub PAT
66
73
  - `--force`: 비어 있지 않은 디렉터리 허용
67
- - `--yes`, `-y`: interactive prompt 생략
74
+ - `--yes`, `-y`: interactive wizard 생략
68
75
  - `--skip-bootstrap`: install까지만 하고 bootstrap은 생략
69
76
  - `--help`, `-h`: 도움말 출력
package/package.json CHANGED
@@ -1,41 +1,27 @@
1
1
  {
2
2
  "name": "agentic-dev",
3
- "version": "0.2.11",
4
- "description": "Scaffold a public say828/template-* repo and run install/bootstrap automatically.",
3
+ "version": "0.2.12",
4
+ "description": "GitHub-based installer CLI for public say828/template-* repos.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.32.0",
7
7
  "bin": {
8
8
  "agentic-dev": "./bin/agentic-dev.mjs"
9
9
  },
10
10
  "files": [
11
- ".agent",
12
- ".claude",
13
- ".codex",
14
11
  "bin",
15
- "client",
16
- "infra",
17
12
  "lib",
18
- "scripts",
19
- "sdd",
20
- "server",
21
- ".dockerignore",
22
- ".env.example",
23
- ".gitignore",
24
- "AGENTS.md",
25
- "README.md",
26
- "SDD_SKILL.md",
27
- "compose.yml",
28
- "pnpm-workspace.yaml"
13
+ "README.md"
29
14
  ],
30
15
  "scripts": {
31
- "smoke:init": "node ./bin/agentic-dev.mjs init ./.tmp-agentic-smoke --template template-fullstack-mono --yes --force"
16
+ "smoke:init": "node ./bin/agentic-dev.mjs init ./.tmp-agentic-smoke --template template-web --app-mode backend --providers codex --yes --force"
32
17
  },
33
18
  "keywords": [
34
19
  "agentic",
35
- "template",
36
20
  "scaffold",
37
- "vite",
38
- "react"
21
+ "cli",
22
+ "github",
23
+ "template",
24
+ "orchestration"
39
25
  ],
40
26
  "license": "UNLICENSED"
41
27
  }
package/.agent/prd.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "project": "template-agentic-program",
3
- "goal": "이 파일은 Ralph loop starter scaffold다. downstream 저장소는 현재 작업 scope에 맞는 story set으로 즉시 교체한다.",
4
- "updated_at": "2026-03-19T00:00:00+09:00",
5
- "stories": [
6
- {
7
- "id": "TEMPLATE-ALIGN-001",
8
- "title": "Replace template PRD scaffold with repository-specific delivery stories",
9
- "priority": 1,
10
- "status": "pending",
11
- "scope": [
12
- ".agent/prd.json",
13
- ".agent/prompt.md",
14
- "sdd/02_plan",
15
- "sdd/03_build",
16
- "sdd/03_verify"
17
- ],
18
- "validation": [
19
- "jq . .agent/prd.json"
20
- ],
21
- "done_when": [
22
- "Template placeholder stories are replaced with repository-specific work items.",
23
- "Validation commands point at the active repository program.",
24
- "progress.txt contains the current operator note."
25
- ],
26
- "blockers": []
27
- }
28
- ]
29
- }
@@ -1 +0,0 @@
1
- 2026-03-19 scaffold initialized for canonical template Ralph loop.
package/.agent/prompt.md DELETED
@@ -1,21 +0,0 @@
1
- You are running one Ralph iteration in this repository.
2
-
3
- Rules:
4
- 1. Read `.agent/prd.json` and `.agent/progress.txt`.
5
- 2. Work only on the requested story id.
6
- 3. Lock one reproduction or validation command before editing.
7
- 4. Make one focused change set toward the requested story.
8
- 5. Re-run the requested validation commands immediately.
9
- 6. Update the matching `sdd/02_plan`, `sdd/03_build`, and `sdd/03_verify` current-state artifacts when scope changes.
10
- 7. Update `.agent/prd.json` story status and append one short line to `.agent/progress.txt`.
11
- 8. Stop after this iteration and report:
12
- - story id
13
- - validation status
14
- - files changed
15
- - next story or blocker
16
- 9. If the caller provided a completion promise token and the story is truly complete in this iteration, print that token exactly once.
17
-
18
- Guardrails:
19
- - Do not create a parallel `docs/` tree when `sdd/` exists.
20
- - Do not leave execution-history narrative inside `sdd/03_build`.
21
- - Do not claim completion without validation evidence.
@@ -1,13 +0,0 @@
1
- {
2
- "updated_at": "2026-03-19T00:00:00Z",
3
- "story_id": "",
4
- "max_iterations": 12,
5
- "current_iteration": 0,
6
- "status": "idle",
7
- "completion_promise": "STORY_COMPLETE",
8
- "promise_seen": false,
9
- "last_exit_code": 0,
10
- "prompt_snapshot": "",
11
- "output_file": "",
12
- "changed_files": []
13
- }
@@ -1,12 +0,0 @@
1
- {
2
- "updated_at": "2026-03-19T00:00:00Z",
3
- "max_iterations": 1000,
4
- "story_iterations": 1,
5
- "current_iteration": 0,
6
- "active_story": "",
7
- "child_exit_code": 0,
8
- "child_status": "idle",
9
- "repeat_count": 0,
10
- "status": "idle",
11
- "run_dir": ""
12
- }
@@ -1,238 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -euo pipefail
4
-
5
- ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
6
- AGENT_DIR="$ROOT_DIR/.agent"
7
- PRD_FILE="$AGENT_DIR/prd.json"
8
- PROGRESS_FILE="$AGENT_DIR/progress.txt"
9
- RUNS_DIR="$AGENT_DIR/runs"
10
- STATE_FILE="$AGENT_DIR/ralph-supervisor-state.json"
11
- RALPH_RUNNER="$AGENT_DIR/ralph.sh"
12
-
13
- max_iterations=1000
14
- story_iterations=1
15
- completion_promise="STORY_COMPLETE"
16
- run_label=""
17
- sleep_seconds=0
18
- dry_run=0
19
-
20
- usage() {
21
- cat <<'EOF'
22
- Usage:
23
- .agent/ralph-supervisor.sh [options]
24
-
25
- Options:
26
- --max-iterations N Maximum global iterations across all stories. Default: 1000
27
- --story-iterations N Iterations per selected story invocation. Default: 1
28
- --completion-promise TXT Promise token passed to child Ralph runner
29
- --run-label LABEL Optional label suffix for this supervisor run
30
- --sleep-seconds N Sleep between global iterations
31
- --dry-run Use child runner in dry-run mode
32
- -h, --help Show help
33
-
34
- Behavior:
35
- - Picks the next pending/in_progress story from .agent/prd.json each global iteration
36
- - Invokes .agent/ralph.sh for one focused child loop
37
- - Stops when all stories complete, when max iterations are exhausted,
38
- or when the same story/status pair repeats 3 times with no new signal
39
- - Writes state to .agent/ralph-supervisor-state.json and appends monitor lines to .agent/progress.txt
40
- EOF
41
- }
42
-
43
- require_file() {
44
- local file_path="$1"
45
- if [[ ! -f "$file_path" ]]; then
46
- echo "Missing required file: $file_path" >&2
47
- exit 1
48
- fi
49
- }
50
-
51
- select_story() {
52
- jq -r '
53
- .stories
54
- | map(select(.status == "in_progress" or .status == "pending"))
55
- | sort_by(.priority)
56
- | .[0].id // empty
57
- ' "$PRD_FILE"
58
- }
59
-
60
- read_story_status() {
61
- local story_id="$1"
62
- jq -r --arg id "$story_id" '.stories[] | select(.id == $id) | .status // "missing"' "$PRD_FILE"
63
- }
64
-
65
- write_state() {
66
- local iteration="$1"
67
- local active_story="$2"
68
- local child_exit="$3"
69
- local child_status="$4"
70
- local repeat_count="$5"
71
- local status="$6"
72
- local run_dir="$7"
73
-
74
- cat >"$STATE_FILE" <<EOF
75
- {
76
- "updated_at": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")",
77
- "max_iterations": $max_iterations,
78
- "story_iterations": $story_iterations,
79
- "current_iteration": $iteration,
80
- "active_story": "$active_story",
81
- "child_exit_code": $child_exit,
82
- "child_status": "$child_status",
83
- "repeat_count": $repeat_count,
84
- "status": "$status",
85
- "run_dir": "${run_dir#$ROOT_DIR/}"
86
- }
87
- EOF
88
- }
89
-
90
- main() {
91
- require_file "$PRD_FILE"
92
- require_file "$PROGRESS_FILE"
93
- require_file "$RALPH_RUNNER"
94
-
95
- while [[ $# -gt 0 ]]; do
96
- case "$1" in
97
- --max-iterations)
98
- max_iterations="${2:-}"
99
- shift 2
100
- ;;
101
- --story-iterations)
102
- story_iterations="${2:-}"
103
- shift 2
104
- ;;
105
- --completion-promise)
106
- completion_promise="${2:-}"
107
- shift 2
108
- ;;
109
- --run-label)
110
- run_label="${2:-}"
111
- shift 2
112
- ;;
113
- --sleep-seconds)
114
- sleep_seconds="${2:-}"
115
- shift 2
116
- ;;
117
- --dry-run)
118
- dry_run=1
119
- shift
120
- ;;
121
- -h|--help)
122
- usage
123
- exit 0
124
- ;;
125
- *)
126
- echo "Unknown argument: $1" >&2
127
- usage >&2
128
- exit 2
129
- ;;
130
- esac
131
- done
132
-
133
- if ! [[ "$max_iterations" =~ ^[0-9]+$ ]] || [[ "$max_iterations" -lt 1 ]]; then
134
- echo "--max-iterations must be a positive integer" >&2
135
- exit 2
136
- fi
137
- if ! [[ "$story_iterations" =~ ^[0-9]+$ ]] || [[ "$story_iterations" -lt 1 ]]; then
138
- echo "--story-iterations must be a positive integer" >&2
139
- exit 2
140
- fi
141
- if ! [[ "$sleep_seconds" =~ ^[0-9]+$ ]] || [[ "$sleep_seconds" -lt 0 ]]; then
142
- echo "--sleep-seconds must be a non-negative integer" >&2
143
- exit 2
144
- fi
145
-
146
- mkdir -p "$RUNS_DIR"
147
- local run_id
148
- run_id="$(date +%Y%m%d-%H%M%S)"
149
- if [[ -n "$run_label" ]]; then
150
- run_id="$run_id-$run_label"
151
- fi
152
- local supervisor_run_dir="$RUNS_DIR/supervisor-$run_id"
153
- mkdir -p "$supervisor_run_dir"
154
-
155
- local previous_signature=""
156
- local repeat_count=0
157
- local final_status="max_iterations_reached"
158
-
159
- local iteration=1
160
- while [[ "$iteration" -le "$max_iterations" ]]; do
161
- local story_id
162
- story_id="$(select_story)"
163
- if [[ -z "$story_id" ]]; then
164
- final_status="all_stories_completed"
165
- write_state "$iteration" "" 0 "none" 0 "$final_status" "$supervisor_run_dir"
166
- echo "$(date +%F) supervisor all-stories-complete iteration=$iteration" >>"$PROGRESS_FILE"
167
- break
168
- fi
169
-
170
- echo "[supervisor] iteration $iteration/$max_iterations story=$story_id"
171
-
172
- local child_args=(
173
- --story-id "$story_id"
174
- --max-iterations "$story_iterations"
175
- --completion-promise "$completion_promise"
176
- --run-label "supervisor-$iteration-$story_id"
177
- )
178
- if [[ $dry_run -eq 1 ]]; then
179
- child_args+=(--dry-run)
180
- fi
181
-
182
- set +e
183
- "$RALPH_RUNNER" "${child_args[@]}"
184
- local child_exit=$?
185
- set -e
186
-
187
- local child_status="unknown"
188
- if [[ -f "$AGENT_DIR/ralph-loop-state.json" ]]; then
189
- child_status="$(jq -r '.status // "unknown"' "$AGENT_DIR/ralph-loop-state.json")"
190
- fi
191
-
192
- local story_status
193
- story_status="$(read_story_status "$story_id")"
194
- local signature="$story_id:$child_status:$story_status"
195
- if [[ "$signature" == "$previous_signature" ]]; then
196
- repeat_count=$((repeat_count + 1))
197
- else
198
- repeat_count=1
199
- previous_signature="$signature"
200
- fi
201
-
202
- if [[ "$story_status" == "completed" || "$child_status" == "completed" ]]; then
203
- final_status="story_completed"
204
- elif [[ "$repeat_count" -ge 3 ]]; then
205
- final_status="stopped_same_signal_3x"
206
- elif [[ "$child_status" == "iteration_pass_no_promise" || "$child_status" == "dry_run" || "$child_exit" -eq 0 ]]; then
207
- final_status="iteration_ok"
208
- else
209
- final_status="iteration_failed"
210
- fi
211
-
212
- write_state "$iteration" "$story_id" "$child_exit" "$child_status" "$repeat_count" "$final_status" "$supervisor_run_dir"
213
- echo "$(date +%F) supervisor iteration-$iteration story=$story_id child_status=$child_status story_status=$story_status repeat=$repeat_count exit=$child_exit" >>"$PROGRESS_FILE"
214
-
215
- if [[ "$final_status" == "stopped_same_signal_3x" ]]; then
216
- break
217
- fi
218
-
219
- iteration=$((iteration + 1))
220
- if [[ "$iteration" -le "$max_iterations" && "$sleep_seconds" -gt 0 ]]; then
221
- sleep "$sleep_seconds"
222
- fi
223
- done
224
-
225
- echo "[supervisor] final_status=$final_status run_dir=${supervisor_run_dir#$ROOT_DIR/}"
226
- if [[ "$final_status" == "all_stories_completed" ]]; then
227
- exit 0
228
- fi
229
- if [[ "$final_status" == "stopped_same_signal_3x" ]]; then
230
- exit 1
231
- fi
232
- if [[ "$final_status" == "max_iterations_reached" ]]; then
233
- exit 1
234
- fi
235
- exit 0
236
- }
237
-
238
- main "$@"