Skip to content

BashOpsDev/sova

 
 

SOVA -- Software Orchestration Via Agents

SOVA Logo

CI License Python

What is SOVA?

SOVA is a standalone application that turns GitHub Issues into merged pull requests -- autonomously. Install it into any software project and it will triage issues, research the codebase, develop solutions using TDD, self-review, create PRs, monitor CI, and address review feedback. You stay in control through a web dashboard and a human-in-the-loop handoff system, while SOVA handles the repetitive engineering work.

Why SOVA?

  • End-to-end automation -- from issue triage to merged PR, SOVA handles the full development cycle. You approve, it executes.
  • Quality by design -- gate checks between every pipeline step catch problems early. Agents refuse to work on issues that haven't been properly triaged and researched.
  • Learns from mistakes -- a 4-tier knowledge system captures review feedback, common patterns, and gotchas. Each run is better than the last.
  • You stay in control -- agents are ephemeral (spawn, work, handoff, exit). The dashboard shows what they did, what they need, and lets you decide when to merge. Nothing ships without your approval.
  • Works on any project -- install once, configure with a TOML file, and SOVA adapts to your stack via persona auto-detection (Django, FastAPI, Odoo, and more).

Key Features

  • Role-Based Agents -- specialized triage, researcher, developer, and reviewer roles with automatic dispatch and autonomous Developer-Reviewer chaining
  • Gate-Checked Pipeline -- every step validates its output before the next begins; Developer pipeline (15 steps), Address-Review pipeline (9 steps)
  • Web Dashboard -- 14-page UI for monitoring runs, costs, agent control, lifecycle tracking, and configuration
  • 24/7 Server Mode -- scheduler with priority-based watch loop and parallel execution
  • Handoff System -- per-issue handoff files eliminate race conditions in parallel agent runs; dashboard renders action buttons for human decisions
  • 27 Standardized Commands -- develop, test, review, PR, ship, debug, and more -- works on any project
  • 4-Tier Knowledge System -- layered memory with cross-project learning (details)
  • Persona Auto-Detection -- detects your tech stack and loads relevant guidance (see personas/)
  • Pluggable Task Sources -- GitHub Issues and Jira Cloud supported, Linear planned

Architecture Overview

graph LR
    A[Issue Tracker] --> B[Triage]
    B --> C[Research]
    C --> D[Develop]
    D --> E[Self-Review]
    E --> F[Create PR]
    F --> G[Monitor CI]
    G --> H[Code Review]
    H --> I[Merge]

    style A fill:#313244,stroke:#cdd6f4,color:#cdd6f4
    style B fill:#313244,stroke:#89b4fa,color:#89b4fa
    style C fill:#313244,stroke:#89b4fa,color:#89b4fa
    style D fill:#313244,stroke:#a6e3a1,color:#a6e3a1
    style E fill:#313244,stroke:#a6e3a1,color:#a6e3a1
    style F fill:#313244,stroke:#f9e2af,color:#f9e2af
    style G fill:#313244,stroke:#f9e2af,color:#f9e2af
    style H fill:#313244,stroke:#cba6f7,color:#cba6f7
    style I fill:#313244,stroke:#a6e3a1,color:#a6e3a1
Loading

Each transition is enforced by gate checks. The Developer refuses issues that haven't been triaged and researched first (use --force to bypass for quick fixes).

Requirements

  • Python 3.12+
  • Claude Code CLI (claude)
  • GitHub CLI (gh) -- authenticated
  • git
  • terminal-notifier (macOS, optional) -- brew install terminal-notifier for rich desktop notifications with custom icon and sound

Installation

git clone https://github.com/xsovad06/sova.git
cd sova
pip install --user -e .

Ensure your Python user bin directory is on PATH:

# macOS (replace 3.12 with your Python version)
export PATH="$HOME/Library/Python/3.12/bin:$PATH"

# Linux
export PATH="$HOME/.local/bin:$PATH"

For development (tests, linting):

pip install --user -e ".[dev]"

Quick Start

# Install SOVA into your project (creates sova.toml, deploys commands)
sova install /path/to/project

# Optional: run the interactive setup wizard for custom configuration
sova setup /path/to/project

# Triage an issue to assess agent suitability
sova triage 42

# Work on an issue (runs the full pipeline: develop, test, review, PR)
sova run 42

# Or start the server for fully autonomous operation
sova server start

Dashboard

The web dashboard is SOVA's primary interface for monitoring and controlling agents.

sova dashboard --project /path/to/project    # http://localhost:8111
Page Purpose
Home Project list (command center) for multi-project installations
Dashboard Overview with agent status strip, pipeline progress, recent activity
Agents Multi-agent control panel: start/stop, view handoff actions, task browser
Run Detail Per-run step pipeline, logs, and cost breakdown
Lifecycle Issue lifecycle rail (development through post-merge)
Costs Per-task and per-model cost tracking and aggregation
Queue Batch triage/harden operations with progress tracking
Logs Real-time agent output streaming
Memory Browse and search the knowledge base (memories, patterns, extractions)
Roles View and edit custom workflow roles (DAG-based)
Settings Runtime configuration management
Setup Project onboarding wizard with directory browser
Style Guide Design system reference with live component examples

Configuration

SOVA uses a sova.toml file in each project root. Minimal example (required fields only):

github_repo = "owner/repo"
github_user = "owner"

[task_source]
type = "github"

Key optional sections:

[agent]
model = "opus"              # LLM model for agent steps
max_budget = 10.0           # Max USD per run ($10 default)

[ci]
max_fix_attempts = 2        # Auto-fix CI failures (0 to disable)
max_wait = 900              # Seconds to wait for CI checks

[pipeline]
auto_handoff = true         # Developer auto-hands off to Reviewer
auto_address_review = true  # Reviewer auto-triggers address-review

For the full configuration reference, see sova/config/models.py. Environment variables override TOML values using the SOVA_ prefix (e.g., SOVA_BASE_BRANCH=develop).

CLI Reference

Category Commands
Core sova run <issue>, sova triage <issue>, sova harden <issue>, sova watch, sova parallel
Server sova server start|stop|status
Setup sova install <path>, sova setup <path>, sova init-db, sova doctor
PR Ops sova address-pr <pr>, sova maintain-pr <pr>, sova review-pr <pr>, sova learn-from-pr <pr>
Monitor sova status, sova costs, sova config, sova dashboard
Knowledge sova memory search|prune|dump|export|import
Commands sova commands list|diff|update|sync
MCP sova mcp serve
Maintenance sova cleanup

Run sova --help for the full list.

How It Works

SOVA uses a role-based architecture with four specialized agent types:

  1. Triage -- assesses issues for agent suitability, applies labels (agent:ready, agent:needs-spec, agent:human-only)
  2. Researcher -- investigates the codebase and writes an implementation spec
  3. Developer -- implements the solution using TDD, creates a PR, monitors CI
  4. Reviewer -- reviews the PR, posts findings, triggers a fix cycle if needed

Agents are ephemeral: each one spawns, does its job, writes a handoff file, and exits. The orchestrator (scheduler or dashboard) reads the handoff and spawns the next agent in the chain. Developer and Reviewer chain autonomously -- when the Developer finishes, it hands off to the Reviewer, which hands back to the Developer if findings exist. This loop continues until the code is clean, then SOVA notifies you and waits for your merge decision.

Task Sources

Source Status
GitHub Issues Supported
Jira Cloud Supported
Linear Planned

Contributing

Contributions are welcome. See CONTRIBUTING.md for setup, code style, and PR guidelines.

make check    # Lint + test (CI-equivalent)
make lint     # ShellCheck + Ruff
make test     # All tests (bash + python)
make format   # Auto-format Python

Getting Help

  • Run sova doctor to check your environment setup
  • Run sova --help or sova <command> --help for CLI usage
  • File an issue for bugs or questions
  • See CONTRIBUTING.md for development setup

License

Licensed under the Apache License, Version 2.0.

About

Standalone app for autonomous AI-assisted development

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 84.2%
  • HTML 12.0%
  • JavaScript 2.4%
  • CSS 0.8%
  • Shell 0.5%
  • Makefile 0.1%