baloo · a Claude Code plugin

Claude that works by what your project decided.

baloo is a Claude Code plugin. It keeps your decisions, terms and open questions in the repo, checks every change against them, and stops Claude from destroying work or leaking secrets.

$ claude plugin marketplace add bunderlog/claude-plugins
$ claude plugin install baloo@bunderlog
Fits the tools you already use
  • Claude Code
  • Git
  • GitHub Actions
  • husky
  • mise

One plugin

Everything Claude needs to keep your project's word

Each part turns on or off with a key in .claude/baloo.yml, written on the first session with the guidelines that fit your stack.

/

10 skills

For decisions, terms, requirements, issues, architecture reviews and retros.

✓

Verifier agent

A separate agent checks a change against your ADRs, glossary, guidelines and acceptance criteria.

§

Guidelines

Working rules Claude reads when a task calls for them: design, testing, debugging, and your stack.

!

Checks

Claude Code hooks and Git hooks, run by one Go binary. The same checks run in CI.

↺

Session review

When a session ends, what it settled but nobody wrote down lands in .about/.

›

Output style & status line

Short, plain replies from Claude, and a status line that shows what's going on.

Project memory

Decisions live in the repo, not in a chat

  • A glossary, ADRs, PRDs and an inbox in .about/: plain Markdown you review and commit.
  • Skills challenge a vague term or a decision that contradicts an earlier one, and record what settles.
.about/
├── glossary.md
├── inbox.md
├── adr/
│   ├── 0001-one-binary-for-checks.md
│   └── 0002-config-in-baloo-yml.md
├── prd/
│   └── verify.md
└── issues/
    └── stale-adr-date.md

Example layout.

Verifier

A second pair of eyes that read the ADRs

  • Run /baloo:verify on a branch, a PR, an issue or a PRD.
  • A separate agent that didn't write the change reports each departure with file:line, and changes nothing.
> /baloo:verify

✗ src/orders.ts:42
  calls it "customer"; the glossary says "buyer"
✗ src/billing/retry.ts:17
  retries in the handler; ADR 0004 puts retries in the queue
✓ PRD checkout: 5 of 5 criteria have a test

Example output.

Checks

Guardrails for Claude and for Git

  • In Claude Code: no destructive commands, no --no-verify, no secrets in context.
  • In Git: conventional commits, no AI co-author lines, no secrets in commits, linear history.
$ git commit -m "update stuff"
✗ conventional-commits
  "update stuff" has no type: feat, fix, …

$ git commit -m "fix: retry failed payouts"
✓ conventional-commits  ✓ no-ai-coauthor
✓ no-secrets-in-commits

Example output.

How it works

Install once. It sets itself up.

No config to write first. baloo picks sensible defaults for your repo and tells you what it did.

  1. Install the plugin

    Add the bunderlog marketplace and install baloo, two commands.

  2. Start a session

    baloo writes .claude/baloo.yml and the Git hooks, and downloads its checks binary.

  3. Work as usual

    Claude records what you settle, verifies changes on request, and every commit is checked.

Your stack

Guidelines for the stack you have

Stack guidelines turn on where the repo uses that stack. Hooks work alongside husky, and a stop check runs your own linter before Claude ends a turn.

GoGo
TSTypeScript
VVue
twTailwind
gitGit hooks
hhusky 9
CIGitHub Actions
mmise
PPrettier

Give Claude a memory for your project

Two commands. Everything else happens at the next session start.

$ claude plugin marketplace add bunderlog/claude-plugins
$ claude plugin install baloo@bunderlog