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.
- package/README.md +108 -1124
- package/bin/run.js +0 -4
- package/dist/capabilities/branch/adapters.d.ts +2 -0
- package/dist/capabilities/branch/adapters.js +21 -0
- package/dist/capabilities/branch/contracts.d.ts +57 -0
- package/dist/capabilities/branch/contracts.js +1 -0
- package/dist/capabilities/branch/control-plane.d.ts +2 -0
- package/dist/capabilities/branch/control-plane.js +343 -0
- package/dist/capabilities/branch/runtime-core.d.ts +5 -0
- package/dist/capabilities/branch/runtime-core.js +36 -0
- package/dist/capabilities/installation/control-plane/clean-command.d.ts +41 -0
- package/dist/capabilities/installation/control-plane/clean-command.js +196 -0
- package/dist/capabilities/installation/control-plane/clear-command.d.ts +162 -0
- package/dist/capabilities/installation/control-plane/clear-command.js +1249 -0
- package/dist/capabilities/installation/control-plane/init-command.d.ts +81 -0
- package/dist/capabilities/installation/control-plane/init-command.js +449 -0
- package/dist/capabilities/launch/contracts.d.ts +86 -0
- package/dist/capabilities/launch/contracts.js +1 -0
- package/dist/capabilities/launch/control-plane/execute-launch.d.ts +2 -0
- package/dist/capabilities/launch/control-plane/execute-launch.js +261 -0
- package/dist/capabilities/launch/runtime-core/launch-decisions.d.ts +82 -0
- package/dist/capabilities/launch/runtime-core/launch-decisions.js +202 -0
- package/dist/capabilities/launch/runtime-core/launch-options.d.ts +14 -0
- package/dist/capabilities/launch/runtime-core/launch-options.js +69 -0
- package/dist/cli/base-command.d.ts +18 -0
- package/dist/cli/base-command.js +55 -0
- package/dist/commands/branch.d.ts +1 -21
- package/dist/commands/branch.js +25 -417
- package/dist/commands/clean.d.ts +1 -41
- package/dist/commands/clean.js +1 -196
- package/dist/commands/clear.d.ts +1 -161
- package/dist/commands/clear.js +1 -1121
- package/dist/commands/init/index.d.ts +1 -98
- package/dist/commands/init/index.js +4 -478
- package/dist/commands/launch.d.ts +32 -12
- package/dist/commands/launch.js +107 -166
- package/dist/lib/claude-settings-types.d.ts +31 -19
- package/dist/lib/config.js +1 -2
- package/dist/lib/context/context-formatter.d.ts +74 -0
- package/dist/lib/context/context-formatter.js +493 -0
- package/dist/lib/context/context-selector.d.ts +42 -0
- package/dist/lib/context/context-selector.js +451 -0
- package/dist/lib/context/context-store.d.ts +100 -0
- package/dist/lib/context/context-store.js +644 -0
- package/dist/lib/context/plan-manager.d.ts +54 -0
- package/dist/lib/context/plan-manager.js +282 -0
- package/dist/lib/context/task-tracker.d.ts +44 -0
- package/dist/lib/context/task-tracker.js +146 -0
- package/dist/lib/core-ide-base.d.ts +4 -0
- package/dist/lib/core-ide-base.js +77 -0
- package/dist/lib/core-installer.d.ts +5 -0
- package/dist/lib/core-installer.js +33 -0
- package/dist/lib/debug.d.ts +0 -10
- package/dist/lib/debug.js +0 -10
- package/dist/lib/env-sanitizer.d.ts +25 -0
- package/dist/lib/env-sanitizer.js +46 -0
- package/dist/lib/errors.d.ts +0 -13
- package/dist/lib/errors.js +0 -15
- package/dist/lib/git-exclude-manager.d.ts +2 -2
- package/dist/lib/git-exclude-manager.js +3 -3
- package/dist/lib/hooks/context-monitor-logic.d.ts +6 -0
- package/dist/lib/hooks/context-monitor-logic.js +25 -0
- package/dist/lib/hooks/hook-utils.d.ts +143 -0
- package/dist/lib/hooks/hook-utils.js +620 -0
- package/dist/lib/hooks/prompt-binding-logic.d.ts +7 -0
- package/dist/lib/hooks/prompt-binding-logic.js +50 -0
- package/dist/lib/hooks/session-end-logic.d.ts +5 -0
- package/dist/lib/hooks/session-end-logic.js +51 -0
- package/dist/lib/hooks-merger.js +25 -19
- package/dist/lib/ide-path-resolver.d.ts +19 -7
- package/dist/lib/ide-path-resolver.js +25 -9
- package/dist/lib/install-state.d.ts +34 -0
- package/dist/lib/install-state.js +154 -0
- package/dist/lib/json-io.d.ts +12 -0
- package/dist/lib/json-io.js +30 -0
- package/dist/lib/lsp-patch.d.ts +12 -0
- package/dist/lib/lsp-patch.js +156 -0
- package/dist/lib/multiplexer.d.ts +65 -0
- package/dist/lib/multiplexer.js +38 -0
- package/dist/lib/multiplexers/psmux.d.ts +55 -0
- package/dist/lib/multiplexers/psmux.js +324 -0
- package/dist/lib/multiplexers/tmux.d.ts +36 -0
- package/dist/lib/multiplexers/tmux.js +221 -0
- package/dist/lib/multiplexers/wezterm.d.ts +38 -0
- package/dist/lib/multiplexers/wezterm.js +225 -0
- package/dist/lib/mux-utils.d.ts +6 -0
- package/dist/lib/mux-utils.js +36 -0
- package/dist/lib/paths.d.ts +2 -2
- package/dist/lib/paths.js +2 -2
- package/dist/lib/platform-commands.d.ts +27 -0
- package/dist/lib/platform-commands.js +49 -0
- package/dist/lib/prompt-file-manager.d.ts +23 -0
- package/dist/lib/prompt-file-manager.js +41 -0
- package/dist/lib/runtime/agent-launcher.d.ts +67 -0
- package/dist/lib/runtime/agent-launcher.js +262 -0
- package/dist/lib/runtime/aiw-cli.d.ts +39 -0
- package/dist/lib/runtime/aiw-cli.js +76 -0
- package/dist/lib/runtime/atomic-write.d.ts +19 -0
- package/dist/lib/runtime/atomic-write.js +121 -0
- package/dist/lib/runtime/cli-args.d.ts +58 -0
- package/dist/lib/runtime/cli-args.js +200 -0
- package/dist/lib/runtime/constants.d.ts +56 -0
- package/dist/lib/runtime/constants.js +230 -0
- package/dist/lib/runtime/executable-policy.d.ts +16 -0
- package/dist/lib/runtime/executable-policy.js +57 -0
- package/dist/lib/runtime/git-state.d.ts +9 -0
- package/dist/lib/runtime/git-state.js +59 -0
- package/dist/lib/runtime/inference.d.ts +37 -0
- package/dist/lib/runtime/inference.js +251 -0
- package/dist/lib/runtime/lint-dispatch.d.ts +40 -0
- package/dist/lib/runtime/lint-dispatch.js +285 -0
- package/dist/lib/runtime/logger.d.ts +66 -0
- package/dist/lib/runtime/logger.js +201 -0
- package/dist/lib/runtime/models.d.ts +20 -0
- package/dist/lib/runtime/models.js +20 -0
- package/dist/lib/runtime/platform-adapter.d.ts +7 -0
- package/dist/lib/runtime/platform-adapter.js +21 -0
- package/dist/lib/runtime/preflight.d.ts +24 -0
- package/dist/lib/runtime/preflight.js +65 -0
- package/dist/lib/runtime/sentinel-ipc.d.ts +14 -0
- package/dist/lib/runtime/sentinel-ipc.js +67 -0
- package/dist/lib/runtime/state-io.d.ts +31 -0
- package/dist/lib/runtime/state-io.js +179 -0
- package/dist/lib/runtime/stop-words.d.ts +20 -0
- package/dist/lib/runtime/stop-words.js +150 -0
- package/dist/lib/runtime/subprocess-utils.d.ts +29 -0
- package/dist/lib/runtime/subprocess-utils.js +96 -0
- package/dist/lib/runtime/tmux-preflight.d.ts +13 -0
- package/dist/lib/runtime/tmux-preflight.js +78 -0
- package/dist/lib/runtime/utils.d.ts +62 -0
- package/dist/lib/runtime/utils.js +192 -0
- package/dist/lib/schemas.d.ts +250 -0
- package/dist/lib/schemas.js +216 -0
- package/dist/lib/sentinel-manager.d.ts +32 -0
- package/dist/lib/sentinel-manager.js +62 -0
- package/dist/lib/sentinel-wrapper.d.ts +10 -0
- package/dist/lib/sentinel-wrapper.js +29 -0
- package/dist/lib/settings-hierarchy.js +3 -20
- package/dist/lib/shell-adapters/bash-adapter.d.ts +18 -0
- package/dist/lib/shell-adapters/bash-adapter.js +69 -0
- package/dist/lib/shell-adapters/index.d.ts +5 -0
- package/dist/lib/shell-adapters/index.js +7 -0
- package/dist/lib/shell-adapters/powershell-adapter.d.ts +18 -0
- package/dist/lib/shell-adapters/powershell-adapter.js +62 -0
- package/dist/lib/shell-adapters/shell-adapter.d.ts +45 -0
- package/dist/lib/shell-adapters/shell-adapter.js +5 -0
- package/dist/lib/shell-quoting.d.ts +5 -0
- package/dist/lib/shell-quoting.js +17 -0
- package/dist/lib/spawn-errors.d.ts +9 -0
- package/dist/lib/spawn-errors.js +29 -0
- package/dist/lib/spawn.js +5 -11
- package/dist/lib/spinner.d.ts +0 -5
- package/dist/lib/spinner.js +0 -16
- package/dist/lib/template-installer.d.ts +14 -5
- package/dist/lib/template-installer.js +40 -38
- package/dist/lib/template-resolver.d.ts +6 -7
- package/dist/lib/template-resolver.js +26 -21
- package/dist/lib/template-settings-reconstructor.d.ts +7 -2
- package/dist/lib/template-settings-reconstructor.js +76 -45
- package/dist/lib/terminal-strategy.d.ts +12 -0
- package/dist/lib/terminal-strategy.js +55 -0
- package/dist/lib/terminal.d.ts +34 -4
- package/dist/lib/terminal.js +192 -119
- package/dist/lib/tmux-pane-placement.d.ts +17 -0
- package/dist/lib/tmux-pane-placement.js +58 -0
- package/dist/lib/tmux-primitives.d.ts +3 -0
- package/dist/lib/tmux-primitives.js +11 -0
- package/dist/lib/tmux-session.d.ts +32 -0
- package/dist/lib/tmux-session.js +87 -0
- package/dist/lib/tty-detection.js +1 -1
- package/dist/lib/types.d.ts +168 -0
- package/dist/lib/types.js +6 -0
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.js +1 -1
- package/dist/lib/windsurf-hooks-hierarchy.js +6 -23
- package/dist/platform/launch.d.ts +11 -0
- package/dist/platform/launch.js +11 -0
- package/dist/templates/CLAUDE.md +30 -40
- package/dist/templates/cc-native/.claude/settings.json +26 -36
- package/dist/templates/cc-native/CC-NATIVE-README.md +1 -1
- package/dist/templates/cc-native/TEMPLATE-SCHEMA.md +20 -12
- package/dist/templates/cc-native/_cc-native/cc-native.config.json +2 -6
- package/dist/templates/cc-native/_cc-native/hooks/CLAUDE.md +39 -59
- package/dist/templates/cc-native/_cc-native/hooks/cc-native-plan-review.ts +9 -11
- package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_subagent.ts +2 -2
- package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_write.ts +4 -5
- package/dist/templates/cc-native/_cc-native/hooks/mark_questions_asked.ts +4 -4
- package/dist/templates/cc-native/_cc-native/hooks/plan_questions_early.ts +2 -27
- package/dist/templates/cc-native/_cc-native/hooks/validate_task_prompt.ts +7 -7
- package/dist/templates/cc-native/_cc-native/lib-ts/.mocharc.json +9 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/aggregate-agents.test.ts +118 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/artifacts.test.ts +234 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/cc-native-state.test.ts +170 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/cli-output-parser.test.ts +73 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/config.test.ts +64 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/constants.test.ts +40 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/debug.test.ts +42 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/exports.test.ts +58 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/helpers.ts +107 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/hooks/add-plan-context.hook.test.ts +97 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/hooks/plan-questions.hook.test.ts +81 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/hooks/plan-review.hook.test.ts +71 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/json-parser.test.ts +99 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/orchestrator-agent.test.ts +288 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/orchestrator.test.ts +48 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/reviewers.test.ts +32 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/state.test.ts +124 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/__tests__/verdict.test.ts +93 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/agent-selection.ts +163 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/aggregate-agents.ts +6 -14
- package/dist/templates/cc-native/_cc-native/{artifacts/lib → lib-ts/artifacts}/format.ts +597 -599
- package/dist/templates/cc-native/_cc-native/{artifacts/lib → lib-ts/artifacts}/index.ts +26 -26
- package/dist/templates/cc-native/_cc-native/{artifacts/lib → lib-ts/artifacts}/tracker.ts +106 -107
- package/dist/templates/cc-native/_cc-native/{artifacts/lib → lib-ts/artifacts}/write.ts +118 -119
- package/dist/templates/cc-native/_cc-native/lib-ts/artifacts.ts +21 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/cc-native-state.ts +17 -16
- package/dist/templates/cc-native/_cc-native/lib-ts/cli-output-parser.ts +132 -10
- package/dist/templates/cc-native/_cc-native/lib-ts/config.ts +1 -1
- package/dist/templates/cc-native/_cc-native/lib-ts/constants.ts +6 -6
- package/dist/templates/cc-native/_cc-native/lib-ts/corroboration.ts +119 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/debug.ts +2 -3
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/graduation.ts +132 -132
- package/dist/templates/cc-native/_cc-native/lib-ts/index.ts +88 -86
- package/dist/templates/cc-native/_cc-native/lib-ts/json-parser.ts +5 -6
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/orchestrator.ts +70 -70
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/output-builder.ts +130 -121
- package/dist/templates/cc-native/_cc-native/lib-ts/package-lock.json +1679 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/package.json +24 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/plan-discovery.ts +5 -5
- package/dist/templates/cc-native/_cc-native/lib-ts/plan-enhancement.ts +1 -6
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/plan-questions.ts +101 -101
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/review-pipeline.ts +511 -543
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/__tests__/agent-providers.test.ts +262 -0
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/agent.ts +71 -85
- package/dist/templates/{_shared/lib-ts/agent-exec → cc-native/_cc-native/lib-ts/reviewers/base}/base-agent.ts +138 -150
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/index.ts +12 -12
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/providers/claude-agent.ts +66 -57
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/providers/codex-agent.ts +185 -200
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/providers/gemini-agent.ts +39 -40
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/providers/orchestrator-claude-agent.ts +196 -225
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/schemas.ts +201 -201
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/reviewers/types.ts +21 -23
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/__tests__/hyde.test.ts +365 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/__tests__/ollama-client.test.ts +223 -0
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/embedding-indexer.ts +12 -16
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/hyde.ts +3 -2
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/index.ts +31 -31
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/logger.ts +7 -8
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/ollama-client.ts +7 -9
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/retrieval-pipeline.ts +16 -19
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-indexer.ts +37 -41
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-loader.ts +33 -43
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-searcher.ts +20 -20
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/types.ts +9 -10
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/vector-store.ts +3 -4
- package/dist/templates/cc-native/_cc-native/lib-ts/settings.ts +50 -126
- package/dist/templates/cc-native/_cc-native/lib-ts/state.ts +20 -22
- package/dist/templates/cc-native/_cc-native/lib-ts/tsconfig.json +2 -2
- package/dist/templates/cc-native/_cc-native/lib-ts/types.ts +14 -89
- package/dist/templates/cc-native/_cc-native/{plan-review/lib → lib-ts}/verdict.ts +72 -72
- package/dist/templates/cc-native/_cc-native/plan-review/CLAUDE.md +38 -1
- package/dist/templates/cc-native/_cc-native/plan-review/lib/__tests__/agent-selection.test.ts +345 -0
- package/dist/templates/cc-native/_cc-native/plan-review/lib/__tests__/preflight.test.ts +344 -0
- package/dist/templates/cc-native/_cc-native/plan-review/lib/agent-selection.ts +38 -16
- package/dist/templates/cc-native/_cc-native/plan-review/lib/preflight.ts +56 -26
- package/dist/templates/cc-native/_cc-native/scripts/council_debate.ts +242 -0
- package/dist/templates/cc-native/_cc-native/scripts/council_debate_simple.ts +294 -0
- package/dist/templates/cc-native/_cc-native/{plan-review/workflows → workflows}/specdev.md +9 -9
- package/dist/templates/core/.claude/skills/codex/SKILL.md +25 -0
- package/dist/templates/core/.claude/skills/devin/SKILL.md +25 -0
- package/dist/templates/core/.claude/skills/handoff/SKILL.md +11 -0
- package/dist/templates/core/.claude/skills/handoff-resume/SKILL.md +11 -0
- package/dist/templates/core/.claude/skills/meta-plan/SKILL.md +13 -0
- package/dist/templates/core/.codex/skills/codex/SKILL.md +13 -0
- package/dist/templates/core/.codex/skills/devin/SKILL.md +19 -0
- package/dist/templates/core/.codex/skills/handoff/SKILL.md +11 -0
- package/dist/templates/core/.codex/skills/handoff-resume/SKILL.md +11 -0
- package/dist/templates/core/.codex/skills/meta-plan/SKILL.md +13 -0
- package/dist/templates/core/.devin/AGENTS.md +5 -0
- package/dist/templates/core/.devin/config.json +12 -0
- package/dist/templates/core/.devin/skills/codex/SKILL.md +19 -0
- package/dist/templates/core/.devin/skills/devin/SKILL.md +13 -0
- package/dist/templates/core/.devin/skills/handoff/SKILL.md +11 -0
- package/dist/templates/core/.devin/skills/handoff-resume/SKILL.md +11 -0
- package/dist/templates/core/.devin/skills/meta-plan/SKILL.md +13 -0
- package/dist/templates/core/.windsurf/workflows/handoff-resume.md +9 -0
- package/dist/templates/{_shared → core}/.windsurf/workflows/handoff.md +1 -1
- package/dist/templates/{_shared → core}/.windsurf/workflows/meta-plan.md +1 -1
- package/dist/templates/core/hooks-ts/_utils/git-state.ts +2 -0
- package/dist/templates/{_shared → core}/hooks-ts/archive_plan.ts +15 -44
- package/dist/templates/core/hooks-ts/codex_explorer.ts +160 -0
- package/dist/templates/{_shared → core}/hooks-ts/context_monitor.ts +23 -55
- package/dist/templates/{_shared → core}/hooks-ts/file-suggestion.ts +5 -22
- package/dist/templates/{_shared → core}/hooks-ts/lint_after_edit.ts +7 -9
- package/dist/templates/core/hooks-ts/pre_compact.ts +36 -0
- package/dist/templates/{_shared → core}/hooks-ts/session_end.ts +38 -78
- package/dist/templates/{_shared → core}/hooks-ts/session_start.ts +5 -5
- package/dist/templates/core/hooks-ts/task_create_capture.ts +32 -0
- package/dist/templates/{_shared → core}/hooks-ts/task_update_capture.ts +9 -24
- package/dist/templates/core/hooks-ts/user_prompt_submit.ts +46 -0
- package/dist/templates/{_shared → core}/lib-ts/CLAUDE.md +27 -16
- package/dist/templates/{_shared → core}/lib-ts/context/CLAUDE.md +9 -6
- package/dist/templates/{_shared → core}/lib-ts/context/context-formatter.ts +16 -21
- package/dist/templates/{_shared → core}/lib-ts/context/context-selector.ts +8 -6
- package/dist/templates/{_shared → core}/lib-ts/context/context-store.ts +59 -20
- package/dist/templates/{_shared → core}/lib-ts/context/plan-manager.ts +19 -15
- package/dist/templates/{_shared → core}/lib-ts/context/task-tracker.ts +3 -3
- package/dist/templates/core/lib-ts/hooks/context-monitor-logic.ts +32 -0
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/hooks}/hook-utils.ts +179 -41
- package/dist/templates/core/lib-ts/hooks/prompt-binding-logic.ts +80 -0
- package/dist/templates/core/lib-ts/hooks/session-end-logic.ts +82 -0
- package/dist/templates/core/lib-ts/package.json +19 -0
- package/dist/templates/core/lib-ts/runtime/agent-launcher.ts +369 -0
- package/dist/templates/core/lib-ts/runtime/aiw-cli.ts +108 -0
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/atomic-write.ts +12 -7
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/cli-args.ts +24 -8
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/constants.ts +326 -324
- package/dist/templates/core/lib-ts/runtime/executable-policy.ts +89 -0
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/git-state.ts +6 -4
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/inference.ts +60 -23
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/lint-dispatch.ts +25 -23
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/logger.ts +32 -29
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/models.ts +9 -2
- package/dist/templates/core/lib-ts/runtime/platform-adapter.ts +33 -0
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/preflight.ts +4 -3
- package/dist/templates/core/lib-ts/runtime/sentinel-ipc.ts +91 -0
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/state-io.ts +20 -11
- package/dist/templates/core/lib-ts/runtime/stop-words.ts +185 -0
- package/dist/templates/core/lib-ts/runtime/subprocess-utils.ts +147 -0
- package/dist/templates/core/lib-ts/runtime/tmux-preflight.ts +93 -0
- package/dist/templates/{_shared/lib-ts/base → core/lib-ts/runtime}/utils.ts +34 -4
- package/dist/templates/core/lib-ts/schemas.ts +233 -0
- package/dist/templates/{_shared → core}/lib-ts/templates/formatters.ts +7 -5
- package/dist/templates/{_shared → core}/lib-ts/templates/plan-context.ts +2 -1
- package/dist/templates/{_shared → core}/lib-ts/tsconfig.json +3 -1
- package/dist/templates/{_shared → core}/lib-ts/types.ts +78 -77
- package/dist/templates/core/scripts/resolve-run.ts +93 -0
- package/dist/templates/{_shared → core}/scripts/resolve_context.ts +3 -3
- package/dist/templates/{_shared → core}/scripts/status_line.ts +26 -21
- package/dist/templates/core/skills/codex/CLAUDE.md +83 -0
- package/dist/templates/{_shared → core}/skills/codex/SKILL.md +27 -18
- package/dist/templates/{_shared → core}/skills/codex/lib/codex-watcher.ts +79 -113
- package/dist/templates/{_shared → core}/skills/codex/scripts/launch-codex.ts +134 -148
- package/dist/templates/{_shared → core}/skills/codex/scripts/watch-codex.ts +6 -4
- package/dist/templates/core/skills/devin/CLAUDE.md +122 -0
- package/dist/templates/core/skills/devin/SKILL.md +73 -0
- package/dist/templates/core/skills/devin/lib/devin-watcher.ts +300 -0
- package/dist/templates/core/skills/devin/scripts/launch-devin.ts +258 -0
- package/dist/templates/{_shared → core}/skills/handoff-system/CLAUDE.md +436 -433
- package/dist/templates/{_shared → core}/skills/handoff-system/lib/document-generator.ts +9 -7
- package/dist/templates/{_shared → core}/skills/handoff-system/lib/handoff-reader.ts +6 -4
- package/dist/templates/{_shared → core}/skills/handoff-system/scripts/resume_handoff.ts +10 -8
- package/dist/templates/{_shared → core}/skills/handoff-system/scripts/save_handoff.ts +12 -10
- package/dist/templates/{_shared → core}/skills/handoff-system/workflows/handoff-resume.md +2 -2
- package/dist/templates/{_shared → core}/skills/handoff-system/workflows/handoff.md +6 -5
- package/dist/templates/{_shared → core}/skills/meta-plan/CLAUDE.md +2 -1
- package/dist/templates/{_shared → core}/skills/meta-plan/workflows/meta-plan.md +8 -7
- package/oclif.manifest.json +89 -13
- package/package.json +13 -12
- package/dist/lib/base-command.d.ts +0 -114
- package/dist/lib/base-command.js +0 -153
- package/dist/lib/env-compat.d.ts +0 -18
- package/dist/lib/env-compat.js +0 -23
- package/dist/lib/stdin.d.ts +0 -48
- package/dist/lib/stdin.js +0 -60
- package/dist/templates/_shared/.claude/settings.json +0 -120
- package/dist/templates/_shared/.claude/skills/codex/SKILL.md +0 -35
- package/dist/templates/_shared/.claude/skills/handoff/SKILL.md +0 -13
- package/dist/templates/_shared/.claude/skills/handoff-resume/SKILL.md +0 -13
- package/dist/templates/_shared/.claude/skills/meta-plan/SKILL.md +0 -43
- package/dist/templates/_shared/.codex/workflows/codex.md +0 -11
- package/dist/templates/_shared/.codex/workflows/handoff.md +0 -226
- package/dist/templates/_shared/.codex/workflows/meta-plan.md +0 -347
- package/dist/templates/_shared/hooks-ts/_utils/git-state.ts +0 -2
- package/dist/templates/_shared/hooks-ts/pre_compact.ts +0 -49
- package/dist/templates/_shared/hooks-ts/task_create_capture.ts +0 -48
- package/dist/templates/_shared/hooks-ts/user_prompt_submit.ts +0 -93
- package/dist/templates/_shared/lib-ts/agent-exec/backends/headless.ts +0 -33
- package/dist/templates/_shared/lib-ts/agent-exec/backends/index.ts +0 -6
- package/dist/templates/_shared/lib-ts/agent-exec/backends/tmux.ts +0 -119
- package/dist/templates/_shared/lib-ts/agent-exec/execution-backend.ts +0 -50
- package/dist/templates/_shared/lib-ts/agent-exec/index.ts +0 -6
- package/dist/templates/_shared/lib-ts/agent-exec/structured-output.ts +0 -166
- package/dist/templates/_shared/lib-ts/base/launchers/tmux-launcher.ts +0 -173
- package/dist/templates/_shared/lib-ts/base/launchers/window-launcher.ts +0 -93
- package/dist/templates/_shared/lib-ts/base/launchers/wt-launcher.ts +0 -64
- package/dist/templates/_shared/lib-ts/base/pane-launcher.ts +0 -55
- package/dist/templates/_shared/lib-ts/base/sentinel-ipc.ts +0 -87
- package/dist/templates/_shared/lib-ts/base/stop-words.ts +0 -184
- package/dist/templates/_shared/lib-ts/base/subprocess-utils.ts +0 -249
- package/dist/templates/_shared/lib-ts/base/tmux-driver.ts +0 -341
- package/dist/templates/_shared/lib-ts/base/tmux-pane-placement.ts +0 -78
- package/dist/templates/_shared/lib-ts/package.json +0 -20
- package/dist/templates/_shared/scripts/resolve-run.ts +0 -62
- package/dist/templates/_shared/skills/codex/CLAUDE.md +0 -70
- package/dist/templates/cc-native/_cc-native/CLAUDE.md +0 -73
- package/dist/templates/cc-native/_cc-native/artifacts/CLAUDE.md +0 -64
- package/dist/templates/cc-native/_cc-native/lib-ts/CLAUDE.md +0 -70
- package/dist/templates/cc-native/_cc-native/plan-review/CODING-STANDARDS-CHECKLIST.md +0 -75
- package/dist/templates/cc-native/_cc-native/plan-review/agents/CLAUDE.md +0 -143
- package/dist/templates/cc-native/_cc-native/plan-review/agents/PLAN-ORCHESTRATOR.md +0 -213
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-questions/PLAN-QUESTIONER.md +0 -70
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ARCH-EVOLUTION.md +0 -62
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ARCH-PATTERNS.md +0 -61
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ARCH-STRUCTURE.md +0 -62
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/ASSUMPTION-TRACER.md +0 -56
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/CLARITY-AUDITOR.md +0 -53
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/COMPLETENESS-FEASIBILITY.md +0 -66
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/COMPLETENESS-GAPS.md +0 -70
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/COMPLETENESS-ORDERING.md +0 -62
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/CONSTRAINT-VALIDATOR.md +0 -72
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DESIGN-ADR-VALIDATOR.md +0 -61
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DESIGN-SCALE-MATCHER.md +0 -64
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DEVILS-ADVOCATE.md +0 -56
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/DOCUMENTATION-PHILOSOPHY.md +0 -86
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/HANDOFF-READINESS.md +0 -59
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/HIDDEN-COMPLEXITY.md +0 -58
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/INCREMENTAL-DELIVERY.md +0 -66
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-DEPENDENCY.md +0 -62
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-FMEA.md +0 -66
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-PREMORTEM.md +0 -71
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/RISK-REVERSIBILITY.md +0 -74
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/SCOPE-BOUNDARY.md +0 -77
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/SIMPLICITY-GUARDIAN.md +0 -62
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/SKEPTIC.md +0 -68
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-BEHAVIOR-AUDITOR.md +0 -61
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-CHARACTERIZATION.md +0 -71
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-FIRST-VALIDATOR.md +0 -61
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TESTDRIVEN-PYRAMID-ANALYZER.md +0 -61
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TRADEOFF-COSTS.md +0 -67
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/TRADEOFF-STAKEHOLDERS.md +0 -65
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/VERIFY-COVERAGE.md +0 -74
- package/dist/templates/cc-native/_cc-native/plan-review/agents/plan-review/VERIFY-STRENGTH.md +0 -69
- package/dist/templates/cc-native/_cc-native/plan-review/lib/corroboration.ts +0 -172
- 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
|
-
|