Skip to main content

vibey

PyPI PyPI downloads Python versions CI License: MIT

A queue-based, six-phase conductor for autonomous software delivery — with an optional visual-design interstitial and opt-in Azure deployment — built on top of the *loop autonomous session runners.

What problem this solves

An autonomous coding session is not autonomous software delivery. A single claudeloop run can finish a task, but it cannot interview you until the spec is sharp, split the work into parallel items, verify each one against gates it cannot game, survive its own credit exhaustion by handing off to a different vendor's engine without losing a single open question, or know that a review finding should reopen design rather than vanish into a transcript.

Vibey conducts all of that. You describe what you want; it interviews you until the spec is sharp, builds unattended across a pool of engines with real budget caps, reviews the result with you, and (only if you opt in) deploys. Every choice, finding, and handoff lives in an append-only PostgreSQL ledger — never in one vendor's chat session.

Runs on macOS / Linux, local. No cloud control plane required.
Language Python 3.12+
Queue PostgreSQL (FOR UPDATE SKIP LOCKED)
Engines claudeloop, codexloop, cursorloop, agyloop
State dir .vibey/
Env prefix VIBEY_
Done marker Each loop's own marker (CLAUDELOOP_TASK_FULLY_COMPLETE, etc.)

Install

Requires Python 3.12+, PostgreSQL, and at least one *loop engine on PATH. Windows is not a supported target.

uv tool install vibey          # or: pipx install vibey / pip install vibey
uv tool install claudeloop     # at least one engine; add codexloop, cursorloop, agyloop for rotation
vibey doctor                   # pre-flight: database, engines, auth

Quickstart

vibey doctor --conformance --record          # verify each engine's contract, persist health
vibey new my-app --repo ~/src/my-app \
  --max-cycle-dollars 15                     # real budget brake, enforced from the ledger
vibey worker --engines claudeloop,agyloop -j 2   # unattended build across the pool

# When vibey parks for your input (design gates, review, budget grants):
vibey answer <gate-id> --defaults            # accept the interview defaults, or:
vibey answer <gate-id> --raw '{"max_dollars": 25}'   # raise a tripped budget cap
vibey design accept <project-id> --no-visual
vibey answer <gate-id> --verdict accept      # review demo
vibey answer <gate-id> --choice local_only   # decline deployment → DONE (local)

The greeter live-demo runbook walks a full paid run end to end, including the zero-touch contracts.

The shape of it

  DELIVERY STAGE SET
  INTAKE → ① DESIGN ──┬─ no ───────────────→ ② BUILD ⇄ ③ REVIEW
                      │                       autonomous / interactive
                      └─ yes → [VISUAL DESIGN]
                                interactive, media generation + confirmation
                                          │ visual-ready
                                          └──────────────→ ② BUILD

  ③ REVIEW ── no deployment ─────────────────────────────→ DONE (local)
       │ opt in
       ▼
  DEPLOYMENT STAGE SET
  ④ DEPLOY DESIGN ⇄ ⑤ DEPLOY EXECUTE ⇄ ⑥ DEPLOY REVIEW → DONE (deployed)
       interactive       autonomous          interactive
             ▲                 │                    │
             └─────────────────┴────────────────────┘

Phases 1, 3, 4, and 6 talk to you. The optional Visual Design stage also talks to you and cannot hand work to BUILD until every planned visual is accepted or you explicitly waive the stage. Phases 2 and 5 run unattended, survive rate-limit windows and credit exhaustion, and rotate eligible engines/providers when one runs dry. Phase 3 asks whether to deploy; "no" is a successful local completion. Phase 6 accepts a successful deployment, requests changed deployment details in Phase 4, retries an unambiguous deployment in Phase 5, or routes an application defect back to the appropriate delivery phase.

Why it isn't just another agent framework

The hard part is not calling an LLM in a loop — claudeloop and its siblings already solve that, including the distinction between a waitable rate-limit window and exhausted credits that no amount of waiting will fix. Vibey adds the things those runners deliberately do not do:

  1. A phase machine with loop-backs, so a review finding becomes a new design conversation rather than a lost note.
  2. Round-robin engine rotation with lossless handoff — the conversation is an append-only event ledger, not a chat transcript locked inside one vendor's session, so any engine can pick up where any other left off. A handoff that would lose an open question, decision, assumption, or finding is rejected by a pure, deterministic no-loss gate — never silently accepted.
  3. A durable queue, so work survives a laptop lid closing, a crash, or a provider outage, and so multiple work items build in parallel in isolated git worktrees.
  4. Real money brakes — per-cycle dollar and turn caps summed from the ledger's own cost events, with parks that tell you the exact command to grant more.

Documentation

Document What's in it
Greeter live-demo runbook A full paid run, end to end, with the zero-touch contracts
Expansion runbooks Fifteen workstreams: JIRA, more clouds, Kubernetes server mode, clients, store submissions, …
Architecture & roadmap The master design: context, containers, layers, phases, risks, milestones
Domain model Every value object, ADT, and invariant in domain/
Data model Full PostgreSQL DDL, queue semantics, indices
Handoff protocol The event ledger, the envelope, and the no-loss gate
Rotation & engines Capability matrix, effort normalization, smooth weighted round robin
Phase protocols What all six phases do, turn by turn
Implementation plan Milestone-by-milestone, test-first task breakdown
Decision records Why each hard call was made

Status

Live-validated. The full pipeline has conducted real paid deliveries end to end: multi-worker builds (-j 2) with cross-engine rotation (claudeloop implements, agyloop verifies), the bounded verify-repair ladder, budget caps tripping and being granted live, and fully zero-touch DESIGN phases answered with nothing but --defaults. The validation campaign's findings — a blind budget brake, a repair-loop livelock, terminal gate-command failures — were each fixed and re-validated live.

Every architectural layer (domain, application, infrastructure, cli) holds a 100% branch-coverage floor, enforced as four separate CI gates. domain/ is pure stdlib, enforced by import-linter and an AST-walking purity test — the no-loss handoff gate is deterministic code, not a model's opinion.

Related projects

Project What it is
claudeloop Autonomous Claude Code session runner — the design the family transplants
codexloop The same design retargeted onto OpenAI Codex
cursorloop The same design retargeted onto Cursor
agyloop The same design retargeted onto Google Antigravity / Gemini

License

MIT © Adam Matthew Steinberger

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vibey-0.1.2.tar.gz (699.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vibey-0.1.2-py3-none-any.whl (248.0 kB view details)

Uploaded Python 3

File details

Details for the file vibey-0.1.2.tar.gz.

File metadata

  • Download URL: vibey-0.1.2.tar.gz
  • Upload date:
  • Size: 699.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vibey-0.1.2.tar.gz
Algorithm Hash digest
SHA256 127cc7e3589f839f648e5be492b50a9d0ab11b76130a4a30a485238938f18f41
MD5 dea0fdd06ca3b083bc5f608861c1d936
BLAKE2b-256 776904d701654e7e342f66f77ef7808a904a5e8ee36cd4f025961a148fa7e25b

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibey-0.1.2.tar.gz:

Publisher: publish-to-pypi.yml on adammatthewsteinberger/vibey

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vibey-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: vibey-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 248.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vibey-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d99da0ec38b5026c3663fa35b8b8bad0f271b5286ee323799efb641ba6101534
MD5 39ff72453d8e587a074d4bef90010318
BLAKE2b-256 429b129875e479cac289771d7a99a28e2f16011ccd804fdcdf8574fd44dc5801

See more details on using hashes here.

Provenance

The following attestation bundles were made for vibey-0.1.2-py3-none-any.whl:

Publisher: publish-to-pypi.yml on adammatthewsteinberger/vibey

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page