# Ihre Pipelines. Ihre Runner. Ein Control Plane.

> Hive wertet echten Pipeline-Code aus, plant den DAG über die verbundene Hardware, hält teure Inputs warm und öffnet jeden Run über dieselbe API für Menschen, Skripte und Agenten.

Source: https://hiveci.io/de/platform
Language: de
Alternate: https://hiveci.io/platform

Der gehostete Control Plane wird in Deutschland betrieben. Ihre Runner laufen dort, wo Sie sie platzieren.
```starlark
load("@hive//ci.star", "standard_ci")
load("@hive//checks.star", "checks")
IS_PR = ctx.event == "pull_request"          # computed in the entrypoint, every run
ci_img = checks.ci_deps_image()
fixer  = autofix_step(target = "test", when = IS_PR)     # dormant, PR-only
hive.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],
))
```
Eine vollständige Pipeline-Datei: das Gate, die Test-Shards, die Extras und ein ruhender Fixer, der nur bei einem Pull Request aufwacht.
## Das echte Gate, auf Ihrem uncommitteten Baum, ohne Commit.
hive check lädt einen Snapshot Ihres Arbeitsbaums hoch und führt einen Schritt samt Abhängigkeiten auf der Flotte aus.
Die Pipeline wird aus dem .hive-Baum des Snapshots ausgewertet, ein kaputter Starlark-Edit scheitert also hier, bevor er irgendwohin gepusht wird. Der Run ist als local markiert: Er benachrichtigt nie, weckt nie einen Fixer und kollidiert nie mit einem echten Run.
Ein roter Schritt gibt Fehler und Log-Ende im Terminal aus. Es braucht einen erreichbaren Server, ein Token und ein registriertes Projekt — es ist das Gate, früh ausgeführt, keine lokale Nachbildung davon.
```shell
$ hive check --step test-2
3 changed file(s) vs base
running 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 1
log tail:
FAILED orders/tests/test_total.py::test_order_total_includes_shipping
1 failed, 1261 passed in 298.11s
```
## Ein Build-System, das auch ohne Agenten bestehen kann.
Die Agentenschicht differenziert. Scheduler, Ausführung und Datenebene darunter machen ihre Fixes erst prüfbar.
- **Definition: Pipelines als echter Code** — Starlark liefert Funktionen, Schleifen und wiederverwendbare Module; die Auswertung bleibt deterministisch und neben dem Repository prüfbar.
- **Platzierung: Ausführen, wo die Arbeit passt** — Binden Sie Linux-, macOS-, Windows- oder Kubernetes-Kapazität an. Labels, Constraints, Architekturen, Queues und Limits steuern die Platzierung.
- **GPU-Jobs: GPU-Arbeit landet, wo der Node sie ausführen kann** — Binden Sie eigene GPU-Maschinen an; der Agent meldet Modell, Anzahl und Treiber. Ein Schritt mit hive.resources(gpu=N) landet nur auf einem Node mit so vielen freien GPUs und, wenn er eine Mindest-CUDA-Version nennt, mit einem Treiber, der sie unterstützt. Reine GPU-Nodes nehmen nichts anderes an; ist keine GPU frei, wartet der Task und nennt den Grund.
- **Abschluss-Webhooks: Ihre Anwendung erfährt, wann ein Run endet** — Abonnieren Sie eine URL je Projekt oder Pipeline für erfolgreiche, fehlgeschlagene und abgebrochene Runs. Jede Zustellung ist mit HMAC-SHA256 signiert, enthält den Run samt Artefaktliste und wird bis zu einen Tag lang mit Backoff wiederholt; eine stabile Delivery-ID lässt den Empfänger Duplikate verwerfen.
- **Warmer Pfad: Mit warmen Inputs starten** — Fingerprint-basierte Images, Registry-Caches und Template-Testdatenbanken reduzieren wiederholtes Setup über Nodes und Runs hinweg.
- **Belege: Tests und Zeiten werden Plattformdaten** — Geparste Reports, Flake-Historie, Step-Dauer, Queue-Wartezeit, Artefakte und Logs sammeln sich ohne separate Instrumentierung.
- **Schnittstellen: Eine Antwort in Web, CLI, API und MCP** — Runs, Logs, Tests, Flottenzustand und Aktionen sind erstklassige Aufrufe; Operatoren und Agenten müssen die UI nicht abgreifen.
- **Isolation: Tenant- und Lane-Grenzen bleiben ausdrücklich** — Identität, begrenzte Tokens, Queue-Richtlinie, Ressourcenlimits und bewachte Aktionen erzwingt der Control Plane um jeden Workload.
## Erst eigene Hardware. Bei Bedarf Kapazität mieten.
Das gehostete Produkt hält den Control Plane aus Ihrem Operations-Budget und lässt die Compute-Platzierung unter Ihrer Kontrolle.
- **Ihre Runner: Vorhandene Maschinen anbinden.** — Ein Pull-Agent verbindet Maschine oder VM mit dem Scheduler. Compute auf diesen Runnern berechnet Hive nicht.
- **Booster-Kapazität: Lastspitzen auf gemietete Hardware auslagern.** — CPU-Minuten-Pakete finanzieren gehostete Ausführung, wenn eigene Kapazität belegt ist oder eine besondere Lane fehlt.
- **Gehosteter Control Plane: Wir betreiben die Koordinationsebene.** — Projekte, Pipelines, Runs, Logs, Artefakte, Agenten und Richtlinien bleiben verfügbar, ohne dass Ihr Team Hive selbst betreiben muss.
## Alles dabei für den Stack, den Sie schon haben.
Kein Plugin-Marktplatz zum Zusammenbauen. Das hier ist erstklassig in der Pipeline-Sprache verankert — Caches, Auswertung der Testberichte und Integrationen sind bereits erledigt.
### Sprachen: Lint und Test, schon verdrahtet
Eine Zeile je Lane in Ihrer Pipeline, und Runner, Cache-Key und Berichtsformat kommen mit — kein Shell-Skript, das Sie pflegen müssen.
Python · pytest · ruff · uv · TypeScript · React · Vite · vitest · ESLint · pnpm · Rust · cargo · nextest · clippy · Go · Playwright
### Ergebnisse: Fehler als Daten, nicht als Scrollback
Testausgaben werden serverseitig geparst: Ein roter Run benennt die fehlgeschlagenen Tests, statt Ihnen ein Log hinzulegen. Go streamt nativ; pytest und vitest streamen über einen einzeiligen Marker, sodass sich der Grün/Rot-Balken bewegt, während die Suite noch läuft. Trends zu Instabilität und Laufzeit sammeln sich je Test von selbst an.
go test -json · JUnit XML · live markers · coverage.xml · ESLint JSON · ruff JSON
### Bauen & ausliefern: Vom Dockerfile bis zum Rollout
Images bauen auf BuildKit gegen einen knotenübergreifend geteilten Layer-Cache in der Registry und werden dann ausgerollt — mit tatsächlich geprüftem Rollout, inklusive des GitOps-Commits, der ihn eine Reconcile-Runde überleben lässt.
Docker · OCI · BuildKit · Kubernetes · ArgoCD · CycloneDX · Trivy
### Wo Sie arbeiten: Es lebt in Ihren Werkzeugen
Checks, Status und PRs landen in GitHub. Tickets bewegen sich in Linear — ein Agent kann eines übernehmen und den PR dazu öffnen. Und Hive stellt seine eigenen Werkzeuge über MCP bereit, sodass Ihre Agenten es direkt steuern.
GitHub · GitHub App · Linear · MCP · Starlark · PostgreSQL · S3
### Modelle: Ihr Key, Ihr Anbieter
Agenten authentifizieren sich als Sie — mit einem Codex- oder Claude-Abo, einem OpenRouter-Key auf ein Modell Ihrer Wahl oder mit Cursor. Die Kosten werden je Session gegen Ihr eigenes Konto ausgewiesen, zu den Preisen Ihres Anbieters.
OpenAI Codex · OpenRouter · Anthropic Claude · Cursor · GLM
Nicht dabei? Jeder Schritt ist ein Container, der einen Befehl Ihrer Wahl ausführt — was in irgendeiner CI baut, baut auch hier: Java, C++, Elixir, was auch immer Sie einsetzen. Die Namen oben sind die, für die Hive optimiert ist, nicht die, auf die es beschränkt wäre.
## Integrationen, die im Code existieren, beim Namen genannt.
| | |
|---|---|
| GitHub | Eine GitHub App: Tokens je Installation, Webhooks, Commit-Status, Check-Runs je Schritt, Pull-Request-Kommentare und natives Auto-Merge. |
| Linear | Eine Ticket-Lane für Agenten — übernehmen, beobachten, kommentieren, Status bewegen — plus der eigene Client der Factory. |
| Sentry | In beide Richtungen: Hive meldet eigene Fehler, vermittelt Sentry-Lesezugriffe an Agenten und legt aus Issues deduplizierte Tickets an. |
| Grafana | Ein Abfrage-Tool über die Flottenmetriken, für Menschen und für Agenten. |
| Kubernetes | Verwaltete Cluster als Ausführungsbasis, dazu eine Lese- und Aktions-Lane — Logs, Describe, Events, Skalieren, Neustart, Rollback — mit Änderungen als GitOps-Pull-Requests. |
| Registries und S3 | Container-Registries als Daten modelliert mit geteiltem Layer-Cache; Artefakte, Abhängigkeits-Caches und Log-Archive in S3-kompatiblem Objektspeicher. |
| Benachrichtigungen | ntfy und Discord-Webhooks, zugestellt über eine dauerhafte Outbox. |
## Von Orchestrierung zu einem Regelkreis, der auf eigene Belege reagieren kann.
- **Aus geeigneten roten Checks Kandidaten machen** — Der Run weckt einen begrenzten Agenten; das anschließende Branch-Gate bleibt maßgeblich.
- **Sessions über dieselbe Flotte bedienen** — Workstation-, Cloud- und Factory-Agenten teilen den Workspace rund um die Pipeline.
## Bringen Sie ein Repository mit. Sehen Sie das ganze System arbeiten.
Starten Sie auf Ihrem eigenen Runner, lassen Sie Ihre bestehende CI daneben weiterlaufen und sehen Sie, wie Hive aus dem nächsten geeigneten roten Check einen prüfbaren Fix macht.
