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
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Shared type definitions for the lib-ts library.
3
+ * All field names use snake_case for JSON backward compatibility with state.json.
4
+ * See SPEC.md §1 for full behavioral specification.
5
+ */
6
+ export type Mode = "active" | "has_staged_work" | "idle";
7
+ export interface ContextState {
8
+ created_at: string;
9
+ /** @deprecated Use work_consumed instead */
10
+ handoff_consumed?: boolean;
11
+ handoff_path: null | string;
12
+ id: string;
13
+ last_active: string;
14
+ last_session: LastSession | null;
15
+ method: string;
16
+ mode: Mode;
17
+ next_artifact_type: "handoff" | "plan" | null;
18
+ plan_anchors: string[];
19
+ /** @deprecated Use work_consumed instead */
20
+ plan_consumed?: boolean;
21
+ plan_hash: null | string;
22
+ plan_hash_consumed: null | string;
23
+ plan_id: null | string;
24
+ plan_path: null | string;
25
+ plan_signature: null | string;
26
+ session_ids: string[];
27
+ status: "active" | "completed";
28
+ summary: string;
29
+ tags: string[];
30
+ tasks: Task[];
31
+ work_consumed: boolean;
32
+ }
33
+ export interface GitState {
34
+ branch?: string;
35
+ last_commit_short?: string;
36
+ uncommitted_files?: string[];
37
+ }
38
+ export interface LastSession {
39
+ context_remaining_pct?: number;
40
+ context_warnings_fired?: number[];
41
+ git_state?: GitState;
42
+ save_reason?: string;
43
+ saved_at?: string;
44
+ session_id?: string;
45
+ transcript_path?: string;
46
+ }
47
+ export interface Task {
48
+ active_form: string;
49
+ completed_at: null | string;
50
+ created_at: string;
51
+ description: string;
52
+ evidence: string;
53
+ files_changed: string[];
54
+ id: string;
55
+ session_id?: string;
56
+ status: "blocked" | "completed" | "in_progress" | "pending";
57
+ subject: string;
58
+ work_summary: string;
59
+ }
60
+ export interface IndexEntry {
61
+ last_active: string;
62
+ mode: string;
63
+ summary: string;
64
+ }
65
+ export interface IndexFile {
66
+ contexts: Record<string, IndexEntry>;
67
+ sessions: Record<string, string>;
68
+ updated_at: string;
69
+ version: "3.0";
70
+ }
71
+ export interface LogEntry {
72
+ component?: string;
73
+ data?: unknown;
74
+ hook: string;
75
+ level: "debug" | "error" | "info" | "warn";
76
+ msg: string;
77
+ tb?: string;
78
+ ts: string;
79
+ }
80
+ export interface HookInput {
81
+ context_window?: {
82
+ context_window_size?: number;
83
+ current_usage?: {
84
+ cache_creation_input_tokens?: number;
85
+ cache_read_input_tokens?: number;
86
+ input_tokens?: number;
87
+ output_tokens?: number;
88
+ };
89
+ };
90
+ cwd?: string;
91
+ hook_event_name: string;
92
+ permission_mode?: string;
93
+ session_id?: string;
94
+ source?: string;
95
+ tool_input?: Record<string, unknown>;
96
+ tool_name?: string;
97
+ tool_result?: string;
98
+ transcript_path?: string;
99
+ }
100
+ export interface HookOutput {
101
+ decision?: "block";
102
+ hookSpecificOutput?: {
103
+ additionalContext?: string;
104
+ hookEventName?: string;
105
+ permissionDecision?: "allow" | "ask" | "deny";
106
+ permissionDecisionReason?: string;
107
+ updatedInput?: Record<string, unknown>;
108
+ };
109
+ reason?: string;
110
+ }
111
+ export interface PermissionRequestOutput {
112
+ decision: {
113
+ behavior: "allow" | "deny";
114
+ message?: string;
115
+ updatedInput?: Record<string, unknown>;
116
+ updatedPermissions?: Record<string, unknown>;
117
+ };
118
+ }
119
+ export interface InferenceResult {
120
+ error?: string;
121
+ latency_ms: number;
122
+ output: string;
123
+ success: boolean;
124
+ }
125
+ export interface HandoffDocument {
126
+ active_tasks: Task[];
127
+ completed_tasks_this_session: Array<{
128
+ subject: string;
129
+ }>;
130
+ context_folder: string;
131
+ context_id: string;
132
+ context_summary: string;
133
+ created_at: string;
134
+ events_log_path: string;
135
+ file_path: null | string;
136
+ important_notes: string[];
137
+ next_steps: string[];
138
+ plan_path: null | string;
139
+ reason: string;
140
+ session_id: string;
141
+ work_summary: string;
142
+ }
143
+ export interface HandoffSections {
144
+ completedWork: null | string;
145
+ context: null | string;
146
+ deadEnds: null | string;
147
+ decisions: null | string;
148
+ index: null | string;
149
+ pending: null | string;
150
+ plan: null | string;
151
+ }
152
+ export interface CaretCommand {
153
+ ends: string[];
154
+ new_context_desc: null | string;
155
+ remaining_prompt: string;
156
+ select: null | string;
157
+ }
158
+ export type { PreflightCheckResult, PreflightCommandConfig } from "./runtime/preflight.js";
159
+ /** Configuration for a CLI review agent */
160
+ export interface AgentConfig {
161
+ categories: string[];
162
+ description: string;
163
+ focus: string;
164
+ model: string;
165
+ name: string;
166
+ provider: string;
167
+ system_prompt: string;
168
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Shared type definitions for the lib-ts library.
3
+ * All field names use snake_case for JSON backward compatibility with state.json.
4
+ * See SPEC.md §1 for full behavioral specification.
5
+ */
6
+ export {};
@@ -51,7 +51,7 @@ interface VersionCheckResult {
51
51
  * - "claude 0.1.0"
52
52
  * - "claude version 0.1.0"
53
53
  *
54
- * Returns null on any failure (command not found, invalid output, etc.)
54
+ * Returns null on unknown failure (command not found, invalid output, etc.)
55
55
  * to support graceful degradation.
56
56
  *
57
57
  * @returns Version string (e.g., "0.1.0") or null if unavailable
@@ -45,7 +45,7 @@ const INCOMPATIBLE_VERSIONS = new Set(['0.0.9']);
45
45
  * - "claude 0.1.0"
46
46
  * - "claude version 0.1.0"
47
47
  *
48
- * Returns null on any failure (command not found, invalid output, etc.)
48
+ * Returns null on unknown failure (command not found, invalid output, etc.)
49
49
  * to support graceful degradation.
50
50
  *
51
51
  * @returns Version string (e.g., "0.1.0") or null if unavailable
@@ -1,6 +1,5 @@
1
- import { promises as fs } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { pathExists } from './paths.js';
1
+ import { IdePathResolver } from './ide-path-resolver.js';
2
+ import { readJsonFile, writeJsonFile } from './json-io.js';
4
3
  /**
5
4
  * Read Windsurf hooks from file
6
5
  *
@@ -8,14 +7,7 @@ import { pathExists } from './paths.js';
8
7
  * @returns Parsed hooks or undefined if file doesn't exist or is invalid
9
8
  */
10
9
  export async function readWindsurfHooks(path) {
11
- try {
12
- const content = await fs.readFile(path, 'utf8');
13
- return JSON.parse(content);
14
- }
15
- catch {
16
- // File doesn't exist or invalid JSON
17
- return undefined;
18
- }
10
+ return readJsonFile(path);
19
11
  }
20
12
  /**
21
13
  * Write Windsurf hooks to file
@@ -28,17 +20,7 @@ export async function readWindsurfHooks(path) {
28
20
  * @throws Error if write fails
29
21
  */
30
22
  export async function writeWindsurfHooks(path, hooks) {
31
- // Create parent directory if it doesn't exist
32
- const dir = join(path, '..');
33
- await fs.mkdir(dir, { recursive: true });
34
- // Backup existing file if it exists
35
- if (await pathExists(path)) {
36
- const backupPath = `${path}.backup`;
37
- await fs.copyFile(path, backupPath);
38
- }
39
- // Write hooks with pretty formatting
40
- const content = JSON.stringify(hooks, null, 2);
41
- await fs.writeFile(path, content, 'utf8');
23
+ return writeJsonFile(path, hooks, { backup: true });
42
24
  }
43
25
  /**
44
26
  * Get the target hooks file for template hook merging
@@ -51,5 +33,6 @@ export async function writeWindsurfHooks(path, hooks) {
51
33
  * @returns Path to target hooks file
52
34
  */
53
35
  export function getTargetHooksFile(projectDir) {
54
- return join(projectDir, '.windsurf', 'hooks.json');
36
+ const resolver = new IdePathResolver(projectDir);
37
+ return resolver.getWindsurfHooks();
55
38
  }
@@ -0,0 +1,11 @@
1
+ export { ProcessSpawnError } from '../lib/errors.js';
2
+ export { ensureLspPatch } from '../lib/lsp-patch.js';
3
+ export { detectMultiplexer, type LaunchResult, type SplitDirection } from '../lib/multiplexer.js';
4
+ export { REPL_NESTING_VARS } from '../lib/env-sanitizer.js';
5
+ export { readSentinelExitCode, waitForSentinelFile } from '../lib/runtime/sentinel-ipc.js';
6
+ export { findExecutable } from '../lib/runtime/subprocess-utils.js';
7
+ export { quoteForSh } from '../lib/shell-quoting.js';
8
+ export { spawnProcess } from '../lib/spawn.js';
9
+ export { launchTerminal } from '../lib/terminal.js';
10
+ export { configureTmuxSession, findToolPath } from '../lib/tmux-session.js';
11
+ export { checkVersionCompatibility, getClaudeCodeVersion } from '../lib/version.js';
@@ -0,0 +1,11 @@
1
+ export { ProcessSpawnError } from '../lib/errors.js';
2
+ export { ensureLspPatch } from '../lib/lsp-patch.js';
3
+ export { detectMultiplexer } from '../lib/multiplexer.js';
4
+ export { REPL_NESTING_VARS } from '../lib/env-sanitizer.js';
5
+ export { readSentinelExitCode, waitForSentinelFile } from '../lib/runtime/sentinel-ipc.js';
6
+ export { findExecutable } from '../lib/runtime/subprocess-utils.js';
7
+ export { quoteForSh } from '../lib/shell-quoting.js';
8
+ export { spawnProcess } from '../lib/spawn.js';
9
+ export { launchTerminal } from '../lib/terminal.js';
10
+ export { configureTmuxSession, findToolPath } from '../lib/tmux-session.js';
11
+ export { checkVersionCompatibility, getClaudeCodeVersion } from '../lib/version.js';
@@ -6,8 +6,8 @@ Write all method outputs to `_output/{method}/`:
6
6
 
7
7
  ```
8
8
  _output/
9
- ├── gsd/.planning/ # GSD planning artifacts
10
- ├── bmad/docs/ # BMAD documentation
9
+ ├── cc-native/plans/ # Example method artifacts
10
+ ├── planning-with-files/plans/ # Example method artifacts
11
11
  └── {method}/{subdir}/ # Other method outputs
12
12
  ```
13
13
 
@@ -17,16 +17,16 @@ Include `_output/{method}/` in template `.gitignore`.
17
17
 
18
18
  ## Directory Structure
19
19
 
20
- Each template installs into `.aiwcli/` (method files) and `.{ide}/` (IDE integration). The `_shared/` template provides cross-method infrastructure used by all methods.
20
+ Template source lives under `src/templates/`. At install time, `core/` is copied into `.aiwcli/_core/` and used as the runtime base. Method templates add method-owned files (for example `.aiwcli/_cc-native/*`) and IDE-specific stubs.
21
21
 
22
22
  ```
23
23
  packages/cli/src/templates/
24
- ├── _shared/ # Cross-method infrastructure (installed by all methods)
24
+ ├── core/ # Core runtime source (installed as .aiwcli/_core)
25
25
  │ ├── hooks-ts/ # Shared TypeScript hook scripts (context, tasks, sessions)
26
26
  │ └── lib-ts/ # Shared TypeScript libraries
27
- │ ├── base/ # Core: atomic-write, constants, inference, utils
27
+ │ ├── runtime/ # Core runtime helpers
28
28
  │ ├── context/ # Context CRUD, selection, formatting, plans, tasks
29
- │ ├── handoff/ # Session handoff document generation
29
+ │ ├── hooks/ # Hook utility APIs
30
30
  │ └── templates/ # Output formatters, plan context templates
31
31
 
32
32
  ├── cc-native/ # CC-Native method template
@@ -35,19 +35,6 @@ packages/cli/src/templates/
35
35
  │ ├── .windsurf/ # Windsurf: workflows/
36
36
  │ └── .gitignore
37
37
 
38
- ├── gsd/ # GSD method template
39
- │ ├── .aiwcli/_gsd/ # Templates, workflows, hooks, config, docs
40
- │ ├── .claude/ # Claude Code: settings.json, commands/, agents/
41
- │ ├── .windsurf/ # Windsurf: workflows/
42
- │ ├── GSD-README.md
43
- │ ├── TEMPLATE-SCHEMA.md
44
- │ └── MIGRATION.md
45
-
46
- ├── bmad/ # BMAD method template
47
- │ ├── .aiwcli/_bmad/ # Agents, workflows, teams, testarch, config
48
- │ ├── .claude/ # Claude Code: settings.json, commands/
49
- │ └── ...
50
-
51
38
  ├── planning-with-files/ # Planning-with-Files method template
52
39
  │ ├── .claude/ # Claude Code: settings.json, skills/
53
40
  │ ├── .windsurf/ # Windsurf: workflows/, scripts/
@@ -60,7 +47,7 @@ packages/cli/src/templates/
60
47
 
61
48
  | Tier | Location | Purpose |
62
49
  |------|----------|---------|
63
- | Shared | `_shared/` | Cross-method hooks and libraries (context management, task tracking, sessions) |
50
+ | Core Source | `core/` | Source for runtime payload copied into `.aiwcli/_core/` |
64
51
  | Method | `_{method}/` or `.aiwcli/_{method}/` | Method-specific templates, workflows, hooks, config |
65
52
  | IDE | `.{ide}/` | IDE-specific command stubs, settings, workflow definitions |
66
53
  | Config | `.{ide}/settings.json` | Hooks, model prefs, method settings (merged on install) |
@@ -72,12 +59,12 @@ packages/cli/src/templates/
72
59
  When multiple templates install, settings.json files merge:
73
60
 
74
61
  **Hook merging** - Hooks combine by lifecycle event
75
- **Method namespacing** - Use method name as top-level key: `"gsd": { ... }`
62
+ **Method namespacing** - Use method name as top-level key: `"cc-native": { ... }`
76
63
 
77
64
  ```json
78
65
  {
79
- "gsd": { "planReview": { "enabled": true } },
80
- "bmad": { "agents": { "defaultModel": "claude-3-opus" } }
66
+ "cc-native": { "planReview": { "enabled": true } },
67
+ "planning-with-files": { "planning": { "enabled": true } }
81
68
  }
82
69
  ```
83
70
 
@@ -85,7 +72,7 @@ When multiple templates install, settings.json files merge:
85
72
 
86
73
  ## Hooks
87
74
 
88
- **Location:** Hooks live in `.aiwcli/_shared/hooks-ts/` (cross-method, TypeScript) and `.aiwcli/_{method}/hooks/` (method-specific). They are configured in `.{ide}/settings.json`, not placed in IDE directories.
75
+ **Location:** Runtime hooks live in `.aiwcli/_core/hooks-ts/` (cross-method, TypeScript) and optional method hooks in `.aiwcli/_{method}/hooks/`. Template source paths remain under `core/` and `_{method}/` and are wired via reconstructed `.{ide}/settings.json`.
89
76
 
90
77
  **Configuration:**
91
78
  ```json
@@ -93,7 +80,7 @@ When multiple templates install, settings.json files merge:
93
80
  "hooks": {
94
81
  "PostToolUse": [{
95
82
  "matcher": "Write",
96
- "hooks": [{ "type": "command", "command": "bun run .aiwcli/_cc-native/hooks/cc-native-plan-review.ts", "timeout": 300000 }]
83
+ "hooks": [{ "type": "command", "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/lint_after_edit.ts", "timeout": 10000 }]
97
84
  }]
98
85
  }
99
86
  }
@@ -147,7 +134,7 @@ Load and execute `_{method}/workflows/{name}.md`.
147
134
  | Reference Type | Pattern |
148
135
  |----------------|---------|
149
136
  | Templates | `_{method}/templates/FILE.md.template` |
150
- | Workflows (Claude) | `/gsd:workflow-name` (maps to `.claude/commands/gsd/workflow-name.md`) |
137
+ | Workflows (Claude) | `/{method}:workflow-name` (maps to `.claude/commands/{method}/workflow-name.md`) |
151
138
  | Workflows (Windsurf) | `workflow-name` from method workflows |
152
139
  | Outputs | `_output/{method}/{subdir}/FILE.md` |
153
140
 
@@ -157,13 +144,13 @@ Load and execute `_{method}/workflows/{name}.md`.
157
144
 
158
145
  | Element | Convention | Example |
159
146
  |---------|------------|---------|
160
- | Method folder | `_{lowercase}` | `_gsd` |
147
+ | Method folder | `_{lowercase}` | `_cc-native` |
161
148
  | Template file | `UPPERCASE.md.template` | `PROJECT.md.template` |
162
149
  | Workflow file | `kebab-case.md` | `new-project.md` |
163
150
  | Output file | `UPPERCASE.md` | `PROJECT.md` |
164
- | Hook file | `{method}-{name}.{ext}` | `gsd-plan-review.ts` |
165
- | Settings key | `{method}` | `"gsd": {}` |
166
- | Readme | `{METHOD}-README.md` | `GSD-README.md` |
151
+ | Hook file | `{method}-{name}.{ext}` | `cc-native-plan-review.ts` |
152
+ | Settings key | `{method}` | `"cc-native": {}` |
153
+ | Readme | `{METHOD}-README.md` | `CC-NATIVE-README.md` |
167
154
 
168
155
  ---
169
156
 
@@ -202,31 +189,34 @@ Load and execute `_{method}/workflows/{name}.md`.
202
189
  - Full workflows in IDE command files
203
190
  - Hardcoded paths without method namespace
204
191
  - Putting hook scripts directly in IDE directories (`.claude/hooks/`)
205
- - Creating `_shared/` directories inside method templates (e.g., `cc-native/_shared/`). All shared code lives in `packages/cli/src/templates/_shared/`. Method templates reference shared code via imports at runtime, not by copying.
192
+ - Creating `core/` directories inside method templates (e.g., `cc-native/core/`). All shared code lives in `packages/cli/src/templates/core/`. Method templates reference shared code via imports at runtime, not by copying.
206
193
 
207
194
  ---
208
195
 
209
196
  ## System Co-location Pattern
210
197
 
211
- Cohesive subsystems are organized as self-contained folders, following the handoff system model. Each system folder lives at the `_shared/` or `_cc-native/` level and contains:
198
+ Cohesive subsystems are organized as self-contained folders. In source they live under `core/` or method folders; at runtime, `core` subsystems execute from `.aiwcli/_core/*`.
212
199
 
213
200
  ```
214
201
  {system-name}/
215
202
  ├── CLAUDE.md ← Spec: lifecycle, API reference, design decisions, gotchas
216
203
  ├── lib/ ← TypeScript implementation (imported by hooks and other systems)
217
- ├── agents/ ← Agent spec .md files used by this system (if any)
218
- ├── scripts/ ← Standalone entry points invoked independently (if any)
219
- └── workflows/ ← User-facing procedural workflow docs (if any)
204
+ ├── agents/ ← Agent spec .md files used by this system (if present)
205
+ ├── scripts/ ← Standalone entry points invoked independently (if present)
206
+ └── workflows/ ← User-facing procedural workflow docs (if present)
220
207
  ```
221
208
 
222
209
  **Existing systems following this pattern:**
223
- - `_shared/skills/handoff-system/` — handoff creation and restoration
224
- - `_cc-native/plan-review/` — multi-agent plan review pipeline
225
- - `_cc-native/artifacts/` — review artifact generation and tracking
226
- - `_cc-native/lib-ts/rlm/` — retrieval-augmented learning memory
210
+ - `core/skills/handoff-system/` — handoff creation and restoration
211
+ - `core/skills/codex/` — Codex launch + watch integration
212
+ - `core/skills/meta-plan/` — prompt amplification workflow
213
+ - `cc-native/_cc-native/plan-review/` — method-specific plan review pipeline
214
+ - `cc-native/_cc-native/artifacts/` — method-specific review artifacts
215
+ - `cc-native/_cc-native/lib-ts/rlm/` — method-specific retrieval memory
227
216
 
228
217
  **Hooks are NOT co-located with their owning system.**
229
218
  Claude Code hooks are path-referenced in `.claude/settings.json` at install time.
230
219
  Moving a hook file requires settings.json updates — high blast-radius, fragile.
231
- Hooks live in `_shared/hooks-ts/` or `_cc-native/hooks/`. Each system's CLAUDE.md
220
+ Core hooks live in `core/hooks-ts/` source (installed to `.aiwcli/_core/hooks-ts/`), and method hooks live in method folders (for example `cc-native/_cc-native/hooks/`). Each system's CLAUDE.md
232
221
  lists the hooks that invoke it under a "Hooks" section.
222
+
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "statusLine": {
3
3
  "type": "command",
4
- "command": "NO_COLOR= FORCE_COLOR=2 bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/scripts/status_line.ts"
4
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/scripts/status_line.ts"
5
5
  },
6
6
  "fileSuggestion": {
7
7
  "type": "command",
8
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/file-suggestion.ts"
8
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/file-suggestion.ts"
9
9
  },
10
10
  "hooks": {
11
11
  "UserPromptSubmit": [
@@ -13,7 +13,7 @@
13
13
  "hooks": [
14
14
  {
15
15
  "type": "command",
16
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/user_prompt_submit.ts",
16
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/user_prompt_submit.ts",
17
17
  "timeout": 10000
18
18
  }
19
19
  ]
@@ -22,10 +22,19 @@
22
22
  "hooks": [
23
23
  {
24
24
  "type": "command",
25
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_cc-native/hooks/plan_questions_early.ts",
25
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_cc-native/hooks/plan_questions_early.ts",
26
26
  "timeout": 3000
27
27
  }
28
28
  ]
29
+ },
30
+ {
31
+ "hooks": [
32
+ {
33
+ "type": "command",
34
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/codex_explorer.ts",
35
+ "timeout": 55000
36
+ }
37
+ ]
29
38
  }
30
39
  ],
31
40
  "PostToolUse": [
@@ -34,7 +43,7 @@
34
43
  "hooks": [
35
44
  {
36
45
  "type": "command",
37
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/context_monitor.ts",
46
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/context_monitor.ts",
38
47
  "timeout": 5000
39
48
  }
40
49
  ]
@@ -44,7 +53,7 @@
44
53
  "hooks": [
45
54
  {
46
55
  "type": "command",
47
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/task_create_capture.ts",
56
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/task_create_capture.ts",
48
57
  "timeout": 3000
49
58
  }
50
59
  ]
@@ -54,7 +63,7 @@
54
63
  "hooks": [
55
64
  {
56
65
  "type": "command",
57
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/task_update_capture.ts",
66
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/task_update_capture.ts",
58
67
  "timeout": 3000
59
68
  }
60
69
  ]
@@ -64,27 +73,17 @@
64
73
  "hooks": [
65
74
  {
66
75
  "type": "command",
67
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/archive_plan.ts",
76
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/archive_plan.ts",
68
77
  "timeout": 5000
69
78
  }
70
79
  ]
71
80
  },
72
- {
73
- "matcher": "Write|Edit",
74
- "hooks": [
75
- {
76
- "type": "command",
77
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/lint_after_edit.ts",
78
- "timeout": 10000
79
- }
80
- ]
81
- },
82
81
  {
83
82
  "matcher": "AskUserQuestion",
84
83
  "hooks": [
85
84
  {
86
85
  "type": "command",
87
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_cc-native/hooks/mark_questions_asked.ts",
86
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_cc-native/hooks/mark_questions_asked.ts",
88
87
  "timeout": 3000
89
88
  }
90
89
  ]
@@ -94,7 +93,7 @@
94
93
  "hooks": [
95
94
  {
96
95
  "type": "command",
97
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_cc-native/hooks/enhance_plan_post_write.ts",
96
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_cc-native/hooks/enhance_plan_post_write.ts",
98
97
  "timeout": 5000
99
98
  }
100
99
  ]
@@ -104,7 +103,7 @@
104
103
  "hooks": [
105
104
  {
106
105
  "type": "command",
107
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_cc-native/hooks/enhance_plan_post_subagent.ts",
106
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_cc-native/hooks/enhance_plan_post_subagent.ts",
108
107
  "timeout": 10000,
109
108
  "blockOnFail": false
110
109
  }
@@ -116,7 +115,7 @@
116
115
  "hooks": [
117
116
  {
118
117
  "type": "command",
119
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/session_start.ts",
118
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/session_start.ts",
120
119
  "timeout": 5000
121
120
  }
122
121
  ]
@@ -127,7 +126,7 @@
127
126
  "hooks": [
128
127
  {
129
128
  "type": "command",
130
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/session_end.ts",
129
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/session_end.ts",
131
130
  "timeout": 5000
132
131
  }
133
132
  ]
@@ -138,7 +137,7 @@
138
137
  "hooks": [
139
138
  {
140
139
  "type": "command",
141
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/pre_compact.ts",
140
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/pre_compact.ts",
142
141
  "timeout": 5000
143
142
  }
144
143
  ]
@@ -150,7 +149,7 @@
150
149
  "hooks": [
151
150
  {
152
151
  "type": "command",
153
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_shared/hooks-ts/archive_plan.ts",
152
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_core/hooks-ts/archive_plan.ts",
154
153
  "timeout": 5000
155
154
  }
156
155
  ]
@@ -171,7 +170,7 @@
171
170
  "hooks": [
172
171
  {
173
172
  "type": "command",
174
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_cc-native/hooks/validate_task_prompt.ts",
173
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_cc-native/hooks/validate_task_prompt.ts",
175
174
  "timeout": 20000
176
175
  }
177
176
  ]
@@ -181,7 +180,7 @@
181
180
  "hooks": [
182
181
  {
183
182
  "type": "command",
184
- "command": "bun ~/.aiwcli/bin/resolve-run.ts .aiwcli/_cc-native/hooks/cc-native-plan-review.ts",
183
+ "command": "bun .aiwcli/_core/scripts/resolve-run.ts .aiwcli/_cc-native/hooks/cc-native-plan-review.ts",
185
184
  "timeout": 5000
186
185
  }
187
186
  ]
@@ -194,14 +193,5 @@
194
193
  },
195
194
  "env": {
196
195
  "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
197
- },
198
- "enabledPlugins": {},
199
- "methods": {
200
- "cc-native": {
201
- "ides": [
202
- "claude"
203
- ],
204
- "installedAt": "2026-02-21T16:59:33.520Z"
205
- }
206
196
  }
207
197
  }
@@ -94,7 +94,7 @@ The brackets indicate optional steps. Research only needs Clarify → Explore
94
94
 
95
95
  ## Context Management (Phase 2 - Shared Infrastructure)
96
96
 
97
- CC-Native uses **direct-state context management** via shared infrastructure in `_shared/`:
97
+ CC-Native uses **direct-state context management** via shared infrastructure in `core/`:
98
98
 
99
99
  ```
100
100
  _output/contexts/