aiwcli 0.15.5 → 0.17.0

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 (435) hide show
  1. package/README.md +108 -1124
  2. package/bin/run.js +0 -4
  3. package/dist/capabilities/branch/adapters.d.ts +2 -0
  4. package/dist/capabilities/branch/adapters.js +21 -0
  5. package/dist/capabilities/branch/contracts.d.ts +57 -0
  6. package/dist/capabilities/branch/contracts.js +1 -0
  7. package/dist/capabilities/branch/control-plane.d.ts +2 -0
  8. package/dist/capabilities/branch/control-plane.js +343 -0
  9. package/dist/capabilities/branch/runtime-core.d.ts +5 -0
  10. package/dist/capabilities/branch/runtime-core.js +36 -0
  11. package/dist/capabilities/installation/control-plane/clean-command.d.ts +41 -0
  12. package/dist/capabilities/installation/control-plane/clean-command.js +196 -0
  13. package/dist/capabilities/installation/control-plane/clear-command.d.ts +162 -0
  14. package/dist/capabilities/installation/control-plane/clear-command.js +1249 -0
  15. package/dist/capabilities/installation/control-plane/init-command.d.ts +81 -0
  16. package/dist/capabilities/installation/control-plane/init-command.js +449 -0
  17. package/dist/capabilities/launch/contracts.d.ts +86 -0
  18. package/dist/capabilities/launch/contracts.js +1 -0
  19. package/dist/capabilities/launch/control-plane/execute-launch.d.ts +2 -0
  20. package/dist/capabilities/launch/control-plane/execute-launch.js +261 -0
  21. package/dist/capabilities/launch/runtime-core/launch-decisions.d.ts +82 -0
  22. package/dist/capabilities/launch/runtime-core/launch-decisions.js +202 -0
  23. package/dist/capabilities/launch/runtime-core/launch-options.d.ts +14 -0
  24. package/dist/capabilities/launch/runtime-core/launch-options.js +69 -0
  25. package/dist/cli/base-command.d.ts +18 -0
  26. package/dist/cli/base-command.js +55 -0
  27. package/dist/commands/branch.d.ts +1 -21
  28. package/dist/commands/branch.js +25 -417
  29. package/dist/commands/clean.d.ts +1 -41
  30. package/dist/commands/clean.js +1 -196
  31. package/dist/commands/clear.d.ts +1 -161
  32. package/dist/commands/clear.js +1 -1121
  33. package/dist/commands/init/index.d.ts +1 -98
  34. package/dist/commands/init/index.js +4 -478
  35. package/dist/commands/launch.d.ts +32 -12
  36. package/dist/commands/launch.js +107 -166
  37. package/dist/lib/claude-settings-types.d.ts +31 -19
  38. package/dist/lib/config.js +1 -2
  39. package/dist/lib/context/context-formatter.d.ts +74 -0
  40. package/dist/lib/context/context-formatter.js +493 -0
  41. package/dist/lib/context/context-selector.d.ts +42 -0
  42. package/dist/lib/context/context-selector.js +451 -0
  43. package/dist/lib/context/context-store.d.ts +100 -0
  44. package/dist/lib/context/context-store.js +644 -0
  45. package/dist/lib/context/plan-manager.d.ts +54 -0
  46. package/dist/lib/context/plan-manager.js +282 -0
  47. package/dist/lib/context/task-tracker.d.ts +44 -0
  48. package/dist/lib/context/task-tracker.js +146 -0
  49. package/dist/lib/core-ide-base.d.ts +4 -0
  50. package/dist/lib/core-ide-base.js +77 -0
  51. package/dist/lib/core-installer.d.ts +5 -0
  52. package/dist/lib/core-installer.js +33 -0
  53. package/dist/lib/debug.d.ts +0 -10
  54. package/dist/lib/debug.js +0 -10
  55. package/dist/lib/env-sanitizer.d.ts +25 -0
  56. package/dist/lib/env-sanitizer.js +46 -0
  57. package/dist/lib/errors.d.ts +0 -13
  58. package/dist/lib/errors.js +0 -15
  59. package/dist/lib/git-exclude-manager.d.ts +2 -2
  60. package/dist/lib/git-exclude-manager.js +3 -3
  61. package/dist/lib/hooks/context-monitor-logic.d.ts +6 -0
  62. package/dist/lib/hooks/context-monitor-logic.js +25 -0
  63. package/dist/lib/hooks/hook-utils.d.ts +143 -0
  64. package/dist/lib/hooks/hook-utils.js +620 -0
  65. package/dist/lib/hooks/prompt-binding-logic.d.ts +7 -0
  66. package/dist/lib/hooks/prompt-binding-logic.js +50 -0
  67. package/dist/lib/hooks/session-end-logic.d.ts +5 -0
  68. package/dist/lib/hooks/session-end-logic.js +51 -0
  69. package/dist/lib/hooks-merger.js +25 -19
  70. package/dist/lib/ide-path-resolver.d.ts +19 -7
  71. package/dist/lib/ide-path-resolver.js +25 -9
  72. package/dist/lib/install-state.d.ts +34 -0
  73. package/dist/lib/install-state.js +154 -0
  74. package/dist/lib/json-io.d.ts +12 -0
  75. package/dist/lib/json-io.js +30 -0
  76. package/dist/lib/lsp-patch.d.ts +12 -0
  77. package/dist/lib/lsp-patch.js +156 -0
  78. package/dist/lib/multiplexer.d.ts +65 -0
  79. package/dist/lib/multiplexer.js +38 -0
  80. package/dist/lib/multiplexers/psmux.d.ts +55 -0
  81. package/dist/lib/multiplexers/psmux.js +324 -0
  82. package/dist/lib/multiplexers/tmux.d.ts +36 -0
  83. package/dist/lib/multiplexers/tmux.js +221 -0
  84. package/dist/lib/multiplexers/wezterm.d.ts +38 -0
  85. package/dist/lib/multiplexers/wezterm.js +225 -0
  86. package/dist/lib/mux-utils.d.ts +6 -0
  87. package/dist/lib/mux-utils.js +36 -0
  88. package/dist/lib/paths.d.ts +2 -2
  89. package/dist/lib/paths.js +2 -2
  90. package/dist/lib/platform-commands.d.ts +27 -0
  91. package/dist/lib/platform-commands.js +49 -0
  92. package/dist/lib/prompt-file-manager.d.ts +23 -0
  93. package/dist/lib/prompt-file-manager.js +41 -0
  94. package/dist/lib/runtime/agent-launcher.d.ts +67 -0
  95. package/dist/lib/runtime/agent-launcher.js +262 -0
  96. package/dist/lib/runtime/aiw-cli.d.ts +39 -0
  97. package/dist/lib/runtime/aiw-cli.js +76 -0
  98. package/dist/lib/runtime/atomic-write.d.ts +19 -0
  99. package/dist/lib/runtime/atomic-write.js +121 -0
  100. package/dist/lib/runtime/cli-args.d.ts +58 -0
  101. package/dist/lib/runtime/cli-args.js +200 -0
  102. package/dist/lib/runtime/constants.d.ts +56 -0
  103. package/dist/lib/runtime/constants.js +230 -0
  104. package/dist/lib/runtime/executable-policy.d.ts +16 -0
  105. package/dist/lib/runtime/executable-policy.js +57 -0
  106. package/dist/lib/runtime/git-state.d.ts +9 -0
  107. package/dist/lib/runtime/git-state.js +59 -0
  108. package/dist/lib/runtime/inference.d.ts +37 -0
  109. package/dist/lib/runtime/inference.js +251 -0
  110. package/dist/lib/runtime/lint-dispatch.d.ts +40 -0
  111. package/dist/lib/runtime/lint-dispatch.js +285 -0
  112. package/dist/lib/runtime/logger.d.ts +66 -0
  113. package/dist/lib/runtime/logger.js +201 -0
  114. package/dist/lib/runtime/models.d.ts +20 -0
  115. package/dist/lib/runtime/models.js +20 -0
  116. package/dist/lib/runtime/platform-adapter.d.ts +7 -0
  117. package/dist/lib/runtime/platform-adapter.js +21 -0
  118. package/dist/lib/runtime/preflight.d.ts +24 -0
  119. package/dist/lib/runtime/preflight.js +65 -0
  120. package/dist/lib/runtime/sentinel-ipc.d.ts +14 -0
  121. package/dist/lib/runtime/sentinel-ipc.js +67 -0
  122. package/dist/lib/runtime/state-io.d.ts +31 -0
  123. package/dist/lib/runtime/state-io.js +179 -0
  124. package/dist/lib/runtime/stop-words.d.ts +20 -0
  125. package/dist/lib/runtime/stop-words.js +150 -0
  126. package/dist/lib/runtime/subprocess-utils.d.ts +29 -0
  127. package/dist/lib/runtime/subprocess-utils.js +96 -0
  128. package/dist/lib/runtime/tmux-preflight.d.ts +13 -0
  129. package/dist/lib/runtime/tmux-preflight.js +78 -0
  130. package/dist/lib/runtime/utils.d.ts +62 -0
  131. package/dist/lib/runtime/utils.js +192 -0
  132. package/dist/lib/schemas.d.ts +250 -0
  133. package/dist/lib/schemas.js +216 -0
  134. package/dist/lib/sentinel-manager.d.ts +32 -0
  135. package/dist/lib/sentinel-manager.js +62 -0
  136. package/dist/lib/sentinel-wrapper.d.ts +10 -0
  137. package/dist/lib/sentinel-wrapper.js +29 -0
  138. package/dist/lib/settings-hierarchy.js +3 -20
  139. package/dist/lib/shell-adapters/bash-adapter.d.ts +18 -0
  140. package/dist/lib/shell-adapters/bash-adapter.js +69 -0
  141. package/dist/lib/shell-adapters/index.d.ts +5 -0
  142. package/dist/lib/shell-adapters/index.js +7 -0
  143. package/dist/lib/shell-adapters/powershell-adapter.d.ts +18 -0
  144. package/dist/lib/shell-adapters/powershell-adapter.js +62 -0
  145. package/dist/lib/shell-adapters/shell-adapter.d.ts +45 -0
  146. package/dist/lib/shell-adapters/shell-adapter.js +5 -0
  147. package/dist/lib/shell-quoting.d.ts +5 -0
  148. package/dist/lib/shell-quoting.js +17 -0
  149. package/dist/lib/spawn-errors.d.ts +9 -0
  150. package/dist/lib/spawn-errors.js +29 -0
  151. package/dist/lib/spawn.js +5 -11
  152. package/dist/lib/spinner.d.ts +0 -5
  153. package/dist/lib/spinner.js +0 -16
  154. package/dist/lib/template-installer.d.ts +14 -5
  155. package/dist/lib/template-installer.js +40 -38
  156. package/dist/lib/template-resolver.d.ts +6 -7
  157. package/dist/lib/template-resolver.js +26 -21
  158. package/dist/lib/template-settings-reconstructor.d.ts +7 -2
  159. package/dist/lib/template-settings-reconstructor.js +76 -45
  160. package/dist/lib/terminal-strategy.d.ts +12 -0
  161. package/dist/lib/terminal-strategy.js +55 -0
  162. package/dist/lib/terminal.d.ts +34 -4
  163. package/dist/lib/terminal.js +192 -119
  164. package/dist/lib/tmux-pane-placement.d.ts +17 -0
  165. package/dist/lib/tmux-pane-placement.js +58 -0
  166. package/dist/lib/tmux-primitives.d.ts +3 -0
  167. package/dist/lib/tmux-primitives.js +11 -0
  168. package/dist/lib/tmux-session.d.ts +32 -0
  169. package/dist/lib/tmux-session.js +87 -0
  170. package/dist/lib/tty-detection.js +1 -1
  171. package/dist/lib/types.d.ts +168 -0
  172. package/dist/lib/types.js +6 -0
  173. package/dist/lib/version.d.ts +1 -1
  174. package/dist/lib/version.js +1 -1
  175. package/dist/lib/windsurf-hooks-hierarchy.js +6 -23
  176. package/dist/platform/launch.d.ts +11 -0
  177. package/dist/platform/launch.js +11 -0
  178. package/dist/templates/CLAUDE.md +30 -40
  179. package/dist/templates/cc-native/.claude/settings.json +26 -36
  180. package/dist/templates/cc-native/CC-NATIVE-README.md +1 -1
  181. package/dist/templates/cc-native/TEMPLATE-SCHEMA.md +20 -12
  182. package/dist/templates/cc-native/_cc-native/cc-native.config.json +2 -6
  183. package/dist/templates/cc-native/_cc-native/hooks/CLAUDE.md +39 -59
  184. package/dist/templates/cc-native/_cc-native/hooks/cc-native-plan-review.ts +9 -11
  185. package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_subagent.ts +2 -2
  186. package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_write.ts +4 -5
  187. package/dist/templates/cc-native/_cc-native/hooks/mark_questions_asked.ts +4 -4
  188. package/dist/templates/cc-native/_cc-native/hooks/plan_questions_early.ts +2 -27
  189. package/dist/templates/cc-native/_cc-native/hooks/validate_task_prompt.ts +7 -7
  190. package/dist/templates/cc-native/_cc-native/lib-ts/.mocharc.json +9 -0
  191. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/aggregate-agents.test.ts +118 -0
  192. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/artifacts.test.ts +234 -0
  193. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/cc-native-state.test.ts +170 -0
  194. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/cli-output-parser.test.ts +73 -0
  195. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/config.test.ts +64 -0
  196. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/constants.test.ts +40 -0
  197. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/debug.test.ts +42 -0
  198. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/exports.test.ts +58 -0
  199. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/helpers.ts +107 -0
  200. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/hooks/add-plan-context.hook.test.ts +97 -0
  201. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/hooks/plan-questions.hook.test.ts +81 -0
  202. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/hooks/plan-review.hook.test.ts +71 -0
  203. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/json-parser.test.ts +99 -0
  204. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/orchestrator-agent.test.ts +288 -0
  205. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/orchestrator.test.ts +48 -0
  206. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/reviewers.test.ts +32 -0
  207. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/state.test.ts +124 -0
  208. package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/verdict.test.ts +93 -0
  209. package/dist/templates/cc-native/_cc-native/lib-ts/agent-selection.ts +163 -0
  210. package/dist/templates/cc-native/_cc-native/lib-ts/aggregate-agents.ts +6 -14
  211. package/dist/templates/cc-native/_cc-native/{artifacts/lib → lib-ts/artifacts}/format.ts +597 -599
  212. package/dist/templates/cc-native/_cc-native/{artifacts/lib → lib-ts/artifacts}/index.ts +26 -26
  213. package/dist/templates/cc-native/_cc-native/{artifacts/lib → lib-ts/artifacts}/tracker.ts +106 -107
  214. package/dist/templates/cc-native/_cc-native/{artifacts/lib → lib-ts/artifacts}/write.ts +118 -119
  215. package/dist/templates/cc-native/_cc-native/lib-ts/artifacts.ts +21 -0
  216. package/dist/templates/cc-native/_cc-native/lib-ts/cc-native-state.ts +17 -16
  217. package/dist/templates/cc-native/_cc-native/lib-ts/cli-output-parser.ts +132 -10
  218. package/dist/templates/cc-native/_cc-native/lib-ts/config.ts +1 -1
  219. package/dist/templates/cc-native/_cc-native/lib-ts/constants.ts +6 -6
  220. package/dist/templates/cc-native/_cc-native/lib-ts/corroboration.ts +119 -0
  221. package/dist/templates/cc-native/_cc-native/lib-ts/debug.ts +2 -3
  222. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/graduation.ts +132 -132
  223. package/dist/templates/cc-native/_cc-native/lib-ts/index.ts +88 -86
  224. package/dist/templates/cc-native/_cc-native/lib-ts/json-parser.ts +5 -6
  225. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/orchestrator.ts +70 -70
  226. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/output-builder.ts +130 -121
  227. package/dist/templates/cc-native/_cc-native/lib-ts/package-lock.json +1679 -0
  228. package/dist/templates/cc-native/_cc-native/lib-ts/package.json +24 -0
  229. package/dist/templates/cc-native/_cc-native/lib-ts/plan-discovery.ts +5 -5
  230. package/dist/templates/cc-native/_cc-native/lib-ts/plan-enhancement.ts +1 -6
  231. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/plan-questions.ts +101 -101
  232. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/review-pipeline.ts +511 -543
  233. package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/__tests__/agent-providers.test.ts +262 -0
  234. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/agent.ts +71 -85
  235. package/dist/templates/{_shared/lib-ts/agent-exec → cc-native/_cc-native/lib-ts/reviewers/base}/base-agent.ts +138 -150
  236. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/index.ts +12 -12
  237. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/providers/claude-agent.ts +66 -57
  238. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/providers/codex-agent.ts +185 -200
  239. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/providers/gemini-agent.ts +39 -40
  240. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/providers/orchestrator-claude-agent.ts +196 -225
  241. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/schemas.ts +201 -201
  242. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/types.ts +21 -23
  243. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/__tests__/hyde.test.ts +365 -0
  244. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/__tests__/ollama-client.test.ts +223 -0
  245. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/embedding-indexer.ts +12 -16
  246. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/hyde.ts +3 -2
  247. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/index.ts +31 -31
  248. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/logger.ts +7 -8
  249. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/ollama-client.ts +7 -9
  250. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/retrieval-pipeline.ts +16 -19
  251. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-indexer.ts +37 -41
  252. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-loader.ts +33 -43
  253. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-searcher.ts +20 -20
  254. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/types.ts +9 -10
  255. package/dist/templates/cc-native/_cc-native/lib-ts/rlm/vector-store.ts +3 -4
  256. package/dist/templates/cc-native/_cc-native/lib-ts/settings.ts +50 -126
  257. package/dist/templates/cc-native/_cc-native/lib-ts/state.ts +20 -22
  258. package/dist/templates/cc-native/_cc-native/lib-ts/tsconfig.json +2 -2
  259. package/dist/templates/cc-native/_cc-native/lib-ts/types.ts +14 -89
  260. package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/verdict.ts +72 -72
  261. package/dist/templates/cc-native/_cc-native/plan-review/CLAUDE.md +38 -1
  262. package/dist/templates/cc-native/_cc-native/plan-review/lib/__tests__/agent-selection.test.ts +345 -0
  263. package/dist/templates/cc-native/_cc-native/plan-review/lib/__tests__/preflight.test.ts +344 -0
  264. package/dist/templates/cc-native/_cc-native/plan-review/lib/agent-selection.ts +38 -16
  265. package/dist/templates/cc-native/_cc-native/plan-review/lib/preflight.ts +56 -26
  266. package/dist/templates/cc-native/_cc-native/scripts/council_debate.ts +242 -0
  267. package/dist/templates/cc-native/_cc-native/scripts/council_debate_simple.ts +294 -0
  268. package/dist/templates/cc-native/_cc-native/{plan-review/workflows → workflows}/specdev.md +9 -9
  269. package/dist/templates/core/.claude/skills/codex/SKILL.md +25 -0
  270. package/dist/templates/core/.claude/skills/devin/SKILL.md +25 -0
  271. package/dist/templates/core/.claude/skills/handoff/SKILL.md +11 -0
  272. package/dist/templates/core/.claude/skills/handoff-resume/SKILL.md +11 -0
  273. package/dist/templates/core/.claude/skills/meta-plan/SKILL.md +13 -0
  274. package/dist/templates/core/.codex/skills/codex/SKILL.md +13 -0
  275. package/dist/templates/core/.codex/skills/devin/SKILL.md +19 -0
  276. package/dist/templates/core/.codex/skills/handoff/SKILL.md +11 -0
  277. package/dist/templates/core/.codex/skills/handoff-resume/SKILL.md +11 -0
  278. package/dist/templates/core/.codex/skills/meta-plan/SKILL.md +13 -0
  279. package/dist/templates/core/.devin/AGENTS.md +5 -0
  280. package/dist/templates/core/.devin/config.json +12 -0
  281. package/dist/templates/core/.devin/skills/codex/SKILL.md +19 -0
  282. package/dist/templates/core/.devin/skills/devin/SKILL.md +13 -0
  283. package/dist/templates/core/.devin/skills/handoff/SKILL.md +11 -0
  284. package/dist/templates/core/.devin/skills/handoff-resume/SKILL.md +11 -0
  285. package/dist/templates/core/.devin/skills/meta-plan/SKILL.md +13 -0
  286. package/dist/templates/core/.windsurf/workflows/handoff-resume.md +9 -0
  287. package/dist/templates/{_shared → core}/.windsurf/workflows/handoff.md +1 -1
  288. package/dist/templates/{_shared → core}/.windsurf/workflows/meta-plan.md +1 -1
  289. package/dist/templates/core/hooks-ts/_utils/git-state.ts +2 -0
  290. package/dist/templates/{_shared → core}/hooks-ts/archive_plan.ts +15 -44
  291. package/dist/templates/core/hooks-ts/codex_explorer.ts +160 -0
  292. package/dist/templates/{_shared → core}/hooks-ts/context_monitor.ts +23 -55
  293. package/dist/templates/{_shared → core}/hooks-ts/file-suggestion.ts +5 -22
  294. package/dist/templates/{_shared → core}/hooks-ts/lint_after_edit.ts +7 -9
  295. package/dist/templates/core/hooks-ts/pre_compact.ts +36 -0
  296. package/dist/templates/{_shared → core}/hooks-ts/session_end.ts +38 -78
  297. package/dist/templates/{_shared → core}/hooks-ts/session_start.ts +5 -5
  298. package/dist/templates/core/hooks-ts/task_create_capture.ts +32 -0
  299. package/dist/templates/{_shared → core}/hooks-ts/task_update_capture.ts +9 -24
  300. package/dist/templates/core/hooks-ts/user_prompt_submit.ts +46 -0
  301. package/dist/templates/{_shared → core}/lib-ts/CLAUDE.md +27 -16
  302. package/dist/templates/{_shared → core}/lib-ts/context/CLAUDE.md +9 -6
  303. package/dist/templates/{_shared → core}/lib-ts/context/context-formatter.ts +16 -21
  304. package/dist/templates/{_shared → core}/lib-ts/context/context-selector.ts +8 -6
  305. package/dist/templates/{_shared → core}/lib-ts/context/context-store.ts +59 -20
  306. package/dist/templates/{_shared → core}/lib-ts/context/plan-manager.ts +19 -15
  307. package/dist/templates/{_shared → core}/lib-ts/context/task-tracker.ts +3 -3
  308. package/dist/templates/core/lib-ts/hooks/context-monitor-logic.ts +32 -0
  309. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/hooks}/hook-utils.ts +179 -41
  310. package/dist/templates/core/lib-ts/hooks/prompt-binding-logic.ts +80 -0
  311. package/dist/templates/core/lib-ts/hooks/session-end-logic.ts +82 -0
  312. package/dist/templates/core/lib-ts/package.json +19 -0
  313. package/dist/templates/core/lib-ts/runtime/agent-launcher.ts +369 -0
  314. package/dist/templates/core/lib-ts/runtime/aiw-cli.ts +108 -0
  315. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/atomic-write.ts +12 -7
  316. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/cli-args.ts +24 -8
  317. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/constants.ts +326 -324
  318. package/dist/templates/core/lib-ts/runtime/executable-policy.ts +89 -0
  319. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/git-state.ts +6 -4
  320. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/inference.ts +60 -23
  321. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/lint-dispatch.ts +25 -23
  322. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/logger.ts +32 -29
  323. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/models.ts +9 -2
  324. package/dist/templates/core/lib-ts/runtime/platform-adapter.ts +33 -0
  325. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/preflight.ts +4 -3
  326. package/dist/templates/core/lib-ts/runtime/sentinel-ipc.ts +91 -0
  327. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/state-io.ts +20 -11
  328. package/dist/templates/core/lib-ts/runtime/stop-words.ts +185 -0
  329. package/dist/templates/core/lib-ts/runtime/subprocess-utils.ts +147 -0
  330. package/dist/templates/core/lib-ts/runtime/tmux-preflight.ts +93 -0
  331. package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/utils.ts +34 -4
  332. package/dist/templates/core/lib-ts/schemas.ts +233 -0
  333. package/dist/templates/{_shared → core}/lib-ts/templates/formatters.ts +7 -5
  334. package/dist/templates/{_shared → core}/lib-ts/templates/plan-context.ts +2 -1
  335. package/dist/templates/{_shared → core}/lib-ts/tsconfig.json +3 -1
  336. package/dist/templates/{_shared → core}/lib-ts/types.ts +78 -77
  337. package/dist/templates/core/scripts/resolve-run.ts +93 -0
  338. package/dist/templates/{_shared → core}/scripts/resolve_context.ts +3 -3
  339. package/dist/templates/{_shared → core}/scripts/status_line.ts +26 -21
  340. package/dist/templates/core/skills/codex/CLAUDE.md +83 -0
  341. package/dist/templates/{_shared → core}/skills/codex/SKILL.md +27 -18
  342. package/dist/templates/{_shared → core}/skills/codex/lib/codex-watcher.ts +79 -113
  343. package/dist/templates/{_shared → core}/skills/codex/scripts/launch-codex.ts +134 -148
  344. package/dist/templates/{_shared → core}/skills/codex/scripts/watch-codex.ts +6 -4
  345. package/dist/templates/core/skills/devin/CLAUDE.md +122 -0
  346. package/dist/templates/core/skills/devin/SKILL.md +73 -0
  347. package/dist/templates/core/skills/devin/lib/devin-watcher.ts +300 -0
  348. package/dist/templates/core/skills/devin/scripts/launch-devin.ts +258 -0
  349. package/dist/templates/{_shared → core}/skills/handoff-system/CLAUDE.md +436 -433
  350. package/dist/templates/{_shared → core}/skills/handoff-system/lib/document-generator.ts +9 -7
  351. package/dist/templates/{_shared → core}/skills/handoff-system/lib/handoff-reader.ts +6 -4
  352. package/dist/templates/{_shared → core}/skills/handoff-system/scripts/resume_handoff.ts +10 -8
  353. package/dist/templates/{_shared → core}/skills/handoff-system/scripts/save_handoff.ts +12 -10
  354. package/dist/templates/{_shared → core}/skills/handoff-system/workflows/handoff-resume.md +2 -2
  355. package/dist/templates/{_shared → core}/skills/handoff-system/workflows/handoff.md +6 -5
  356. package/dist/templates/{_shared → core}/skills/meta-plan/CLAUDE.md +2 -1
  357. package/dist/templates/{_shared → core}/skills/meta-plan/workflows/meta-plan.md +8 -7
  358. package/oclif.manifest.json +89 -13
  359. package/package.json +13 -12
  360. package/dist/lib/base-command.d.ts +0 -114
  361. package/dist/lib/base-command.js +0 -153
  362. package/dist/lib/env-compat.d.ts +0 -18
  363. package/dist/lib/env-compat.js +0 -23
  364. package/dist/lib/stdin.d.ts +0 -48
  365. package/dist/lib/stdin.js +0 -60
  366. package/dist/templates/_shared/.claude/settings.json +0 -120
  367. package/dist/templates/_shared/.claude/skills/codex/SKILL.md +0 -35
  368. package/dist/templates/_shared/.claude/skills/handoff/SKILL.md +0 -13
  369. package/dist/templates/_shared/.claude/skills/handoff-resume/SKILL.md +0 -13
  370. package/dist/templates/_shared/.claude/skills/meta-plan/SKILL.md +0 -43
  371. package/dist/templates/_shared/.codex/workflows/codex.md +0 -11
  372. package/dist/templates/_shared/.codex/workflows/handoff.md +0 -226
  373. package/dist/templates/_shared/.codex/workflows/meta-plan.md +0 -347
  374. package/dist/templates/_shared/hooks-ts/_utils/git-state.ts +0 -2
  375. package/dist/templates/_shared/hooks-ts/pre_compact.ts +0 -49
  376. package/dist/templates/_shared/hooks-ts/task_create_capture.ts +0 -48
  377. package/dist/templates/_shared/hooks-ts/user_prompt_submit.ts +0 -93
  378. package/dist/templates/_shared/lib-ts/agent-exec/backends/headless.ts +0 -33
  379. package/dist/templates/_shared/lib-ts/agent-exec/backends/index.ts +0 -6
  380. package/dist/templates/_shared/lib-ts/agent-exec/backends/tmux.ts +0 -119
  381. package/dist/templates/_shared/lib-ts/agent-exec/execution-backend.ts +0 -50
  382. package/dist/templates/_shared/lib-ts/agent-exec/index.ts +0 -6
  383. package/dist/templates/_shared/lib-ts/agent-exec/structured-output.ts +0 -166
  384. package/dist/templates/_shared/lib-ts/base/launchers/tmux-launcher.ts +0 -173
  385. package/dist/templates/_shared/lib-ts/base/launchers/window-launcher.ts +0 -93
  386. package/dist/templates/_shared/lib-ts/base/launchers/wt-launcher.ts +0 -64
  387. package/dist/templates/_shared/lib-ts/base/pane-launcher.ts +0 -55
  388. package/dist/templates/_shared/lib-ts/base/sentinel-ipc.ts +0 -87
  389. package/dist/templates/_shared/lib-ts/base/stop-words.ts +0 -184
  390. package/dist/templates/_shared/lib-ts/base/subprocess-utils.ts +0 -249
  391. package/dist/templates/_shared/lib-ts/base/tmux-driver.ts +0 -341
  392. package/dist/templates/_shared/lib-ts/base/tmux-pane-placement.ts +0 -78
  393. package/dist/templates/_shared/lib-ts/package.json +0 -20
  394. package/dist/templates/_shared/scripts/resolve-run.ts +0 -62
  395. package/dist/templates/_shared/skills/codex/CLAUDE.md +0 -70
  396. package/dist/templates/cc-native/_cc-native/CLAUDE.md +0 -73
  397. package/dist/templates/cc-native/_cc-native/artifacts/CLAUDE.md +0 -64
  398. package/dist/templates/cc-native/_cc-native/lib-ts/CLAUDE.md +0 -70
  399. package/dist/templates/cc-native/_cc-native/plan-review/CODING-STANDARDS-CHECKLIST.md +0 -75
  400. package/dist/templates/cc-native/_cc-native/plan-review/agents/CLAUDE.md +0 -143
  401. package/dist/templates/cc-native/_cc-native/plan-review/agents/PLAN-ORCHESTRATOR.md +0 -213
  402. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-questions/PLAN-QUESTIONER.md +0 -70
  403. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ARCH-EVOLUTION.md +0 -62
  404. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ARCH-PATTERNS.md +0 -61
  405. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ARCH-STRUCTURE.md +0 -62
  406. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ASSUMPTION-TRACER.md +0 -56
  407. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/CLARITY-AUDITOR.md +0 -53
  408. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/COMPLETENESS-FEASIBILITY.md +0 -66
  409. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/COMPLETENESS-GAPS.md +0 -70
  410. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/COMPLETENESS-ORDERING.md +0 -62
  411. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/CONSTRAINT-VALIDATOR.md +0 -72
  412. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DESIGN-ADR-VALIDATOR.md +0 -61
  413. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DESIGN-SCALE-MATCHER.md +0 -64
  414. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DEVILS-ADVOCATE.md +0 -56
  415. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DOCUMENTATION-PHILOSOPHY.md +0 -86
  416. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/HANDOFF-READINESS.md +0 -59
  417. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/HIDDEN-COMPLEXITY.md +0 -58
  418. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/INCREMENTAL-DELIVERY.md +0 -66
  419. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-DEPENDENCY.md +0 -62
  420. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-FMEA.md +0 -66
  421. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-PREMORTEM.md +0 -71
  422. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-REVERSIBILITY.md +0 -74
  423. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/SCOPE-BOUNDARY.md +0 -77
  424. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/SIMPLICITY-GUARDIAN.md +0 -62
  425. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/SKEPTIC.md +0 -68
  426. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-BEHAVIOR-AUDITOR.md +0 -61
  427. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-CHARACTERIZATION.md +0 -71
  428. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-FIRST-VALIDATOR.md +0 -61
  429. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-PYRAMID-ANALYZER.md +0 -61
  430. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TRADEOFF-COSTS.md +0 -67
  431. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TRADEOFF-STAKEHOLDERS.md +0 -65
  432. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/VERIFY-COVERAGE.md +0 -74
  433. package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/VERIFY-STRENGTH.md +0 -69
  434. package/dist/templates/cc-native/_cc-native/plan-review/lib/corroboration.ts +0 -172
  435. package/dist/templates/cc-native/_cc-native/plan-review/lib/reviewers/base/base-agent.ts +0 -7
@@ -1,62 +0,0 @@
1
- #!/usr/bin/env bun
2
- /* global Bun */
3
- /**
4
- * Cross-platform project root resolver for hook and status line commands.
5
- *
6
- * Finds the project root (via git or .aiwcli/ anchor walk-up), then spawns
7
- * the target script with cwd set to the root. stdin/stdout/stderr pass through.
8
- *
9
- * Install: ~/.aiwcli/bin/resolve-run.ts (global, always findable via ~)
10
- * Usage: bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/scripts/status_line.ts
11
- *
12
- * Works on: bash, zsh, PowerShell, cmd (anywhere bun + ~ expansion works)
13
- */
14
- import { execSync } from "node:child_process";
15
- import * as fs from "node:fs";
16
- import * as path from "node:path";
17
-
18
- function findProjectRoot(): string {
19
- // 1. git (works from any subdirectory of a repo)
20
- try {
21
- const root = execSync("git rev-parse --show-toplevel", {
22
- encoding: "utf-8",
23
- stdio: ["pipe", "pipe", "pipe"],
24
- timeout: 2000,
25
- }).trim();
26
- if (root && fs.existsSync(path.join(root, ".aiwcli"))) return root;
27
- } catch { /* not a git repo or git not available */ }
28
-
29
- // 2. Walk up from cwd to find .aiwcli/ anchor
30
- let dir = process.cwd();
31
- while (true) {
32
- if (fs.existsSync(path.join(dir, ".aiwcli"))) return dir;
33
- const parent = path.dirname(dir);
34
- if (parent === dir) break;
35
- dir = parent;
36
- }
37
-
38
- return process.cwd(); // last resort
39
- }
40
-
41
- const target = process.argv[2];
42
- if (!target) {
43
- process.stderr.write("resolve-run: missing script path argument\n");
44
- process.exit(1);
45
- }
46
-
47
- const root = findProjectRoot();
48
- const fullPath = path.resolve(root, target);
49
-
50
- if (!fs.existsSync(fullPath)) {
51
- process.stderr.write(`resolve-run: script not found: ${fullPath}\n`);
52
- process.exit(1);
53
- }
54
-
55
- const result = Bun.spawnSync(["bun", fullPath, ...process.argv.slice(3)], {
56
- stdin: "inherit",
57
- stdout: "inherit",
58
- stderr: "inherit",
59
- cwd: root,
60
- });
61
-
62
- process.exit(result.exitCode);
@@ -1,70 +0,0 @@
1
- # Codex Skill
2
-
3
- Launch Codex CLI in a visible pane (tmux on Unix, Windows Terminal/window fallback on native Windows) and pass the prompt at process start.
4
-
5
- ## Directory Structure
6
-
7
- ```
8
- codex/
9
- ├── CLAUDE.md ← This file
10
- ├── lib/
11
- │ └── codex-watcher.ts ← Reusable watch/summarize library
12
- └── scripts/
13
- └── launch-codex.ts ← Single entry point (launch + optional watch)
14
- ```
15
-
16
- ## Script: launch-codex.ts
17
-
18
- **Usage:**
19
- ```bash
20
- bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/skills/codex/scripts/launch-codex.ts [--model <tier|id>] [--sandbox <sandbox-mode>] [--prompt <text>] [--no-yolo] [--no-watch] [--context <id>] plan
21
- bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/skills/codex/scripts/launch-codex.ts [--model <tier|id>] [--sandbox <sandbox-mode>] [--prompt <text>] [--no-yolo] [--no-watch] [--context <id>] --file <path>
22
- bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/skills/codex/scripts/launch-codex.ts [--model <tier|id>] [--sandbox <sandbox-mode>] [--prompt <text>] [--no-yolo] [--no-watch] [--context <id>] <inline text...>
23
- ```
24
-
25
- **Args:**
26
- - `plan` — discover active plan via context system, send it as startup prompt to Codex
27
- - `--file <path>` — read file contents and send as startup prompt
28
- - `<text...>` — join remaining args as inline prompt
29
- - `--model <alias|tier|id>` — Aliases: `spark` → `gpt-5.3-codex-spark`, `codex` → `gpt-5.3-codex`, `gpt` → `gpt-5.2`. Tiers: `fast`/`standard`/`smart` (resolved via `resolveModelForProvider()`). Or any full model ID.
30
- - `--sandbox <mode>` — `read-only`, `workspace-write`, or `danger-full-access`. Default is `danger-full-access`.
31
- - `--prompt <text>` — append extra instructions under `## Additional Instructions`.
32
- - `--no-yolo` — Disable YOLO mode (`--dangerously-bypass-approvals-and-sandbox`).
33
- - `--no-watch` — Disable watch/summarize mode.
34
-
35
- **Plan discovery order:**
36
- 1. `CLAUDE_SESSION_ID` env → `getContextBySessionId()` → `findLatestPlan(contextId)`
37
- 2. Fallback: scan `_output/contexts/*/plans/*.md` by mtime
38
-
39
- **Dependencies (all from `_shared/lib-ts/`):**
40
- - `base/tmux-driver.ts` — pane launcher orchestration with cross-platform fallback
41
- - `base/pane-launcher.ts` + `base/launchers/*` — tmux / wt / window launchers
42
- - `base/cli-args.ts` — model/sandbox/yolo CLI arg generation
43
- - `base/sentinel-ipc.ts` — completion sentinel file lifecycle
44
- - `context/*` — context lookup, formatting, plan discovery
45
-
46
- **Watch behavior (single entry point):**
47
- - Watch is enabled by default.
48
- - `launch-codex.ts` launches Codex, waits for completion (pane close or sentinel), and prints a summary.
49
- - Summary cascade:
50
- 1. Spark transcript summary from session file
51
- 2. `codex exec resume <session_id>` summary
52
- 3. Transcript-line fallback
53
- 4. Static `Summary unavailable` message
54
-
55
- **Design decisions:**
56
- - Prompt is delivered at launch time (no tmux buffer paste/capture workflow)
57
- - Pane backend detection order: tmux (in-session) → Windows Terminal split pane → Windows new window → non-interactive exec fallback
58
- - `_shared` only — never imports from `_cc-native`
59
- - Watch path is best-effort and does not change launch success semantics
60
-
61
- ## Library: lib/codex-watcher.ts
62
-
63
- Reusable side-effect-free watch/summarize functions used by launch flow:
64
- - `waitForPaneClose(target, timeoutMs?)` where `target` can be tmux pane id or `{ backend, paneId, sentinelPath }`
65
- - `summarizeViaSessionFileSpark(sessionFile)`
66
- - `summarizeViaResume(sessionId)`
67
- - `summarizeFromSessionFileFallback(sessionFile)`
68
- - `collectTranscriptLines(sessionFile)`
69
-
70
- Constants and helper utilities are exported for reuse and testing (`POLL_INTERVAL_MS`, `SUMMARY_UNAVAILABLE_MESSAGE`, `normalizeText`, `looksLikeBadSummary`, etc.).
@@ -1,73 +0,0 @@
1
- # CC-Native Method
2
-
3
- **Location:** `.aiwcli/_cc-native/` — Claude Code-specific plan review, artifacts, and agent orchestration.
4
-
5
- ---
6
-
7
- ## Subsystems
8
-
9
- | Directory | Purpose | CLAUDE.md |
10
- |-----------|---------|-----------|
11
- | `agents/` | Plan review agent roster and specs | `agents/CLAUDE.md` |
12
- | `artifacts/` | Review artifact generation and tracking | `artifacts/CLAUDE.md` |
13
- | `hooks/` | CC-native hook entry points (plan review triggers) | `hooks/CLAUDE.md` |
14
- | `lib-ts/` | Shared TypeScript library for cc-native subsystems | `lib-ts/CLAUDE.md` |
15
- | `lib-ts/rlm/` | Retrieval-augmented learning memory | `lib-ts/rlm/CLAUDE.md` |
16
- | `plan-review/` | Multi-agent plan review pipeline | `plan-review/CLAUDE.md` |
17
-
18
- ---
19
-
20
- ## Shared Infrastructure (`_shared/lib-ts/`)
21
-
22
- CC-native code depends heavily on shared infrastructure. Full API details: `_shared/lib-ts/CLAUDE.md`.
23
-
24
- | Module | Capability | Use When |
25
- |--------|-----------|----------|
26
- | `base/hook-utils` | Hook lifecycle (load input, run, emit context) | Writing hooks |
27
- | `base/logger` | Structured logging (debug/info/warn/error) | Any hook or lib module |
28
- | `base/constants` | Project paths, context dirs, sanitization | Resolving file locations |
29
- | `base/subprocess-utils` | Find executables, exec with env, shell quoting | Spawning agent CLIs |
30
- | `base/cli-args` | CLI invocation builder, review spec construction | Launching review agents |
31
- | `base/atomic-write` | Crash-safe file writes | Writing state or artifacts |
32
- | `base/state-io` | State read/write helpers | Context state persistence |
33
- | `base/inference` | Claude CLI subprocess calls | AI inference from hooks |
34
- | `context/context-store` | Context CRUD (get by session, list all) | Session/context binding |
35
- | `context/plan-manager` | Plan lifecycle (archive, hash, sign) | Plan discovery and hashing |
36
- | `types` | Shared type definitions (`ContextState`, etc.) | Type imports |
37
-
38
- ---
39
-
40
- ## Import Patterns
41
-
42
- **Import direction:** `hooks/` → `lib-ts/` → `_shared/lib-ts/`. Never the reverse.
43
-
44
- ```typescript
45
- // From hooks/ (2 levels up to _shared):
46
- import { runHook, logInfo } from "../../_shared/lib-ts/base/hook-utils.js";
47
- import { loadConfig } from "../lib-ts/config.js";
48
-
49
- // From lib-ts/ (2 levels up to _shared):
50
- import { logDebug } from "../../_shared/lib-ts/base/logger.js";
51
- import { atomicWrite } from "../../_shared/lib-ts/base/atomic-write.js";
52
-
53
- // From plan-review/lib/ (3 levels up to _shared):
54
- import { logInfo } from "../../../_shared/lib-ts/base/logger.js";
55
- ```
56
-
57
- ---
58
-
59
- ## Context Maintenance
60
-
61
- **After modifying files in this directory:** scan the entries above — if any claim is now
62
- false or incomplete, update this file before ending the task. Do not defer.
63
-
64
- **Add** an entry only if an agent would fail without knowing it, it is not obvious from
65
- the code, and it belongs at this scope.
66
-
67
- **Remove** any entry that fails the falsifiability test: if removing it would not change
68
- how an agent acts here, remove it.
69
-
70
- **Staleness anchor:** This file assumes `lib-ts/index.ts` exists. If it doesn't, this file
71
- is stale — update or regenerate before relying on it.
72
-
73
- <!-- context-layer: generated=2026-03-01 | last-audited=2026-03-01 | version=1 | dir-commits-at-audit=15 -->
@@ -1,64 +0,0 @@
1
- # Artifacts System
2
-
3
- Review artifact generation, formatting, and file I/O for the plan review pipeline.
4
-
5
- ## Overview
6
-
7
- The artifacts system handles all output files produced by plan review runs: combined markdown reports, JSON results, inline summaries, corroboration reports, and the review tracker. It is a pure library — no hooks or scripts.
8
-
9
- ## File Structure
10
-
11
- ```
12
- artifacts/
13
- ├── CLAUDE.md ← This file
14
- └── lib/
15
- ├── index.ts ← Barrel re-export of all public API
16
- ├── format.ts ← Pure formatting functions (markdown, JSON, summaries)
17
- ├── write.ts ← File I/O: atomic writes to context reviews dir
18
- └── tracker.ts ← Review tracker: read/write/hash extraction
19
- ```
20
-
21
- ## Public API (`lib/index.ts`)
22
-
23
- | Function | Source | Purpose |
24
- |----------|--------|---------|
25
- | `formatReviewMarkdown` | format.ts | Format single agent review as markdown |
26
- | `formatCombinedMarkdown` | format.ts | Format all agent reviews into combined markdown |
27
- | `buildInlineReviewSummary` | format.ts | Short inline summary for context injection |
28
- | `extractTopIssuesText` | format.ts | Extract top issues as text block |
29
- | `buildHighIssuesDocument` | format.ts | Full high-issues document for context |
30
- | `buildCorroborationReport` | format.ts | Corroboration analysis markdown report |
31
- | `generateReviewIndex` | format.ts | Index markdown linking all review files |
32
- | `buildCombinedJson` | format.ts | Combined JSON artifact for all reviews |
33
- | `writeCombinedArtifacts` | write.ts | Write all artifacts to context reviews dir |
34
- | `writeFile` | write.ts | Atomic file write |
35
- | `writeFileNonCritical` | write.ts | Non-atomic file write (non-critical paths) |
36
- | `writeReviewTracker` | tracker.ts | Write review tracker JSON to disk |
37
- | `extractPreviousHashes` | tracker.ts | Read previous plan hashes from tracker |
38
- | `ReviewTrackerEntry` | tracker.ts | Type: single tracker entry |
39
-
40
- ## Dependencies
41
-
42
- - `../../lib-ts/types.ts` — `CombinedReviewResult`, `CorroborationResult` types
43
- - `../../lib-ts/constants.ts` — `ENABLE_ROBUST_PLAN_WRITES` feature flag
44
- - `../../../_shared/lib-ts/base/atomic-write.ts` — atomic file I/O
45
- - `../../../_shared/lib-ts/base/constants.ts` — `sanitizeFilename`
46
- - `../../../_shared/lib-ts/base/logger.ts` — logging
47
-
48
- ## Hooks
49
-
50
- Hooks for this system are NOT co-located here. Hooks are path-referenced in `.claude/settings.json` at install time. Moving a hook file requires settings.json updates in both `.aiwcli/` and `packages/cli/src/templates/`, which is high blast-radius and fragile.
51
-
52
- The artifacts system is invoked indirectly through the plan review pipeline — it has no dedicated hooks. See `../_cc-native/hooks/` for the plan review hooks that drive this system.
53
-
54
- ## Callers
55
-
56
- - `../plan-review/lib/review-pipeline.ts` — primary caller, writes all review artifacts
57
- - `../../lib-ts/index.ts` — re-exports public API surface
58
-
59
- ## Design Decisions
60
-
61
- - **Pure library:** No global state, no side effects except file I/O in write.ts/tracker.ts
62
- - **Atomic writes:** `write.ts` uses atomic writes (write to temp + rename) for critical review files when `ENABLE_ROBUST_PLAN_WRITES` is set, preventing partial writes on crash
63
- - **format.ts is pure:** All formatting is pure functions — takes data, returns strings. No file I/O.
64
- - **Co-location:** Moved from `lib-ts/artifacts/` to `artifacts/lib/` to give the system peer-level status alongside `plan-review/` and `rlm/`
@@ -1,70 +0,0 @@
1
- # CC-Native Library
2
-
3
- **Location:** `_cc-native/lib-ts/` — TypeScript modules for plan review, state, and agent orchestration.
4
-
5
- **Import direction:** `hooks/` → `lib-ts/` → `_shared/lib-ts/`. Never the reverse.
6
-
7
- ---
8
-
9
- ## Module Reference
10
-
11
- The barrel `index.ts` re-exports most modules. Three files are **not** re-exported and must be imported directly: `plan-discovery.ts`, `plan-enhancement.ts`, `settings.ts`.
12
-
13
- | File | Purpose | Key Exports |
14
- |------|---------|-------------|
15
- | `aggregate-agents.ts` | Agent frontmatter parser — loads agent configs from markdown | `aggregateAgents`, `extractBody`, `extractFrontmatter` |
16
- | `cc-native-state.ts` | CC-native state accessor for context `state.json` | `getCcNativeState`, `saveCcNativeState`, `isPlanAlreadyReviewed`, `markPlanReviewed`, `markQuestionsAsked` |
17
- | `cli-output-parser.ts` | Unified Claude CLI JSON output parser | `parseCliOutput` |
18
- | `config.ts` | Configuration loading from `cc-native.config.json` | `loadConfig`, `getDisplaySettings` |
19
- | `constants.ts` | Feature flags, security limits, path validation | `ENABLE_ROBUST_PLAN_WRITES`, `PLANS_DIR`, `validatePlanPath`, `MAX_RETRY_ATTEMPTS` |
20
- | `debug.ts` | Per-context debug logging (thin layer over shared logger) | `debugLog`, `debugRaw`, `getDebugDir`, `cleanupDebugFolder` |
21
- | `index.ts` | Barrel — re-exports public API from all modules | (see individual modules) |
22
- | `json-parser.ts` | JSON parsing with recovery for LLM responses | `parseJsonMaybe`, `coerceToReview` |
23
- | `plan-discovery.ts` | Plan file discovery, reading, and hashing | *(not re-exported)* — import directly |
24
- | `plan-enhancement.ts` | Plan quality guidance prompt for context emission | *(not re-exported)* — import directly |
25
- | `settings.ts` | Settings loading, defaults, agent library management | *(not re-exported)* — import directly |
26
- | `state.ts` | Iteration state management for plan review cycles | `loadState`, `saveStateToPlan`, `getIterationState`, `shouldContinueIterating` |
27
- | `types.ts` | All cc-native type definitions and prompt constants | `Verdict`, `ReviewData`, `AgentConfig`, `PlanReviewConfig`, `REVIEW_SCHEMA` |
28
-
29
- **Subfolder:** `rlm/` — retrieval-augmented learning memory. Has its own `rlm/CLAUDE.md`.
30
-
31
- ---
32
-
33
- ## Shared Dependencies
34
-
35
- These `_shared/lib-ts` modules are used across cc-native lib-ts:
36
-
37
- | Shared Module | Used By |
38
- |--------------|---------|
39
- | `base/logger` | All modules (logging) |
40
- | `base/atomic-write` | `state.ts` (crash-safe writes) |
41
- | `base/utils` | `cc-native-state.ts` (`nowIso`) |
42
- | `context/context-store` | `cc-native-state.ts` (state access) |
43
- | `context/plan-manager` | `plan-discovery.ts` (plan path lookup) |
44
- | `types` | `types.ts` (re-exports `ContextState`, `HookInput`, `HookOutput`) |
45
-
46
- ---
47
-
48
- ## Import Direction
49
-
50
- ```
51
- hooks/ (entry points — import from lib-ts/ and _shared/)
52
-
53
- lib-ts/ (this directory — import from _shared/ only)
54
-
55
- _shared/lib-ts/ (cross-method infrastructure — no reverse imports)
56
- ```
57
-
58
- Never import from `hooks/` or `plan-review/` into `lib-ts/`. The one exception noted in `aggregate-agents.ts`: it stays in `lib-ts/` because both `settings.ts` and `plan-review/` depend on it.
59
-
60
- ---
61
-
62
- ## Context Maintenance
63
-
64
- **After modifying files in this directory:** scan the entries above — if any claim is now
65
- false or incomplete, update this file before ending the task. Do not defer.
66
-
67
- **Staleness anchor:** This file assumes `index.ts` exists with 13 sibling `.ts` files. If the
68
- count changes, update the Module Reference table.
69
-
70
- <!-- context-layer: generated=2026-03-01 | last-audited=2026-03-01 | version=1 | dir-commits-at-audit=15 -->
@@ -1,75 +0,0 @@
1
- # Coding Standards Checklist
2
-
3
- Standards that address the most common plan review failure modes. Reference this
4
- when planning code changes in established codebases.
5
-
6
- ---
7
-
8
- ## 1. Test-First Design Thinking
9
-
10
- Tests are an architectural constraint, not an afterthought. Design from the test
11
- perspective first.
12
-
13
- - **Interface-first:** Before describing implementation, ask: "Can I write the test
14
- for this before the implementation exists?" If the answer is unclear, the interface
15
- needs more thought.
16
- - **Structure tests before code:** Plans that describe "implement then test" consistently
17
- fail review. Restructure: define what the tests assert, then describe the implementation
18
- that satisfies them.
19
- - **Testability as architecture:** Design for dependency injection, interface seams, and
20
- fakes. If a component can't be tested in isolation, the coupling is too tight.
21
- - **Test categories:** Consider which test types apply — unit (isolated logic), integration
22
- (module boundaries), contract (API surfaces), and characterization (existing behavior
23
- preservation during refactoring).
24
- - **Verification clarity:** Each planned change should have a corresponding verification
25
- step that is binary-testable (pass/fail in one check, no subjective judgment).
26
-
27
- ---
28
-
29
- ## 2. File Structure & Codebase Convention Fit
30
-
31
- Don't pick a "plausible" location — pick the location that matches the project's
32
- established patterns.
33
-
34
- - **Discover before proposing:** Before suggesting new files or directories, verify where
35
- similar things already live in this project. Use Glob/Grep to find existing patterns.
36
- - **Naming conventions:** Match existing module and file naming patterns. If the project
37
- uses `kebab-case.ts`, don't introduce `camelCase.ts`. If hooks live in `hooks/`, don't
38
- create a `hook-handlers/` directory.
39
- - **Co-location patterns:** Check if the project follows co-location (tests next to source,
40
- types with implementation) or separation (dedicated `__tests__/`, `types/` directories).
41
- Follow what exists.
42
- - **Import depth:** Verify that new files fit the existing import hierarchy. Adding a file
43
- that requires imports to cross architectural boundaries (e.g., shared lib importing from
44
- feature code) signals a structural problem.
45
- - **Existing system boundaries:** Check if the project has documented system boundaries
46
- (CLAUDE.md, architecture docs). New files should respect these boundaries rather than
47
- create cross-cutting dependencies.
48
-
49
- ---
50
-
51
- ## 3. Extensibility & Future-Proofing Analysis
52
-
53
- Balance: don't over-engineer (YAGNI), but don't create designs that actively resist
54
- extension.
55
-
56
- - **Adjacent features:** What features are most commonly built after this one? Does the
57
- design accommodate those extensions without major restructuring?
58
- - **Extension points:** Where would future developers need to hook in? Are those seams
59
- accessible, or does the design require forking/copying to extend?
60
- - **Configuration vs. code changes:** Will common customizations require code changes, or
61
- can they be handled through configuration? Prefer the latter when the variation space
62
- is predictable.
63
- - **Data model flexibility:** Are data structures designed to accommodate likely additions
64
- (new fields, new types) without breaking existing consumers?
65
- - **Inversion of control:** Does the design allow callers to inject behavior, or does it
66
- hardcode decisions that callers will need to override? Prefer interfaces and callbacks
67
- over concrete implementations when variation is expected.
68
-
69
- ---
70
-
71
- ## Applicability
72
-
73
- These standards apply to production code in established codebases with existing conventions.
74
- For prototypes, scripts, spike explorations, or greenfield projects without established
75
- patterns, use judgment on which standards apply — not all will be relevant.
@@ -1,143 +0,0 @@
1
- # CC-Native Plan Review Agents
2
-
3
- Agent persona definitions for single-turn plan review. 31 review agents + 1 question agent.
4
-
5
- ## Directory Structure
6
-
7
- ```
8
- agents/
9
- ├── CLAUDE.md # This file
10
- ├── PLAN-ORCHESTRATOR.md # Complexity/agent selection orchestrator
11
- ├── plan-review/ # Review agents (31 files)
12
- │ ├── HANDOFF-READINESS.md
13
- │ ├── CLARITY-AUDITOR.md
14
- │ ├── SKEPTIC.md
15
- │ ├── ... # All review agent .md files
16
- │ └── TESTDRIVEN-CHARACTERIZATION.md
17
- └── plan-questions/ # Question generation agents
18
- └── PLAN-QUESTIONER.md # Fresh-context question generator
19
- ```
20
-
21
- **Important:** Review agents MUST be in `plan-review/`. The hook loads from `agents/plan-review/` — files in the root `agents/` directory (other than CLAUDE.md and PLAN-ORCHESTRATOR.md) are ignored.
22
-
23
- ## Review Agents (31 total)
24
-
25
- 4 mandatory + 27 selectable (organized into 7 variation families + 7 standalone).
26
-
27
- ## Agent Roster (31 agents)
28
-
29
- ### Mandatory (4) — always run
30
- | Agent | Focus |
31
- |-------|-------|
32
- | `handoff-readiness` | Fresh context execution test |
33
- | `clarity-auditor` | Communication clarity |
34
- | `skeptic` | Problem-solution alignment, first-principles |
35
- | `documentation-philosophy` | Knowledge capture (medium+ only) |
36
-
37
- ### Risk Family (4 variations)
38
- | Agent | Framework | Categories |
39
- |-------|-----------|------------|
40
- | `risk-premortem` | Pre-mortem (Klein 2007) — assumes failure, generates narratives | all |
41
- | `risk-fmea` | FMEA — per-step severity×likelihood×detectability | code, infra, design |
42
- | `risk-dependency` | Blast radius / dependency graph — maps cascading chains | code, infra |
43
- | `risk-reversibility` | One-way doors / optionality — classifies decision reversibility | all |
44
-
45
- ### Completeness Family (3 variations)
46
- | Agent | Framework | Categories |
47
- |-------|-----------|------------|
48
- | `completeness-gaps` | Structural gap analysis — missing steps, error paths, pre/post-conditions | all |
49
- | `completeness-feasibility` | Feasibility — resource gaps, expertise, timeline realism | all |
50
- | `completeness-ordering` | Critical path / topological sort — step ordering, parallelization | code, infra, design |
51
-
52
- ### Architecture Family (3 variations)
53
- | Agent | Framework | Categories |
54
- |-------|-----------|------------|
55
- | `arch-structure` | Coupling/cohesion — boundary placement, dependency direction | code, infra, design |
56
- | `arch-evolution` | Evolutionary architecture — change amplification, extension points | code, infra, design |
57
- | `arch-patterns` | Pattern selection — technology fit, pattern-forcing detection | code, infra |
58
-
59
- ### Verification Family (2 variations)
60
- | Agent | Framework | Categories |
61
- |-------|-----------|------------|
62
- | `verify-coverage` | Coverage mapping — 1:1 implementation-to-verification | all |
63
- | `verify-strength` | Mutation testing — would tests catch subtle bugs? | code, infra |
64
-
65
- ### Trade-off Family (2 variations)
66
- | Agent | Framework | Categories |
67
- |-------|-----------|------------|
68
- | `tradeoff-costs` | Opportunity cost — hidden costs, capability sacrifice | all |
69
- | `tradeoff-stakeholders` | Stakeholder impact — who wins, who loses, asymmetry | all |
70
-
71
- ### Design Family (2 variations)
72
- | Agent | Framework | Categories |
73
- |-------|-----------|------------|
74
- | `design-adr-validator` | ADR structure — Context, Decision, Consequences, alternatives analysis | design, code, infra |
75
- | `design-scale-matcher` | Scale matching — design depth proportional to blast radius | design, code, infra |
76
-
77
- ### TestDriven Family (4 variations)
78
- | Agent | Framework | Categories |
79
- |-------|-----------|------------|
80
- | `testdriven-first-validator` | FIRST principles — Fast, Independent, Repeatable, Self-validating, Thorough | code, infra |
81
- | `testdriven-behavior-auditor` | Behavior contracts — tests verify WHAT not HOW | code, infra |
82
- | `testdriven-pyramid-analyzer` | Test pyramid — balanced distribution, fast feedback at base | code, infra |
83
- | `testdriven-characterization` | Characterization tests — safety nets before code modification | code, infra |
84
-
85
- ### Standalone Agents (7)
86
- | Agent | Focus | Categories |
87
- |-------|-------|------------|
88
- | `scope-boundary` | Scope drift detection | all |
89
- | `hidden-complexity` | Understated difficulty, "just" statements | all |
90
- | `simplicity-guardian` | Over-engineering, YAGNI | all |
91
- | `devils-advocate` | Contrarian, reductio ad absurdum | all |
92
- | `assumption-tracer` | Stacked assumption chains | all |
93
- | `incremental-delivery` | Vertical slicing, smaller increments | all |
94
- | `constraint-validator` | Constraint satisfaction | all |
95
-
96
- ## Design: Variation Families
97
-
98
- Each family covers the same topic area but through different analytical lenses. Same output format, different analytical identity. This follows the RedTeam pattern (32 agents with unique personalities on the same concern). The orchestrator selects the most relevant variation(s) per family based on plan context.
99
-
100
- ## System Prompt vs Agent Flag
101
-
102
- **Decision:** Use `--system-prompt` with markdown body content instead of `--agent <name>`
103
-
104
- **Rationale:**
105
- - Claude Code's `--agent` flag invokes built-in agents designed for multi-turn agentic workflows with tool access
106
- - Plan review needs single-turn text analysis: read plan, output structured JSON
107
- - The `--agent` flag ignores our custom markdown content entirely - it loads Claude Code's built-in agent definitions
108
- - Using `--system-prompt` lets us inject the full persona (expertise, review approach, output requirements) directly
109
- - Result: faster execution, no tool overhead, and our rich agent descriptions actually get used
110
-
111
- **Constraint:** If you switch back to `--agent`, the elaborate persona content in these markdown files will be ignored. The reviews will use Claude Code's generic agent behavior instead of our specialized reviewers.
112
-
113
- ## File Structure
114
-
115
- Each agent file has:
116
- - **Frontmatter (YAML):** name, model, focus, categories
117
- - **Body (Markdown):** Full persona content → becomes `system_prompt` for `--system-prompt` flag
118
-
119
- ## --setting-sources "" Requirement
120
-
121
- **Decision:** Use `--setting-sources ""` to disable user/project settings loading
122
-
123
- **Rationale:**
124
- - Without this flag, Claude Code loads user settings (~43k cached tokens of PAI context)
125
- - The PAI Algorithm instructions override the agent's system prompt behavior
126
- - Model tries to follow PAI format instead of calling StructuredOutput directly
127
- - Result: 6+ turns, 30+ seconds, often no structured output
128
-
129
- **Constraint:** If you remove `--setting-sources ""`, agent reviews will be slow and unreliable due to PAI context interference.
130
-
131
- ## --max-turns 3 Requirement
132
-
133
- **Decision:** Use `--max-turns 3` with agent invocations
134
-
135
- **Rationale:**
136
- - `--max-turns 1` is too restrictive - the model needs turn 1 to call StructuredOutput, turn 2 for the tool result
137
- - `--max-turns 2` works but leaves no buffer for edge cases
138
- - `--max-turns 3` gives safety margin while still preventing runaway multi-turn behavior
139
- - With these settings, reviews complete in ~5-10 seconds
140
-
141
- **Constraint:** The agent markdown files MUST contain clear instructions to "call StructuredOutput IMMEDIATELY" and "do NOT use any other tools". Without these instructions, the model will try to use its turns for file operations instead of outputting the review.
142
-
143
-