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.
- cli
- The command line.
- 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.
- jsonx
- Getting structured data back out of a model, and hashing it stably.
- 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.
- 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.
- style
- Two gates over every string spar sends to GitHub.
- triage
- Both agents judge every issue independently, then the two verdicts are reconciled mechanically.