Skip to main content

Autonomous CLI supervisor for staged AI workflows

Project description

cybervisor

cybervisor is an autonomous CLI supervisor for development runs. It executes a customizable multi-stage pipeline with Gemini CLI, Claude Code, or a mock agent, installs runtime hooks for non-interactive execution, enforces structured stage-result contracts, and keeps audit logs in JSONL.

cybervisor works best when it sits on top of a speckit repository. speckit gives the project durable product and planning memory under .specify/, and cybervisor turns that context into an autonomous execution loop with review, correction, and verification stages.

What it does

  • Runs a multi-stage pipeline defined in cybervisor.yaml
  • Defaults to a robust 5-to-10 stage pipeline depending on the scaffold used
  • Supports structured stage-result contracts and artifact-driven routing
  • Fails fast when the selected agent CLI or hook verifier credentials are missing
  • Writes non-secret hook runtime metadata under .cybervisor/hooks/ for non-mock runs
  • Keeps verifier credentials in ~/.cybervisor/config.yaml
  • Snapshots .gemini/settings.json or .claude/settings.json and restores them on exit
  • Streams live agent output to stderr and persists per-stage logs under .cybervisor/logs/stages/
  • Exits with 130 on SIGINT or SIGTERM after cleanup

Requirements

  • Python 3.11+
  • uv
  • One of:
    • gemini on PATH
    • claude on PATH
    • mock mode for local deterministic runs
  • ~/.cybervisor/config.yaml with verifier settings for non-mock runs

Installation

Install the CLI onto your PATH:

uv tool install cybervisor

After installation, verify:

cybervisor --version

Quick Start

Initialize the cybervisor scaffold in your project:

cybervisor init

cybervisor init detects your environment:

  • If .specify/ exists, it installs the speckit scaffold (integrated with speckit workflows).
  • If .specify/ is missing, it installs the simple scaffold (standalone artifacts in .cybervisor/artifacts/).

Both scaffolds create a cybervisor.yaml file containing the full pipeline configuration, including prompt templates and stage contracts.

Set your global default agent:

cybervisor use claude

Configure your verifier settings in ~/.cybervisor/config.yaml:

agent_tool: claude
llm:
  api_key: your-api-key
  # Optional overrides
  # base_url: https://api.openai.com/v1
  # model: gpt-4o

Run the supervisor:

cybervisor "Create a 360 feedback system"

Usage

# Run with a prompt
cybervisor "Your task description"
cybervisor run "Your task description"

# Specify a custom config
cybervisor run "Your task" --config custom.yaml

# Control execution flow
cybervisor run "Your task" --start-stage "Implement"
cybervisor run "Your task" --end-stage "Review Code"
cybervisor run "Your task" --end-before "Verify"

# Set default agent
cybervisor use gemini

# Validate your configuration
cybervisor validate
cybervisor validate --show-guidance

Recommended with speckit

The strongest setup is pairing cybervisor with speckit. speckit manages the long-lived product memory (specs, plans, tasks) in .specify/, while cybervisor provides the autonomous execution engine to drive those workflows.

Development

If you are contributing to cybervisor:

uv sync
uv run mypy --strict src
uv run pytest

Release helper:

./scripts/publish.sh patch  # or minor, major

Repository Layout

src/cybervisor/        Core CLI package
assets/hooks/          Hook prompt assets and fixtures
scripts/               Demo and utility scripts
templates/demo/        Demo project scaffold
tests/                 Unit and integration coverage
.specify/              Constitution and repo-specific scripts
AGENTS.md              Symlink to constitution
GEMINI.md              Symlink to AGENTS.md
CLAUDE.md              Symlink to AGENTS.md

Agent Mandates

The agent mandate files (AGENTS.md, GEMINI.md, CLAUDE.md) are symlinked to .specify/memory/constitution.md. Always update the constitution file directly to change agent behavior.

Project details


Download files

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

Source Distribution

cybervisor-0.4.0.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

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

cybervisor-0.4.0-py3-none-any.whl (53.2 kB view details)

Uploaded Python 3

File details

Details for the file cybervisor-0.4.0.tar.gz.

File metadata

  • Download URL: cybervisor-0.4.0.tar.gz
  • Upload date:
  • Size: 43.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cybervisor-0.4.0.tar.gz
Algorithm Hash digest
SHA256 44015e43771d43e8a52fa27828289c35b7d4706f7c5e8447e246e31fa180d928
MD5 4c6748116c3091546fe7b1cad542cd84
BLAKE2b-256 59c72152543a21df80fd42cb494c9606c25466fafe9ab3bcb2140cbb8bf1f51c

See more details on using hashes here.

File details

Details for the file cybervisor-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: cybervisor-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 53.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cybervisor-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc5a09a9040d734be60b7163705e5da0e421b6b4e8919068f7b4cf7c1e49cc80
MD5 2d8881f846ca811c4cf96c1138704d0c
BLAKE2b-256 ad5da06c6b2af755fe783b41d699dd3af407a9b0631b95e41fa425d77c1b58f9

See more details on using hashes here.

Supported by

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