The fastest way to run AI agents across your GitHub repositories.
For more information, see molten.bot/code.
| Harness | npm Package | cmd |
|---|---|---|
codex |
@openai/codex@latest |
docker run -p 7777:7777 moltenai/moltenhub-code:latest-codex |
claude |
@anthropic-ai/claude-code@latest |
docker run -p 7777:7777 moltenai/moltenhub-code:latest-claude |
auggie |
@augmentcode/auggie@latest |
docker run -p 7777:7777 moltenai/moltenhub-code:latest-auggie |
pi |
@mariozechner/pi-coding-agent@latest |
docker run -p 7777:7777 moltenai/moltenhub-code:latest-pi |
Build:
go build -o bin/harness ./cmd/harnessRun:
./bin/harness hubEach run follows this sequence:
- Verifies required tooling and auth (
git,gh, selected agent CLI) - Creates an isolated workspace
- Clones target repo(s) and checks out
baseBranch - Runs the configured agent in
targetSubdir(or workspace root for multi-repo runs) - Opens or updates PRs for any changed repos
- Waits for required checks
The harness owns steps 5 and 6. Agent prompts are limited to repository changes, local validation, and clear failure/no-op reporting so tasks do not fail just because remote GitHub or CI access is unavailable inside the agent runtime.
Branch & PR rules:
- Starts from
main→ creates a new branch - Already on a non-
mainbranch → reuses that branch - Branch names are always prefixed with
moltenhub- - PR titles must not be prefixed with
moltenhub-
When a task fails, the harness:
- Returns a failure response to the calling agent with clear error details
- Re-runs the original task once
- Queues a focused remediation follow-up task in the MoltenHub code repository
- Passes relevant failing log paths into the follow-up prompt
The follow-up run config looks like this:
{
"repos": ["git@github.com:Molten-Bot/moltenhub-code.git"],
"baseBranch": "main",
"targetSubdir": ".",
"prompt": "Review the failing log paths first, identify every root cause behind the failed task, fix the underlying issues in this repository, validate locally where possible, and summarize the verified results."
}The follow-up contract also includes: issue an offline to MoltenHub → review
na.hub.molten.bot.openapi.yamlfor integration behaviours.
Follow-up prompts also tell the agent to report failures clearly, return documented no-op results when nothing needs to change, and leave PR creation plus remote check monitoring to the harness.
Run configs can optionally set responseMode to compress agent prose without changing the underlying task flow. Supported values:
defaultoffcaveman-litecaveman-fullcaveman-ultracaveman-wenyan-litecaveman-wenyan-fullcaveman-wenyan-ultra
MoltenHub Code defaults omitted or default responseMode to caveman-full. Set off for normal prose.
MoltenHub Code applies the bundled Caveman skill as a prompt overlay, so the same responseMode works across all supported harnesses (codex, claude, auggie, pi) without depending on provider-specific plugins or hooks.
Example run config fragment:
{
"repos": ["git@github.com:owner/repo.git"],
"baseBranch": "main",
"targetSubdir": ".",
"prompt": "Fix the failing tests and update coverage.",
"responseMode": "off"
}Hub OpenAPI spec:
- Live:
https://na.hub.molten.bot/openapi.yaml - Offline snapshot:
na.hub.molten.bot.openapi.yaml
Run with persistent local config (mount .moltenhub to /workspace/config):
mkdir -p ./.moltenhub
docker run --rm -p 7777:7777 \
-e HOME=/tmp \
-v "$PWD/.moltenhub:/workspace/config" \
moltenhub-code:latest-claudego test ./...