{"id":51134338,"url":"https://github.com/the-open-engine/zeroshot","last_synced_at":"2026-06-28T13:00:46.176Z","repository":{"id":330622663,"uuid":"1122859216","full_name":"the-open-engine/zeroshot","owner":"the-open-engine","description":"Your autonomous engineering team in a CLI. The agent loop produces senior-level code that you can actually trust in prod because of non-negotiable feedback from independent reviewers. Supports Claude Code, OpenAI Codex, OpenCode, and Gemini CLI with trivial setup.","archived":false,"fork":false,"pushed_at":"2026-06-22T20:33:06.000Z","size":26902,"stargazers_count":1543,"open_issues_count":49,"forks_count":132,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-06-22T22:18:04.354Z","etag":null,"topics":["agent-orchestration","agentic-workflow","ai-agent","ai-agents","autonomous-agents","claude","cli","codex","coding-assistant","developer-tools","gemini","generative-ai","github-automation","llm","llm-ops","llm-tools","multi-agent","vibecoding"],"latest_commit_sha":null,"homepage":"https://www.theopenengine.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/the-open-engine.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-25T17:12:45.000Z","updated_at":"2026-06-22T21:36:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/the-open-engine/zeroshot","commit_stats":null,"previous_names":["covibes/zeroshot","the-open-engine/zeroshot"],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/the-open-engine/zeroshot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-open-engine%2Fzeroshot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-open-engine%2Fzeroshot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-open-engine%2Fzeroshot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-open-engine%2Fzeroshot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/the-open-engine","download_url":"https://codeload.github.com/the-open-engine/zeroshot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-open-engine%2Fzeroshot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34889047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-orchestration","agentic-workflow","ai-agent","ai-agents","autonomous-agents","claude","cli","codex","coding-assistant","developer-tools","gemini","generative-ai","github-automation","llm","llm-ops","llm-tools","multi-agent","vibecoding"],"created_at":"2026-06-25T16:00:24.105Z","updated_at":"2026-06-28T13:00:46.163Z","avatar_url":"https://github.com/the-open-engine.png","language":"JavaScript","funding_links":[],"categories":["Software Development","JavaScript"],"sub_categories":[],"readme":"# zeroshot CLI\n\n\u003e **🎉 New in v5.4:** Now supports **OpenCode** CLI! Use Claude, Codex, Gemini, or OpenCode as your AI provider. Also supports **GitHub, GitLab, Jira, and Azure DevOps** as issue backends. See [Providers](#providers) and [Multi-Platform Issue Support](#multi-platform-issue-support).\n\n\u003c!-- install-placeholder --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ccode\u003enpm install -g @the-open-engine/zeroshot\u003c/code\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/assets/zeroshot-demo.gif\" alt=\"Demo\" width=\"700\"\u003e\n  \u003cbr\u003e\n  \u003cem\u003eDemo (100x speed, 90-minute run, 5 iterations to approval)\u003c/em\u003e\n\u003c/p\u003e\n\n[![CI](https://github.com/the-open-engine/zeroshot/actions/workflows/ci.yml/badge.svg)](https://github.com/the-open-engine/zeroshot/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/@the-open-engine/zeroshot.svg)](https://www.npmjs.com/package/@the-open-engine/zeroshot)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Node 18+](https://img.shields.io/badge/node-18%2B-brightgreen.svg)](https://nodejs.org/)\n![Platform: Linux | macOS](https://img.shields.io/badge/platform-Linux%20%7C%20macOS-blue.svg)\n\n\u003c!-- discord-placeholder --\u003e\n\n[![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord\u0026logoColor=white)](https://discord.gg/PdZ3UEXB)\n\nZeroshot is an open-source AI coding agent orchestration CLI that runs multi-agent workflows to autonomously implement, review, test, and verify code changes.\n\nIt runs a **planner**, an **implementer**, and independent **validators** in isolated environments, looping until changes are **verified** or **rejected** with actionable, reproducible failures.\n\nBuilt for tasks where correctness matters more than speed.\n\n## How It Works\n\n- Plan: translate a task into concrete acceptance criteria\n- Implement: make changes in an isolated workspace (local, worktree, or Docker)\n- Validate: run automated checks with independent validators\n- Iterate: repeat until verified, or return actionable failures\n- Resume: crash-safe state persisted for recovery\n\n## Quick Start\n\n```bash\nzeroshot run 123                    # GitHub issue number\nzeroshot run feature.md             # Markdown file\nzeroshot run \"Add dark mode\"        # Inline text\n```\n\nOr describe a complex task inline:\n\n```bash\nzeroshot run \"Add optimistic locking with automatic retry: when updating a user,\nretry with exponential backoff up to 3 times, merge non-conflicting field changes,\nand surface conflicts with details. Handle the ABA problem where version goes A-\u003eB-\u003eA.\"\n```\n\n## Why Not Just Use a Single AI Agent?\n\n| Approach                   | Writes Code | Runs Tests | Blind Validation | Iterates Until Verified |\n| -------------------------- | ----------- | ---------- | ---------------- | ----------------------- |\n| Chat-based assistant       | ✅          | ⚠️         | ❌               | ❌                      |\n| Single coding agent        | ✅          | ⚠️         | ❌               | ⚠️                      |\n| **Zeroshot (multi-agent)** | ✅          | ✅         | ✅               | ✅                      |\n\n## Use Cases\n\n- Autonomous AI code refactoring\n- AI-powered pull request automation\n- Automated bug fixing with validation\n- Multi-agent code generation for software engineering\n- Agentic coding workflows with blind validation\n\n## Who Is This For?\n\n- Senior engineers who care about correctness and reproducibility\n- Teams automating PR workflows and code review gates\n- Infra/platform teams standardizing agentic workflows\n- Open-source maintainers working through issue backlogs\n- AI power users who want verification, not vibes\n\n## Install and Requirements\n\n**Platforms**: Linux, macOS. Windows (native/WSL) is deferred while we harden reliability and multi-provider correctness.\n\n```bash\nnpm install -g @the-open-engine/zeroshot\n```\n\n**Requires**: Node 18+, at least one provider CLI (Claude Code, Codex, Gemini, Opencode).\n\n```bash\n# Install one or more providers\nnpm i -g @anthropic-ai/claude-code\nnpm i -g @openai/codex\nnpm i -g @google/gemini-cli\n# Opencode: see https://opencode.ai\n\n# Authenticate with the provider CLI\nclaude login        # Claude\ncodex login         # Codex\ngemini auth login   # Gemini\nopencode auth login # Opencode\n\n# GitHub auth (for issue numbers)\ngh auth login\n```\n\n## Providers\n\nZeroshot shells out to provider CLIs. Pick a default and override per run:\n\n```bash\nzeroshot providers\nzeroshot providers set-default codex\nzeroshot run 123 --provider gemini\n```\n\nSee `docs/providers.md` for setup, model levels, and Docker mounts.\nSee `docs/provider-cli-helper.md` for the strict TypeScript provider helper,\nthe `zeroshot-agent-provider` JSON executable contract, and the boundary with\nOrchestra.\n\n## Why Multiple Agents?\n\nSingle-agent sessions degrade. Context gets buried under thousands of tokens. The model optimizes for \"done\" over \"correct.\"\n\nZeroshot fixes this with isolated agents that check each other's work. Validators can't lie about code they didn't write. Fail the check? Fix and retry until it actually works.\n\n## What Makes It Different\n\n- **Blind validation** - Validators never see the worker's context or code history\n- **Repeatable workflows** - Task complexity determines agent count and model selection\n- **Accept/reject loop** - Rejections include actionable findings, not vague complaints\n- **Crash recovery** - All state persisted to SQLite; resume anytime\n- **Isolation modes** - None, git worktree, or Docker container\n- **Cost control** - Model ceilings prevent runaway API spend\n\n## Required Handoff Quality Gates\n\nZeroshot owns a tool-neutral handoff contract for `--pr` and `--ship` flows. It does not know which tool produced a gate. Repos configure required gates, validators publish matching `qualityGates` evidence, and the git-pusher trigger refuses to wake until every configured gate has fresh passing evidence after `IMPLEMENTATION_READY`.\n\nGate config can come from run options or repo settings:\n\n```json\n{\n  \"ship\": {\n    \"requiredQualityGates\": [\n      {\n        \"id\": \"repo-quality\",\n        \"scope\": \"repo\",\n        \"description\": \"Repository quality gate\",\n        \"command\": \"repo-quality --changed --json\"\n      }\n    ]\n  }\n}\n```\n\nThe `id` and optional `scope` are generic. A repo may bind `repo-quality` to any local quality command, a CI status command, or another quality command outside Zeroshot. Validators receive the configured gate list and must publish entries with `status`, `completedAt` or `timestamp`, and `evidence.command`, `evidence.exitCode`, and string `evidence.output`. Failing or unavailable commands mean `approved: false` with gate status `FAIL` or `UNAVAILABLE`.\n\nThe pusher fails closed before commit, push, PR creation, or merge when a configured gate is missing, failing, unavailable, stale, older than `IMPLEMENTATION_READY`, or lacks usable evidence. If no `requiredQualityGates` are configured, Zeroshot preserves its existing validator consensus behavior.\n\n## Cmdproof Command Reuse\n\nClusters can make expensive exact commands reusable across workers and validators with `cmdproof`. Zeroshot does not intercept arbitrary shell commands; it gives agents a cluster-scoped helper for configured command proofs.\n\nIssue bodies can opt in per run:\n\n````markdown\n```zeroshot-command-proofs\n[\n  {\n    \"id\": \"repo-ci\",\n    \"profile\": \"ci-equivalent\",\n    \"scope\": \"repo\",\n    \"description\": \"Repository local CI-equivalent gate\",\n    \"command\": \"bash ./scripts/ci/run-local-ci-equivalent.sh\"\n  }\n]\n```\n````\n\nRepos can also configure the same commands in `.zeroshot/settings.json`:\n\n```json\n{\n  \"ship\": {\n    \"commandProofs\": [\n      {\n        \"id\": \"repo-ci\",\n        \"profile\": \"ci-equivalent\",\n        \"scope\": \"repo\",\n        \"description\": \"Repository local CI-equivalent gate\",\n        \"command\": \"bash ./scripts/ci/run-local-ci-equivalent.sh\"\n      }\n    ]\n  }\n}\n```\n\nAgents receive instructions to use:\n\n```bash\nzeroshot cmdproof check repo-ci\n```\n\nThe helper uses a cluster-local cache and trusted-agent key under `~/.zeroshot/cmdproof/\u003ccluster-id\u003e/`, runs `cmdproof verify` first, and falls back to `cmdproof prove --fallback run` on misses. In `--ship` flows, configured command proofs are also required handoff quality gates.\n\n## When to Use Zeroshot\n\nZeroshot performs best when tasks have clear acceptance criteria.\n\n| Scenario                                        | Use | Why                       |\n| ----------------------------------------------- | --- | ------------------------- |\n| Add rate limiting (sliding window, per-IP, 429) | Yes | Clear requirements        |\n| Refactor auth to JWT                            | Yes | Defined end state         |\n| Fix login bug                                   | Yes | Success is measurable     |\n| Fix 2410 lint violations                        | Yes | Clear completion criteria |\n| Make the app faster                             | No  | Needs exploration first   |\n| Improve the codebase                            | No  | No acceptance criteria    |\n| Figure out flaky tests                          | No  | Exploratory               |\n\nRule of thumb: if you cannot describe what \"done\" means, validators cannot verify it.\n\n## Command Overview\n\n```bash\n# Run\nzeroshot run 123                      # GitHub issue\nzeroshot run feature.md               # Markdown file\nzeroshot run \"Add dark mode\"          # Inline text\n\n# Isolation\nzeroshot run 123 --worktree       # git worktree\nzeroshot run 123 --docker         # container\n\n# Automation (--ship implies --pr implies --worktree)\nzeroshot run 123 --pr             # worktree + create PR\nzeroshot run 123 --ship           # PR + auto-merge on approval\n\n# Background mode\nzeroshot run 123 -d\nzeroshot run 123 --ship -d\n\n# Control\nzeroshot list\nzeroshot status \u003cid\u003e\nzeroshot logs \u003cid\u003e -f\nzeroshot resume \u003cid\u003e\nzeroshot stop \u003cid\u003e\nzeroshot kill \u003cid\u003e\n\n# Providers\nzeroshot providers\nzeroshot providers set-default codex\n\n# Agent library\nzeroshot agents list\nzeroshot agents show \u003cname\u003e\n\n# Maintenance\nzeroshot clean\nzeroshot purge\n```\n\n## Multi-Platform Issue Support\n\nZeroshot works with **GitHub, GitLab, Jira, and Azure DevOps**. Just paste the issue URL or key.\nWhen working in a git repository, zeroshot automatically detects the issue provider from your git remote URL. No configuration needed!\n\n```bash\n# GitHub\nzeroshot run 123\nzeroshot run https://github.com/org/repo/issues/123\n\n# GitLab (cloud and self-hosted)\nzeroshot run https://gitlab.com/org/repo/-/issues/456\nzeroshot run https://gitlab.mycompany.com/org/repo/-/issues/789\n\n# Jira\nzeroshot run PROJ-789\nzeroshot run https://company.atlassian.net/browse/PROJ-789\n\n# Azure DevOps\nzeroshot run https://dev.azure.com/org/project/_workitems/edit/999\n```\n\n**Requires**: CLI tools ([`gh`](https://cli.github.com/), [`glab`](https://gitlab.com/gitlab-org/cli), [`jira`](https://github.com/go-jira/jira), or [`az`](https://docs.microsoft.com/cli/azure/)) for the platform you use. See [issue-providers README](src/issue-providers/README.md) for setup and self-hosted instances.\n\n**Important for `--pr` mode**: Run zeroshot from the target repository directory. PRs are created on the git remote of your current directory. If you run from a different repo, zeroshot will warn you and skip the \"Closes #X\" reference (the PR is still created, but won't auto-close the issue).\n\n## Architecture\n\nZeroshot is a message-driven coordination layer with smart defaults.\n\n- The conductor classifies tasks by complexity and type.\n- A workflow template selects agents and validators.\n- Agents publish results to a SQLite ledger.\n- Validators approve or reject with specific findings.\n- Rejections route back to the worker for fixes.\n\n```\n                                ┌─────────────────┐\n                                │      TASK       │\n                                └────────┬────────┘\n                                         │\n                                         ▼\n                ┌────────────────────────────────────────────┐\n                │                 CONDUCTOR                  │\n                │     Complexity × TaskType → Workflow       │\n                └────────────────────────┬───────────────────┘\n                                         │\n           ┌─────────────────────────────┼─────────────────────────────┐\n           │                             │                             │\n           ▼                             ▼                             ▼\n     ┌───────────┐                ┌───────────┐                ┌───────────┐\n     │  TRIVIAL  │                │  SIMPLE   │                │ STANDARD+ │\n     │  1 agent  │──────────▶     │  worker   │                │ planner   │\n     │ (level1)  │  COMPLETE      │ + 1 valid.│                │ + worker  │\n     │ no valid. │                └─────┬─────┘                │ + 3-5 val.│\n     └───────────┘                      │                      └─────┬─────┘\n                                        ▼                            │\n                                 ┌─────────────┐                     ▼\n                             ┌──▶│   WORKER    │             ┌─────────────┐\n                             │   └──────┬──────┘             │   PLANNER   │\n                             │          │                    └──────┬──────┘\n                             │          ▼                           │\n                             │   ┌─────────────────────┐            ▼\n                             │   │ ✓ validator         │     ┌─────────────┐\n                             │   │   (generic check)   │ ┌──▶│   WORKER    │\n                             │   └──────────┬──────────┘ │   └──────┬──────┘\n                             │       REJECT │ ALL OK     │          │\n                             └──────────────┘     │      │          ▼\n                                                  │      │   ┌──────────────────────┐\n                                                  │      │   │ ✓ requirements       │\n                                                  │      │   │ ✓ code (STANDARD+)   │\n                                                  │      │   │ ✓ security (CRIT)    │\n                                                  │      │   │ ✓ tester (CRIT)      │\n                                                  │      │   │ ✓ adversarial        │\n                                                  │      │   │   (real execution)   │\n                                                  │      │   └──────────┬───────────┘\n                                                  │      │       REJECT │ ALL OK\n                                                  │      └──────────────┘     │\n                                                  ▼                           ▼\n     ┌─────────────────────────────────────────────────────────────────────────────┐\n     │                                COMPLETE                                     │\n     └─────────────────────────────────────────────────────────────────────────────┘\n```\n\n### Complexity Model\n\n| Task                   | Complexity | Agents | Validators                                        |\n| ---------------------- | ---------- | ------ | ------------------------------------------------- |\n| Fix typo in README     | TRIVIAL    | 1      | None                                              |\n| Add dark mode toggle   | SIMPLE     | 2      | Generic validator                                 |\n| Refactor auth system   | STANDARD   | 4      | Requirements, code                                |\n| Implement payment flow | CRITICAL   | 7      | Requirements, code, security, tester, adversarial |\n\n### Model Selection by Complexity\n\n| Complexity | Planner | Worker | Validators |\n| ---------- | ------- | ------ | ---------- |\n| TRIVIAL    | -       | level1 | -          |\n| SIMPLE     | -       | level2 | 1 (level2) |\n| STANDARD   | level2  | level2 | 2 (level2) |\n| CRITICAL   | level3  | level2 | 5 (level2) |\n\nLevels map to provider-specific models. Configure with `zeroshot providers setup \u003cprovider\u003e` or\n`settings.providerSettings`. (Legacy `maxModel` applies to Claude only.)\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCustom Workflows (Framework Mode)\u003c/strong\u003e\u003c/summary\u003e\n\nZeroshot is message-driven, so you can define any agent topology.\n\n- Expert panels: parallel specialists -\u003e aggregator -\u003e decision\n- Staged gates: sequential validators, each with veto power\n- Hierarchical: supervisor dynamically spawns workers\n- Dynamic: conductor adds agents mid-execution\n\n**Coordination primitives:**\n\n- Message bus (pub/sub topics)\n- Triggers (wake agents on conditions)\n- Ledger (SQLite, crash recovery)\n- Dynamic spawning (CLUSTER_OPERATIONS)\n\n#### Creating Custom Clusters with a Provider CLI\n\nStart your provider CLI and describe your cluster:\n\n```\nCreate a zeroshot cluster config for security-critical features:\n\n1. Implementation agent (level2) implements the feature\n2. FOUR parallel validators:\n   - Security validator: OWASP checks, SQL injection, XSS, CSRF\n   - Performance validator: No N+1 queries, proper indexing\n   - Privacy validator: GDPR compliance, data minimization\n   - Code reviewer: General code quality\n\n3. ALL validators must approve before merge\n4. If ANY validator rejects, implementation agent fixes and resubmits\n5. Use level3 for security validator (highest stakes)\n\nLook at cluster-templates/base-templates/full-workflow.json\nand create a similar cluster. Save to cluster-templates/security-review.json\n```\n\nBuilt-in validation checks for missing triggers, deadlocks, and invalid type wiring before running.\n\nSee [CLAUDE.md](./CLAUDE.md) for the cluster schema and examples.\n\n\u003c/details\u003e\n\n## Crash Recovery\n\nAll state is persisted in the SQLite ledger. You can resume at any time:\n\n```bash\nzeroshot resume cluster-bold-panther\n```\n\n## Isolation Modes\n\n### Git Worktree (Default for --pr/--ship)\n\n```bash\nzeroshot run 123 --worktree\n```\n\nLightweight isolation using git worktree. Creates a separate working directory with its own branch. Auto-enabled with `--pr` and `--ship`.\n\n### Docker Container\n\n```bash\nzeroshot run 123 --docker\n```\n\nFull isolation in a fresh container. Your workspace stays untouched. Useful for risky experiments or parallel runs.\n\n### When to Use Which\n\n| Scenario                             | Recommended            |\n| ------------------------------------ | ---------------------- |\n| Quick task, review changes yourself  | No isolation (default) |\n| PR workflow, code review             | `--worktree` or `--pr` |\n| Risky experiment, might break things | `--docker`             |\n| Running multiple tasks in parallel   | `--docker`             |\n| Full automation, no review needed    | `--ship`               |\n\n**Default behavior:** Agents modify files only; they do not commit or push unless using an isolation mode that explicitly allows it.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDocker Credential Mounts\u003c/strong\u003e\u003c/summary\u003e\n\nWhen using `--docker`, zeroshot mounts credential directories so agents can access provider CLIs and tools like AWS, Azure, and kubectl.\n\n**Default mounts**: `gh`, `git`, `ssh` (GitHub CLI, git config, SSH keys)\n\n**Available presets**: `gh`, `git`, `ssh`, `aws`, `azure`, `kube`, `terraform`, `gcloud`, `claude`, `codex`, `gemini`\n\n```bash\n# Configure via settings (persistent)\nzeroshot settings set dockerMounts '[\"gh\", \"git\", \"ssh\", \"aws\", \"azure\"]'\n\n# View current config\nzeroshot settings get dockerMounts\n\n# Per-run override\nzeroshot run 123 --docker --mount ~/.aws:/root/.aws:ro\n\n# Provider credentials\nzeroshot run 123 --docker --mount ~/.config/codex:/home/node/.config/codex:ro\nzeroshot run 123 --docker --mount ~/.config/gemini:/home/node/.config/gemini:ro\n\n# Disable all mounts\nzeroshot run 123 --docker --no-mounts\n\n# CI: env var override\nZEROSHOT_DOCKER_MOUNTS='[\"aws\",\"azure\"]' zeroshot run 123 --docker\n```\n\nSee `docs/providers.md` for provider CLI setup and mount details.\n\n**Custom mounts** (mix presets with explicit paths):\n\n```bash\nzeroshot settings set dockerMounts '[\n  \"gh\",\n  \"git\",\n  {\"host\": \"~/.myconfig\", \"container\": \"$HOME/.myconfig\", \"readonly\": true}\n]'\n```\n\n**Container home**: Presets use `$HOME` placeholder. Default: `/root`. Override with:\n\n```bash\nzeroshot settings set dockerContainerHome '/home/node'\n# Or per-run:\nzeroshot run 123 --docker --container-home /home/node\n```\n\n**Env var passthrough**: Presets auto-pass related env vars (for example, `aws` -\u003e `AWS_REGION`, `AWS_PROFILE`). Add custom:\n\n```bash\nzeroshot settings set dockerEnvPassthrough '[\"MY_API_KEY\", \"TF_VAR_*\"]'\n```\n\n\u003c/details\u003e\n\n## Resources\n\n- [CLAUDE.md](./CLAUDE.md) - Architecture, cluster config schema, agent primitives\n- `docs/providers.md` - Provider setup, model levels, and Docker mounts\n- `docs/context-management.md` - Context selection, context packs, and state snapshots\n- [Discord](https://discord.gg/PdZ3UEXB) - Support and community\n- `zeroshot export \u003cid\u003e` - Export conversation to markdown\n- `sqlite3 ~/.zeroshot/*.db` - Direct ledger access for debugging\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eTroubleshooting\u003c/strong\u003e\u003c/summary\u003e\n\n| Issue                         | Fix                                                                                       |\n| ----------------------------- | ----------------------------------------------------------------------------------------- |\n| `claude: command not found`   | `npm i -g @anthropic-ai/claude-code \u0026\u0026 claude auth login`                                 |\n| `codex: command not found`    | `npm i -g @openai/codex \u0026\u0026 codex login`                                                   |\n| `gemini: command not found`   | `npm i -g @google/gemini-cli \u0026\u0026 gemini auth login`                                        |\n| `gh: command not found`       | [Install GitHub CLI](https://cli.github.com/)                                             |\n| `--docker` fails              | Docker must be running: `docker ps` to verify                                             |\n| Cluster stuck                 | `zeroshot resume \u003cid\u003e` to continue                                                        |\n| Agent keeps failing           | Check `zeroshot logs \u003cid\u003e` for actual error                                               |\n| `zeroshot: command not found` | `npm install -g @the-open-engine/zeroshot`                                                |\n| Agents misbehave              | `/analyze-cluster-postmortem \u003cid\u003e` in Claude Code (creates issue if fix is generalizable) |\n\n\u003c/details\u003e\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.\n\nPlease read [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) before participating.\n\nFor security issues, see [SECURITY.md](SECURITY.md).\n\n## TUI\n\nThe TUI is not included in this release. Use `zeroshot logs -f`, `zeroshot logs -w`,\n`zeroshot list`, and `zeroshot status \u003cid\u003e` for monitoring.\n\n---\n\nMIT - [The Open Engine Company](https://github.com/the-open-engine)\n\nBuilt on [Claude Code](https://claude.com/product/claude-code) by Anthropic.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe-open-engine%2Fzeroshot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthe-open-engine%2Fzeroshot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe-open-engine%2Fzeroshot/lists"}