Bruv

An opinionated coding agent.

Built on Pi, with background jobs, subagents and project wisdom.

Install Bruv · Source

Give the fix its own branch

Ask Bruv to put an independent change in a Git worktree. Review its diff before merging into your branch.

You: Fix CSV imports in a worktree. I'll keep working on export.

Bruv: I'll give the CSV fix its own Git worktree.

✓ Fix CSV import

✓ Review helper diff

Bruv: The fix streams CSV rows and passes the import tests. Review its branch before merging.

Use the time tests take

Keep talking to Bruv while a test suite runs. The result returns to the conversation when the job finishes.

You: Run the import tests in the background.

↗ Run import tests

Bruv: Import tests are running.

You: While they run, explain the cache.

Bruv: Clear the preview cache when an import changes its rows.

✓ Run import tests

Bruv: Import tests passed. Next: add cache invalidation at the import boundary.

Pick up where you left off

Save decisions and unfinished work in your project's wisdom files so the next session can read them before editing.

You: Read wisdom/csv.md and finish the import.

✓ Read wisdom/csv.md

Bruv: The notes say to stream rows to limit memory use. The quoted-newline test is still missing.

✓ Add quoted-newline test

✓ Run import tests

✓ Update wisdom/csv.md

Bruv: Added the quoted-newline test and saved cache invalidation as the next step in wisdom/csv.md.

Start in your repo

Install Bruv, configure your model provider, then run bruv from your project.

curl -fsSL 'https://raw.githubusercontent.com/tnfssc/bruv/develop/scripts/install.sh' | sh
Script ↗ · Source guide
$ cd your-project
$ bruv

Bring your own provider credentials. Linux x64/arm64, macOS Apple Silicon, or Android Termux arm64.