Orchestrator that walks tasks through composable process pipelines using AI agents
Project description
hyperloop
Walks tasks through composable process pipelines using AI agents. You write specs, it creates tasks, implements them, verifies the work, and merges the results.
Prerequisites
- Python 3.12+
- kustomize (
kustomizeon PATH) gitghCLI (optional, for GitHub PR operations)- An Anthropic API key, or Vertex AI / Bedrock credentials
Install
pip install hyperloop
Quickstart
mkdir my-project && cd my-project && git init && git commit --allow-empty -m init
# Write a spec
cat > specs/auth.md << 'EOF'
# User Authentication
Implement JWT-based auth. POST /auth/login, POST /auth/register, GET /auth/me.
Passwords hashed with bcrypt. JWTs expire after 24h.
EOF
# Initialize hyperloop structure
hyperloop init
# Run the orchestrator
export ANTHROPIC_API_KEY=your-key # or CLAUDE_CODE_USE_VERTEX=1
hyperloop run
# With GitHub PR support
hyperloop run --repo owner/repo
How It Works
Agents run via the Claude Agent SDK — in-process, with full tool access (file I/O, git, shell). Each parallel worker gets its own git worktree for branch isolation. Serial agents (PM intake, process-improver) run on trunk.
The SDK handles tool execution, context management, and clean exit. No subprocess polling or result-file conventions.
Project Structure
After hyperloop init:
my-project/
├── .hyperloop.yaml # orchestrator config
├── .hyperloop/
│ ├── agents/
│ │ ├── kustomization.yaml # composition point (base + process component)
│ │ └── process/
│ │ └── kustomization.yaml # empty Component (process-improver writes here)
│ ├── state/
│ │ ├── tasks/ # task metadata (YAML frontmatter)
│ │ └── reviews/ # per-round review files
│ └── checks/ # executable check scripts
└── specs/
└── *.spec.md # product specs (your domain)
specs/ is yours — product specs only. .hyperloop/ is orchestrator-managed.
Prompt Composition
Three layers, all resolved via a single kustomize build:
| Layer | Source | What it provides |
|---|---|---|
| Base | hyperloop repo base/ |
Core agent prompts |
| Project overlay | gitops repo or in-repo patches | Project-specific guidelines, persona |
| Process overlay | .hyperloop/agents/process/ |
Learned rules from process-improver |
Agent resources have a guidelines field — additive by convention. At compose time: prompt + guidelines + spec + findings.
Configuration
# .hyperloop.yaml
overlay: .hyperloop/agents/ # path to kustomization dir
base_ref: github.com/org/hyperloop//base?ref=v1 # remote base for `hyperloop init`
target:
repo: owner/repo # GitHub repo (omit for local-only)
base_branch: main
runtime:
max_workers: 6
merge:
auto_merge: true
strategy: squash
delete_branch: true
poll_interval: 30
max_task_rounds: 50
max_cycles: 200
max_rebase_attempts: 3
observability:
log_format: console # console | json
log_level: info
matrix: # optional
homeserver: https://matrix.example.com
registration_token_env: MATRIX_REG_TOKEN
verbose: false
Custom Processes
Override the default pipeline (implement → verify → merge):
# process-patch.yaml
kind: Process
name: default
pipeline:
- loop:
- role: implementer
- role: verifier
- gate: human-pr-approval
- action: merge-pr
Four primitives: role (spawn agent), gate (wait for signal), loop (retry on failure), action (terminal op). Loops nest.
Development
uv sync --all-extras
uv run pytest
uv run ruff check . && ruff format --check .
uv run pyright
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hyperloop-0.15.0.tar.gz.
File metadata
- Download URL: hyperloop-0.15.0.tar.gz
- Upload date:
- Size: 168.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a4f5c7fc5767249d1a5e226daed025bd807bb8db9f46a33e764c99da24ce79b
|
|
| MD5 |
fa9049838aa93243b44969a981a299ef
|
|
| BLAKE2b-256 |
c1fac4cdd00153b85ec82ab29e6830fbd6a16c832c4e2532a2e43af63b71915e
|
Provenance
The following attestation bundles were made for hyperloop-0.15.0.tar.gz:
Publisher:
release.yaml on jsell-rh/hyperloop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hyperloop-0.15.0.tar.gz -
Subject digest:
4a4f5c7fc5767249d1a5e226daed025bd807bb8db9f46a33e764c99da24ce79b - Sigstore transparency entry: 1320972762
- Sigstore integration time:
-
Permalink:
jsell-rh/hyperloop@f8f26cc349ace59ec3a0328271638319be5fe537 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jsell-rh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@f8f26cc349ace59ec3a0328271638319be5fe537 -
Trigger Event:
push
-
Statement type:
File details
Details for the file hyperloop-0.15.0-py3-none-any.whl.
File metadata
- Download URL: hyperloop-0.15.0-py3-none-any.whl
- Upload date:
- Size: 65.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3869db94673992cbadb1bb8edd0f52de54dd21bf827de0bd15d8656ee2ce39c2
|
|
| MD5 |
9437194fcdaeba8fa29d22a813558fab
|
|
| BLAKE2b-256 |
117dd8754453c7803317cfa9d33868d487c4dc0ed79b87ad91768621113748d7
|
Provenance
The following attestation bundles were made for hyperloop-0.15.0-py3-none-any.whl:
Publisher:
release.yaml on jsell-rh/hyperloop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hyperloop-0.15.0-py3-none-any.whl -
Subject digest:
3869db94673992cbadb1bb8edd0f52de54dd21bf827de0bd15d8656ee2ce39c2 - Sigstore transparency entry: 1320972835
- Sigstore integration time:
-
Permalink:
jsell-rh/hyperloop@f8f26cc349ace59ec3a0328271638319be5fe537 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jsell-rh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@f8f26cc349ace59ec3a0328271638319be5fe537 -
Trigger Event:
push
-
Statement type: