quasar

command module
v0.1.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2026 License: MIT Imports: 1 Imported by: 0

README

                      .·::··::··::·.                    .·::··::··::·.
                  .::··::::::::::::··::.            .::··::::::::::::··::.
              .::··::::.    ··::||::··  ··::    ::··  ··::||::··    .::::··::.
           .::··:::.   ..··::::\||/::··    ··::··    ··::\||/::::··..   .:::··::.
        .::··:::.  ..··::::..   \||/  ..::··  ··::..  \||/   ..::::··..  .:::··::.
      .::··::. ..··::::..  ··::. \|/ .::··::····::··::. \|/ .::··  ..::::··.. .::··::.
    .::··::. .··::::. .··::.. ·:. | .:·::··:.  .::··::·. | .:· ..::··. .::::··. .::··::.
   .::·::. .··:::.  ··::.. ··::. | .::··  ::··::  ··::. | .::·· ..::··  .:::··. .::·::.
  .::·::. .··:::.  ··::. .··::.. | ..::··. .::··. .::··.. | ..::··. .::··  .:::··. .::·::.
  ::·::. .··:::.  ··::..··::. .  | . .::··:..::··:..::··. | . .::··..::··  .:::··. .::·::
  :·::..··:::.  ··::..··::..··:. | .::··..::····::..::··. | .:·..::··..::··  .:::··..::·:
  :·::.··:::. ··::..··::. ··::.. | ..::··. .:·::·:. .::··.. | ..::·· .::··..::·· .:::··.::·:
  :·:.··:::. ··::..··::..··::..---@---..::··..::::..::··..---@---..::··..::··..::·· .:::··.:·:
  :·::.··:::. ··::..··::. ··::.. | ..::··. .:·::·:. .::··.. | ..::·· .::··..::·· .:::··.::·:
  :·::..··:::.  ··::..··::..··:. | .::··..::····::..::··. | .:·..::··..::··  .:::··..::·:
  ::·::. .··:::.  ··::..··::. .  | . .::··:..::··:..::··. | . .::··..::··  .:::··. .::·::
  .::·::. .··:::.  ··::. .··::.. | ..::··. .::··. .::··.. | ..::··. .::··  .:::··. .::·::.
   .::·::. .··:::.  ··::.. ··::. | .::··  ::··::  ··::. | .::·· ..::··  .:::··. .::·::.
    .::··::. .··::::. .··::.. ·:. | .:·::··:.  .::··::·. | .:· ..::··. .::::··. .::··::.
      .::··::. ..··::::..  ··::. /|\ .::··::····::··::. /|\ .::··  ..::::··.. .::··::.
        .::··:::.  ..··::::..   /||\  ..::··  ··::..  /||\   ..::::··..  .:::··::.
           .::··:::.   ..··::::/||\ ::··    ··::··    ··::/||\::::··..   .:::··::.
              .::··::::.    ··::||::··  ··::    ::··  ··::||::··    .::::··::.
                  .::··::::::::::::··::.            .::··::::::::::::··::.
                      .·::··::··::·.                    .·::··::··::·.
                               Q    U    A    S    A    R

Quasar

Quasar is a multi-repo coding agent coordinator. It watches the repositories you register, turns external signals (today, GitHub issues) into draft units of work called nebulas, and — once you approve one — drives a team of LLM agents through a declarative workflow that writes code, reviews its own diff, commits to an isolated quasar/* branch, and opens a pull request. Every run is recorded in a local SQLite database so a long-lived process can crash and resume exactly where it stopped.

What makes it more than a wrapper around claude -p:

  • Declarative workflows, not a hardcoded loop. Agents and their wiring live in TOML constellations you can override per repo; the coder→reviewer→revise loop and the outer master-review loop are both data, enforced by one runtime back-edge counter — no special-cased Go control flow.
  • A safety perimeter on every write. All git writes route through one wrapper that refuses to push anywhere outside the quasar/* namespace and refuses destructive operations. The agent cannot touch main.
  • Durable, multi-repo coordination. Runs, phases, nebulas, blobs, and cross-phase entanglements are persisted in SQLite, so Quasar runs as an always-on fleet service across many repositories — not one task at a time.

Prerequisites

  • Claude Code CLI (claude) — installed and authenticated. Quasar shells out to it for every agent invocation.
  • Go 1.25+ — to build from source.
  • git — Quasar drives a vanilla git binary for all repository writes.
  • GitHub CLI (gh) — required for the GitHub sensor (reading issues) and for opening pull requests.

Install

git clone https://github.com/papapumpkin/quasar.git
cd quasar
go build -o quasar .

Optionally install to your $GOPATH/bin:

go install .

Verify the toolchain and configuration any time with quasar doctor.

Quick Start

Quasar's primary mode is the fleet: a long-running view over every repo you register. The shortest path from zero to a running nebula:

# 1. Register a repository for Quasar to operate on.
quasar repo register /path/to/your/repo

# 2. Author a nebula (a multi-phase task spec) inside that repo.
#    A nebula is a directory of one manifest + one Markdown file per phase.
mkdir -p /path/to/your/repo/.nebulas/my-task
$EDITOR /path/to/your/repo/.nebulas/my-task/nebula.toml   # see CLAUDE.md for the format

# 3. Open the fleet dashboard and watch it work.
quasar fleet

In the fleet view, sensor-produced drafts and imported nebulas appear in the awaiting-approval lane. Press a to approve one: Quasar enqueues an architect run that decomposes the draft into phases, then drives each phase through the coder-reviewer loop and a final master-review before opening a PR. In-flight runs and recently completed nebulas occupy the other two lanes.

For a single repo without the fleet, quasar nebula apply .nebulas/my-task --auto runs a nebula directly through the legacy in-process engine.

Core Concepts

One sentence each; follow the link for the canonical definition and code location.

  • Nebula — a multi-phase task specification (a manifest plus one Markdown file per phase).
  • Phase — one file inside a nebula, ultimately one unit of coder-reviewer work.
  • Constellation — a declarative workflow DAG, written in TOML, that wires agents and builtins into a run.
  • Star — an LLM agent character defined as Markdown + TOML (the coder, the reviewer, the architect, …).
  • Skill — a reusable prompt fragment + tool grant that composes into a star.
  • Sensor — a poll-driven adapter that turns external signals (GitHub issues, …) into seed nebulas.
  • Fabric — the SQLite-backed persistence layer for runs, phases, nebulas, and blobs.
  • Entanglement — a producer's declared, in-flight, or terminal claim on a symbol that other phases coordinate around.

The full vocabulary lives in docs/glossary.md.

CLI Reference

Command What it does
init Scaffold a .quasar.yaml in the current directory.
doctor Diagnose configuration, integrations, credentials, and git setup.
validate Alias for quasar doctor.
fleet Launch the multi-repo fleet dashboard (alias: quasar tui).
repo Register and manage the repositories Quasar operates on.
sensor Sensor administration — force a single poll cycle for debugging.
nebula apply Run a nebula directly through the legacy in-process engine.
gc Garbage-collect completed nebulas, runs, blobs, and stale worktrees.
lint Validate artifact files (constellations, stars, skills, sensors).

Each command's full flag set is available via quasar <command> --help. The layered design behind these commands is described in docs/architecture.md, and the docs index (docs/README.md) maps every subsystem to its deep-dive document.

  • docs/architecture.md — the big picture: the four layers (operator surface, orchestration, coordination + safety, effectors), with flow walkthroughs from approval to pull request.
  • docs/glossary.md — the vocabulary, alphabetized, each term tied to its canonical code location.
  • docs/README.md — the index of the entire docs/ tree, classified into start-here / mechanics / safety / operations / extension / contributor / historical.

Contributing

The developer handbook — build and test commands, package layout, Go conventions, and the rules for authoring nebulas — lives in CLAUDE.md.

License

MIT — see LICENSE.md.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd provides CLI commands for quasar.
Package cmd provides CLI commands for quasar.
internal
ansi
Package ansi provides ANSI escape code constants and helpers for terminal output.
Package ansi provides ANSI escape code constants and helpers for terminal output.
artifacts
Package artifacts holds Quasar's built-in default constellations, stars, and skills, embedded into the binary so a freshly installed Quasar runs the full ticket-to-PR happy path with zero configuration files on disk.
Package artifacts holds Quasar's built-in default constellations, stars, and skills, embedded into the binary so a freshly installed Quasar runs the full ticket-to-PR happy path with zero configuration files on disk.
blobstore
Package blobstore implements a content-addressed blob store backed by the filesystem with a SQLite registry.
Package blobstore implements a content-addressed blob store backed by the filesystem with a SQLite registry.
bus
Package bus provides a typed publish-subscribe event bus for decoupling event producers (workers, loops) from consumers (TUI, telemetry, logging).
Package bus provides a typed publish-subscribe event bus for decoupling event producers (workers, loops) from consumers (TUI, telemetry, logging).
checkpoint
Package checkpoint defines the serializable format for persisting coder-reviewer loop state across process restarts.
Package checkpoint defines the serializable format for persisting coder-reviewer loop state across process restarts.
cockpit
Package cockpit serves Quasar's browser-based fleet dashboard: a server- rendered (templ), real-time (SSE/Datastar) ops console that mirrors the TUI fleet view.
Package cockpit serves Quasar's browser-based fleet dashboard: a server- rendered (templ), real-time (SSE/Datastar) ops console that mirrors the TUI fleet view.
cockpit/views
templ: version: v0.3.960
templ: version: v0.3.960
constellations
Package constellations implements the constellation runtime: the engine that walks a constellation DAG against a nebula, dispatching each node (star, constellation, phase_iterator, builtin), evaluating edge `when:` guards, and persisting state after every transition for crash-safe resume.
Package constellations implements the constellation runtime: the engine that walks a constellation DAG against a nebula, dispatching each node (star, constellation, phase_iterator, builtin), evaluating edge `when:` guards, and persisting state after every transition for crash-safe resume.
dag
Package dag provides a directed acyclic graph engine for modeling task dependencies.
Package dag provides a directed acyclic graph engine for modeling task dependencies.
fabric
Package fabric — contracts.go provides contract resolution for static analysis.
Package fabric — contracts.go provides contract resolution for static analysis.
filter
Package filter provides deterministic pre-reviewer checks that validate coder output before invoking the reviewer agent.
Package filter provides deterministic pre-reviewer checks that validate coder output before invoking the reviewer agent.
forge
Package forge is Quasar's write-side adapter to a code host (GitHub today).
Package forge is Quasar's write-side adapter to a code host (GitHub today).
gc
Package gc implements Quasar's garbage collector: the only path that hard-deletes lifecycle state from the canonical SQLite store.
Package gc implements Quasar's garbage collector: the only path that hard-deletes lifecycle state from the canonical SQLite store.
gitops
Package gitops is Quasar's vanilla-git output safety perimeter.
Package gitops is Quasar's vanilla-git output safety perimeter.
nebula
Package nebula provides decomposition graph surgery for replacing a struggling phase with multiple sub-phases in the live DAG.
Package nebula provides decomposition graph surgery for replacing a struggling phase with multiple sub-phases in the live DAG.
neutron
Package neutron provides epoch archival and stale state cleanup for fabrics.
Package neutron provides epoch archival and stale state cleanup for fabrics.
repos
Package repos manages the set of git repositories a long-running Quasar process is willing to operate on.
Package repos manages the set of git repositories a long-running Quasar process is willing to operate on.
sensors
Package sensors defines the poll-driven boundary between Quasar and external work-tracking systems (GitHub Issues, Jira, Linear, etc.).
Package sensors defines the poll-driven boundary between Quasar and external work-tracking systems (GitHub Issues, Jira, Linear, etc.).
sensors/discussions
Package discussions is the worked-example sensor from docs/sensor-authoring.md.
Package discussions is the worked-example sensor from docs/sensor-authoring.md.
sensors/github
Package github implements a read-only GitHub Issues Sensor backed by the `gh` CLI.
Package github implements a read-only GitHub Issues Sensor backed by the `gh` CLI.
snapshot
Package snapshot produces deterministic project snapshots for prompt injection.
Package snapshot produces deterministic project snapshots for prompt injection.
telemetry
Package telemetry provides a JSONL event stream for recording state transitions during nebula executions.
Package telemetry provides a JSONL event stream for recording state transitions during nebula executions.
tui
Package tui provides the BubbleTea-based terminal UI.
Package tui provides the BubbleTea-based terminal UI.
tui/fleet
Package fleet implements the multi-repo fleet dashboard: a three-lane home view (awaiting-approval drafts, in-flight runs, recent terminal nebulas) grouped by registered repository.
Package fleet implements the multi-repo fleet dashboard: a three-lane home view (awaiting-approval drafts, in-flight runs, recent terminal nebulas) grouped by registered repository.
tycho
Package tycho provides DAG scheduling for the nebula orchestrator.
Package tycho provides DAG scheduling for the nebula orchestrator.
ui
Package ui provides stderr-based UI output for Quasar.
Package ui provides stderr-based UI output for Quasar.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL