Skip to content

feat: launch named agents from config#73

Merged
lsaether merged 3 commits into
mainfrom
feat/agent-config
Jun 11, 2026
Merged

feat: launch named agents from config#73
lsaether merged 3 commits into
mainfrom
feat/agent-config

Conversation

@lsaether

Copy link
Copy Markdown
Owner

Summary

  • add named agent config loading for acp-mux / rooms via --agent, --config, and --list-agents
  • document the agents.toml shape and add a copyable example config
  • use inert key placeholders in docs/tests so examples do not look like real secrets

Verification

  • git diff --check origin/main --
  • added-line static scan for secrets/shell/private-network/eval patterns: no findings
  • cargo fmt --check
  • cargo clippy --all-targets -- -D warnings
  • cargo test
  • independent pre-PR review: PASS, no blockers

lsaether added 3 commits June 9, 2026 10:50
Add a small TOML agent config (mirrors Zed's agent_servers): each
[agents.<name>] has command / args / optional env. Resolve and launch by name
with `--agent <name>` on both binaries (acp-mux and rooms); `--config <path>`
overrides the default location ($XDG_CONFIG_HOME/acp-mux/agents.toml or
~/.config/acp-mux/agents.toml), and `--list-agents` prints the configured set.

- New core module `acp_mux::agent_config` (load + resolve + list), with the
  resolution logic shared by both binaries.
- `--agent` and the raw `--agent-cmd` escape hatch are mutually exclusive;
  unknown agent names error with the known set listed.
- Per-agent `env` support: `AgentCmd` carries env and `AgentProcess::spawn`
  applies it on top of the inherited process environment.
- Unit tests for parsing, env conversion, resolution precedence, mutual
  exclusion, and unknown-name errors.
Add a "Named Agents" section to the README, a copyable docs/examples/agents.toml,
and a CHANGELOG entry.
@lsaether lsaether merged commit 48dbc37 into main Jun 11, 2026
1 check passed
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