Add guided agent configurator#156
Conversation
yohey-w
left a comment
There was a problem hiding this comment.
Clean and useful, @TsukinowaRin. The three-platform launcher approach (sh/bat/command) covers Linux, Windows WSL2, and macOS Finder — that's the right scope for a setup tool.
What's good:
configure_agents.pypreservesmodel,variant,thinking,reasoning_effort, andrecommended_modelfields — users won't lose carefully tuned model routing when changing CLI type- Non-interactive mode via
--default,--shogun,--ashigaru-countetc. makes it scriptable for CI/bootstrap Configure-Agents.batcorrectly resolves WSL path viawslpathand delegates to the Python script — no duplication
One note:
configure_agents.py has ALLOWED_CLIS = ('claude', 'codex', 'copilot', 'kimi', 'opencode') — it's missing cursor (PR #155) and antigravity (PR #154). Once those CLIs land, this list will need a patch. Low priority, but worth a follow-up.
Merging is safe.
yohey-w
left a comment
There was a problem hiding this comment.
Revisiting my earlier approval — the ALLOWED_CLIS list is not MECE with the system's actual CLI support, and for a tool whose entire purpose is to enumerate valid options, that's a core defect, not a low-priority footnote.
Required change before merge:
scripts/configure_agents.py has:
ALLOWED_CLIS = ('claude', 'codex', 'copilot', 'kimi', 'opencode')After PRs #154 (Antigravity) and #155 (Cursor) land, the system supports 7 CLIs. The configurator would be wrong on day 1 after those merges — silently offering only 5 of 7 valid options.
Options:
- Add
cursorandantigravitytoALLOWED_CLISnow (coordinate with #154/#155 authors) - Or derive the list from
cli_adapter.sh'sCLI_ADAPTER_ALLOWED_CLISat runtime to avoid the sync problem entirely
The deeper issue is that 4 places currently hold copies of this list (cli_adapter.sh, inbox_watcher.sh, configure_agents.py, switch_cli.sh). Every new CLI requires 4 separate edits. A single source of truth would prevent this class of bug — but even without that refactor, the list here must match what the adapter accepts before merge.
Sorry for the earlier approval — this should have been a required change from the start.
Summary
Adds a small guided configurator for assigning Shogun agent CLI types without hand-editing
config/settings.yaml.scripts/configure_agents.pyfor CUI and non-interactive configuration.Configure-Agents.sh,Configure-Agents.command, andConfigure-Agents.bat.Behavior
The configurator asks in this order:
cli.defaultIt preserves existing
model,variant, andthinkingsettings by default so current model routing remains intact. Users can pass--reset-model-prefswhen they intentionally want to clear those detailed fields.Validation
bash -n Configure-Agents.sh Configure-Agents.command scripts/switch_cli.sh shutsujin_departure.shpython3 -m py_compile scripts/configure_agents.pybats tests/unit/test_configure_agents.bats tests/unit/test_configure_agent_launchers.batsbats tests/unit/test_cli_adapter.bats tests/unit/test_switch_cli.bats tests/unit/test_agent_registry.batscmd.exe /c Configure-Agents.bat --dry-run --default claude --ashigaru-count 1 --shogun claude --karo claude --gunshi claude --ashigaru1 claudegit diff --check