Definition
Pipelines as real code
Starlark gives you functions, loops and reusable modules while evaluation stays deterministic and reviewable beside the repository.
Hive platform
Hive evaluates real pipeline code, schedules its DAG across the hardware you connect, keeps expensive inputs warm and exposes every run to people, scripts and agents through the same API.
The hosted control plane is operated in Germany. Your runners execute wherever you place them.
load("@hive//ci.star", "standard_ci")load("@hive//checks.star", "checks")IS_PR = ctx.event == "pull_request" # computed in the entrypoint, every runci_img = checks.ci_deps_image()fixer = autofix_step(target = "test", when = IS_PR) # dormant, PR-onlyhive.pipeline(**standard_ci( gate = checks.quality_gate(changed_files = ctx.changed_files, image_from = "ci-deps"), tests = backend_shards + ui_shards, extra = [rust_step, frontend_step], pr_only = [test_mobile, test_cli], # each built with `when = … and IS_PR` autofix = [fixer], images = [ci_img],))Check it before you push
hive check uploads a snapshot of your working tree and runs one step and its dependencies on the fleet.
It evaluates the pipeline from the snapshot’s own .hive tree, so a broken Starlark edit fails here before it is pushed anywhere. The run is labelled local: it never notifies, never triggers a fixer and never collides with a real run.
A red step prints its error and log tail in the terminal. It needs a reachable server, a token and a registered project — it is the gate, run early, not a local emulation of one.
$ hive check --step test-23 changed file(s) vs baserunning only: test-2 (+ deps)run #4821 started on your working tree (base 9f3c2ab)https://app.hiveci.io/runs/…run #4821 failed ── test-2 (failed) ──error: exit status 1log tail:FAILED orders/tests/test_total.py::test_order_total_includes_shipping1 failed, 1261 passed in 298.11sCI/CD core
The agent layer is the differentiator. The scheduler, execution and data plane underneath are the reason its fixes can be verified.
Definition
Starlark gives you functions, loops and reusable modules while evaluation stays deterministic and reviewable beside the repository.
Placement
Connect Linux, macOS, Windows or Kubernetes capacity. Labels, constraints, architectures, queues and caps shape placement.
GPU jobs
Connect your own GPU machines; the agent reports model, count and driver. A step declaring hive.resources(gpu=N) lands only on a node with that many free GPUs and, when it names a minimum CUDA version, a driver that supports it. GPU-only nodes take nothing else, and with no GPU free the task waits and says why.
Completion webhooks
Subscribe a URL per project or pipeline to succeeded, failed and cancelled runs. Each delivery is HMAC-SHA256 signed, carries the run and its artifact list, and is retried with backoff for up to a day; a stable delivery id lets the receiver drop duplicates.
Warm path
Fingerprint-keyed images, registry caches and template test databases reduce repeated setup across nodes and runs.
Evidence
Parsed reports, flaky-test history, step duration, queue wait, artifacts and logs accumulate without separate instrumentation.
Interfaces
Runs, logs, tests, fleet state and actions are first-class calls, so operators and agents do not scrape the UI.
Isolation
Identity, scoped tokens, queue policy, resource limits and guarded actions are enforced by the control plane around each workload.
Hybrid execution
The hosted product keeps the control plane out of your operations budget while leaving compute placement under your control.
Your runners
A pull-based agent joins a machine or VM to the scheduler. Compute on those runners is not billed by Hive.
Booster capacity
CPU-minute packs fund hosted execution when your own capacity is busy or the task needs a lane you do not operate.
Hosted control plane
Projects, pipelines, runs, logs, artifacts, agents and policy stay available without asking your team to run Hive itself.
Works with
Not a plugin marketplace to assemble. These are first-class in the pipeline language, with the caches, the report parsing and the integrations already done.
Languages
One line per lane in your pipeline, and the runner, the cache key and the report format come with it — not a shell script you maintain.
Results
Test output is parsed server-side, so a red run names the failing tests instead of handing you a log. Go streams natively; pytest and vitest stream through a one-line marker, so the pass/fail bar moves while the suite is still running. Flake and duration trends accumulate per test with nothing for you to instrument.
Build & ship
Images build on BuildKit against a registry-backed layer cache shared across nodes, then deploy with the rollout actually verified — including the GitOps commit that makes it survive a reconcile.
Where you work
Checks, statuses and PRs land in GitHub. Tickets move in Linear — an agent can take one and open the PR for it. And Hive exposes its own tools over MCP, so your agents can drive it directly.
Models
Agents authenticate as you — a Codex or Claude subscription, an OpenRouter key routing to whatever model you like, or Cursor. Spend is reported per session against your own account, at your provider’s rates.
Not on the list? Every step is a container running a command you choose, so anything that builds in CI builds here — Java, C++, Elixir, whatever you have. The names above are the ones Hive is optimised for, not the ones it is limited to.
Talks to what you run
What the platform enables
Self-healing CI
The run wakes a scoped agent; the resulting branch gate remains authoritative.
Explore the repair loopAgents
Workstation, cloud and Factory agents share the workspace around the pipeline.
Explore the agent platformPrivate beta
Start on your own runner, keep your existing CI beside it, and watch Hive turn the next eligible red check into a reviewable fix.