Skip to content

Multi-Agent Support (Driver Model) - #16

Merged
tu11aa merged 13 commits into
developfrom
feature/multi-agent-support
Apr 20, 2026
Merged

Multi-Agent Support (Driver Model)#16
tu11aa merged 13 commits into
developfrom
feature/multi-agent-support

Conversation

@tu11aa

@tu11aa tu11aa commented Apr 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds a thin driver layer so any CLI agent (Claude, Codex, Gemini, Aider) can fill any cockpit role
  • Semi-auto capability probing on startup discovers what each agent can do
  • Config-driven role routing with backward compatibility (old models config auto-migrates to roles)
  • cockpit doctor now shows installed agents with capabilities
  • All defaults remain Claude — multi-agent is opt-in
  • cmux stays as the universal coordination bus; Claude↔Claude uses native Agent Teams

Files Changed

New (driver system):

  • src/drivers/types.ts — AgentDriver interface, capabilities, role requirements
  • src/drivers/claude.ts — Claude Code driver (extracted from buildClaudeCmd)
  • src/drivers/codex.ts — OpenAI Codex CLI driver
  • src/drivers/gemini.ts — Google Gemini CLI driver
  • src/drivers/aider.ts — Aider driver
  • src/drivers/registry.ts — CapabilityRegistry with probe + validate
  • src/drivers/index.ts — Barrel exports
  • orchestrator/captain.generic.md — Generic captain template (cmux-based)
  • orchestrator/crew.generic.md — Generic crew template

Modified:

  • src/config.ts — Added AgentEntry, RoleAssignment, RoleConfig types + migration
  • src/commands/launch.ts — Uses driver registry instead of hardcoded buildClaudeCmd
  • src/commands/doctor.ts — Agent probing + role validation section
  • src/commands/init.ts — Handles new template naming
  • scripts/spawn-workspace.sh — Multi-agent command building
  • orchestrator/*.CLAUDE.md*.claude.md (renamed)

Test plan

  • 38 driver/registry/config tests pass (6 test suites)
  • TypeScript compiles clean (tsc --noEmit)
  • cockpit doctor shows Agent Drivers section with Claude detected
  • npm run build && npm link — CLI works
  • Manual: change a role to non-Claude agent in config, verify spawn uses correct CLI
  • Manual: verify existing Claude-only workflow is unchanged

tu11aa added 13 commits April 8, 2026 18:50
Design for making cockpit agent-agnostic via thin adapter layer (driver model).
Covers driver interface, capability registry, config changes, coordination via
cmux, and 4-phase migration path. Implementation planned for next sprint.
11-task plan covering driver interface, 4 agent drivers (Claude, Codex,
Gemini, Aider), capability registry, config migration, launch.ts refactor,
doctor probing, generic role templates, and spawn-workspace.sh updates.
TDD: test written first (verified fail), then implementation. 9/9 tests passing covering name, templateSuffix, buildCommand flags (model, autoApprove, promptFile), probe capabilities, JSONL parsing, and raw fallback.
…ilding

Wire CapabilityRegistry into the launch action; route each role through its
configured agent driver (defaulting to claude) so non-Claude agents (codex,
gemini, aider) can be dispatched from cockpit config.
@tu11aa
tu11aa merged commit 0e251bb into develop Apr 20, 2026
@tu11aa
tu11aa deleted the feature/multi-agent-support branch April 20, 2026 09:00
@tu11aa tu11aa mentioned this pull request May 5, 2026
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant