{"_id":"@anupam-io/hive","name":"@anupam-io/hive","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@anupam-io/hive","version":"0.1.0","description":"Coding-agent fleet CLI — fire workers/qa from a GitHub issue against any repo. Runs on a local k8s sandbox.","publishConfig":{"access":"public"},"bin":{"hivectl":"bin/hivectl"},"engines":{"node":">=18"},"scripts":{"test":"bash bin/hivectl help >/dev/null"},"keywords":["claude-code","agents","coding-agent","kubernetes","github-issues","fleet"],"author":{"name":"Anupam Kumar","email":"anupamkumar19990505@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/anupam-io/hive.git"},"gitHead":"5576cc6a003080a1241278e151c7bb78f99d586d","_id":"@anupam-io/hive@0.1.0","bugs":{"url":"https://github.com/anupam-io/hive/issues"},"homepage":"https://github.com/anupam-io/hive#readme","_nodeVersion":"26.3.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-J1pr8IBZK2g2qfS4s59BB/cUXJlqpWzcMBMSNGYkPqV/siHRHw5EARmPng7D0rZPdjxr+YnSBeSXoopSuHE6wA==","shasum":"a4a953191cfc5ec8f8487766c306f176c322f047","tarball":"https://registry.npmjs.org/@anupam-io/hive/-/hive-0.1.0.tgz","fileCount":67,"unpackedSize":397772,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICIIkFyFcU1zE2+p6xFUY5rI53lnh7l00JhY+fsFe5YxAiAgax81rNeN2jbiOB/AqxMFH/T98YP4riMgxvUvznTd/g=="}]},"_npmUser":{"name":"akcgjc007","email":"akcgjc007@gmail.com"},"directories":{},"maintainers":[{"name":"akcgjc007","email":"akcgjc007@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hive_0.1.0_1782036506858_0.42463139049012555"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-21T10:08:26.731Z","0.1.0":"2026-06-21T10:08:27.029Z","modified":"2026-06-21T10:08:27.271Z"},"maintainers":[{"name":"akcgjc007","email":"akcgjc007@gmail.com"}],"description":"Coding-agent fleet CLI — fire workers/qa from a GitHub issue against any repo. Runs on a local k8s sandbox.","homepage":"https://github.com/anupam-io/hive#readme","keywords":["claude-code","agents","coding-agent","kubernetes","github-issues","fleet"],"repository":{"type":"git","url":"git+https://github.com/anupam-io/hive.git"},"author":{"name":"Anupam Kumar","email":"anupamkumar19990505@gmail.com"},"bugs":{"url":"https://github.com/anupam-io/hive/issues"},"license":"MIT","readme":"# hive\n\nA one-shot coding-agent fleet. You point `hivectl` at a GitHub issue, and it\nruns Claude Code in a throwaway Kubernetes pod that opens a pull request. It's\n**per-project**: you run `hivectl` inside an app repo and everything it creates\n(pods, secrets, logs) is scoped to that project, so one cluster can host fleets\nfor many repos at once.\n\nThe tracker is **GitHub Issues in the same repo as the code** — no separate\nticket system. Each issue carries a `## Definition of Done` checklist and a\n`## Plan`; the fleet treats those as the authoritative success criteria.\n\n## How it works\n\nThree roles, two of them ephemeral pods, all driven by one loop:\n\n```mermaid\nflowchart TD\n    you([you]) <-->|issues · approvals · merges| driver\n\n    driver[[\"driver — opus 4.8<br/>long-running orchestrator · human-in-the-loop\"]]\n\n    driver -->|1 · fire a worker on a ready issue| worker\n    worker[\"worker — sonnet · ephemeral pod<br/>mode: feature-implementation · bug-fix · improvement · research\"]\n    worker -->|2 · writes code, self-reviews in the same pod, opens a PR| driver\n    driver -->|3 · merges the PR once the self-review passed| shipped([shipped to main])\n    driver -->|4 · fire qa against the live app| qa\n    qa[\"qa — sonnet · ephemeral pod<br/>drives the running app, never reads source\"]\n    qa -->|5 · files qa-feedback issues| driver\n    driver -.->|loop · re-fire a worker to fix| worker\n```\n\n- **driver** — a long-running Claude Code session on your machine (Opus 4.8),\n  with you in the loop. It plans issues, fires workers and qa, reads the\n  verdicts, merges the PRs, and course-corrects. It never writes app code.\n- **worker** — an ephemeral pod (Sonnet) that does the actual work in one of\n  four modes. It writes the code, **self-reviews inside the same pod** against\n  the Definition of Done (a fresh-context grade that returns `PASS` or\n  `CHANGES_REQUESTED`), and opens the PR. On `PASS` the driver merges; on\n  `CHANGES_REQUESTED` the driver re-fires a worker. The pod exits when done.\n- **qa** — an ephemeral pod (Sonnet) that drives the **running app** from the\n  outside. It never clones or reads the source; it files `type:qa-feedback`\n  issues, which feed straight back into the loop as new work.\n\n### Worker modes\n\n`hivectl fire <ISSUE> --type=<T>` picks the worker's mode:\n\n| `--type` | What it does |\n|---|---|\n| `feature-implementation` | Build a new capability from the issue's Plan + DoD. |\n| `bug-fix` | Reproduce, fix the root cause, prove it with the DoD checklist. |\n| `improvement` | Refactor / harden / tidy without changing behavior. |\n| `research` | Produce a findings document — no code. |\n\nThe target repo owns the per-type playbooks (`<app>/.claude/skills/<TYPE>/`)\nand per-repo rules (`<app>/.claude/CLAUDE.md`); the pod auto-loads them.\n\n## Requirements\n\nHost CLIs (run `hivectl doctor` to check): `kubectl`, `docker`, `jq`, `yq`,\n`gh`, `envsubst` (gettext), `claude` (Claude Code). For the local cluster on\nmacOS: `minikube` + `vfkit`.\n\n## Install\n\n```bash\nnpm i -g @anupam/hive   # installs the `hivectl` command\n```\n\n## Quickstart\n\n```bash\n# one-time, per machine\nhivectl bootstrap                 # doctor → local-cluster-up → setup\n\n# one-time, per project\ncd ~/my-app\nhivectl init                      # scaffold .hive/config.yaml\nhivectl labels sync               # push status:*/type:* labels into the repo\nhivectl agent-setup               # build the pod image + create the creds secret\n\n# fire the fleet\nhivectl fire 42 --type=feature-implementation\nhivectl tail 42                   # live-tail the pod\nhivectl merge 42                  # merge issue #42's reviewed PR\nhivectl qa --url=http://web.my-app.svc.cluster.local:3000 --target=42\n\n# orchestrate hands-off\nhivectl driver                    # opens the driver session in this repo\n```\n\n## Command reference\n\nRun `hivectl help` for the full list. The essentials:\n\n| Command | What |\n|---|---|\n| `fire <ISSUE> --type=<T>` | Fire a worker against a GitHub issue. |\n| `qa --url=<U> [--target=<ISSUE>]` | Fire a qa agent against a deployed URL. |\n| `merge <ISSUE>` | Merge the issue's reviewed PR (refuses unless `status:in-review`). |\n| `status <ISSUE> <STATUS>` | Set the issue's `status:*` label (enforces the mutex). |\n| `driver` | Open the local driver (orchestrator) session. |\n| `tail` / `logs` / `metrics` / `ui` | Watch pods, list runs, cost table, analytics UI. |\n| `expose` | Port-forward prometheus + headlamp + the app and start the UI (one process). |\n| `init` / `config` / `labels` / `gc` | Per-project setup + housekeeping. |\n| `bootstrap` / `doctor` / `setup` / `agent-setup` | One-time infra setup. |\n| `local-cluster-up` / `local-cluster-down` | Local cluster lifecycle (macOS). |\n| `version` / `root` / `help` | Misc. |\n\n## Architecture\n\nThe deep design — labels, the Definition-of-Done gate, the in-pod review\ncontract, the per-fire spend caps, the cluster layout — lives in\n[`.claude/CLAUDE.md`](.claude/CLAUDE.md), with a browsable version under\n[`docs/`](docs/index.html).\n","readmeFilename":"README.md","_rev":"1-ba128a5cf22503c60105f4c6aa9460b1"}