Expand description
spar: two coding agents alternate implementing and reviewing GitHub issues until a pull request converges.
A single model reviewing its own work grades its own homework. Two models with different training and different failure modes catch different things, and the disagreements are the useful part.
Re-exports§
Modules§
- agent
- Driving one CLI.
- answer
- Answering what an issue asks of you.
- brainstorm
- Brainstorming with the pair: existing pieces, paired in ways nobody has.
- checkin
- Answering the comments other people left on a pull request.
- cli
- The command line.
- clock
- Dates and times without a date crate.
- code
- Turn a project request into an issue before handing it to the normal run.
- comments
- Reading what other people said on a pull request or an issue, and answering it.
- config
- Configuration, and the agent presets that make a new CLI a data change rather than a code change.
- error
- One error type. Every failure that a user could plausibly cause carries a sentence explaining what to do about it, because a failure whose reason is missing from the message costs more than the failure itself.
- followups
- The local follow-up queue, and working it.
- jsonx
- Getting structured data back out of a model, and hashing it stably.
- listen
- Listening for what happens after a review.
- logging
- Progress goes to stderr so stdout stays parseable.
--quietsilences progress but never silences a warning or an error: those are exactly what quiet mode would otherwise bury. - model
- The shapes that cross the boundary between spar and a model, and the shapes spar keeps for itself.
- proc
- Running external commands.
- progress
- How far a run has got through the work it picked up.
- repo
- git and gh. Every outbound string passes through the style and concision gates before it reaches GitHub.
- review
- Alternating custody until a PR converges.
- review_
only - Reviewing a pull request without touching it.
- schema
- JSON schemas for the three structured exchanges.
- spend
- What a run spent.
- split
- Breaking one issue or one pull request into smaller ones.
- style
- Two gates over every string spar sends to GitHub.
- textsim
- Deciding whether two pieces of prose make the same point.
- tracker
- A tracking issue’s checklist, read as work.
- triage
- Both agents judge every issue independently, then the two verdicts are reconciled mechanically.