Summary
Add a new brokk mj subcommand that mirrors the existing acp and mcp launchers, but installs/resolves brokkai/mjolnir and runs it as a pass-through subprocess.
Why
The repository already has two patterns for launching bundled native servers:
brokk acp launches Anvil over stdio
brokk mcp launches bifrost over stdio
Both already support resolving a binary, forwarding passthrough arguments, and executing the binary in place.
Relevant existing evidence:
README.md documents brokk acp and brokk mcp as stdio server entrypoints and notes that unknown mcp arguments are passed through to bifrost.
brokk_code/anvil_launcher.py resolves/downloads Anvil and forwards passthrough args before exec/subprocess launch.
brokk_code/bifrost_launcher.py resolves bifrost and forwards passthrough args before exec/subprocess launch.
- The current CLI structure in
brokk_code/__main__.py already has separate runtime argument groups for ACP/MCP-style commands, which suggests mj could follow the same pattern cleanly.
Proposed behavior
- Add a new
mj subcommand to the CLI.
- Resolve
brokkai/mjolnir the same way the other native launchers resolve their binaries:
- support an explicit binary override
- support
$PATH lookup
- support cached/downloaded release resolution if needed
- Run the resolved binary as a pass-through process, forwarding unknown/extra CLI args to
mjolnir.
- Keep the execution model consistent with existing launcher commands so stdio and exit codes behave predictably.
Acceptance criteria
brokk mj --help is available.
brokk mj ... launches mjolnir successfully.
- Extra args are forwarded to
mjolnir unchanged.
- Behavior matches the existing style of
acp/mcp launchers as closely as possible.
- Documentation is updated in
README.md with the new command and resolution order.
Notes
If this command should also download a pinned release like Anvil/bifrost, please document the expected release asset naming and versioning scheme for brokkai/mjolnir.
Summary
Add a new
brokk mjsubcommand that mirrors the existingacpandmcplaunchers, but installs/resolvesbrokkai/mjolnirand runs it as a pass-through subprocess.Why
The repository already has two patterns for launching bundled native servers:
brokk acplaunches Anvil over stdiobrokk mcplaunches bifrost over stdioBoth already support resolving a binary, forwarding passthrough arguments, and executing the binary in place.
Relevant existing evidence:
README.mddocumentsbrokk acpandbrokk mcpas stdio server entrypoints and notes that unknownmcparguments are passed through to bifrost.brokk_code/anvil_launcher.pyresolves/downloads Anvil and forwards passthrough args before exec/subprocess launch.brokk_code/bifrost_launcher.pyresolves bifrost and forwards passthrough args before exec/subprocess launch.brokk_code/__main__.pyalready has separate runtime argument groups for ACP/MCP-style commands, which suggestsmjcould follow the same pattern cleanly.Proposed behavior
mjsubcommand to the CLI.brokkai/mjolnirthe same way the other native launchers resolve their binaries:$PATHlookupmjolnir.Acceptance criteria
brokk mj --helpis available.brokk mj ...launchesmjolnirsuccessfully.mjolnirunchanged.acp/mcplaunchers as closely as possible.README.mdwith the new command and resolution order.Notes
If this command should also download a pinned release like Anvil/bifrost, please document the expected release asset naming and versioning scheme for
brokkai/mjolnir.