Skip to content

CLI ​

brindley [serve] [--no-auto-readme]     Run the MCP server on stdio (default)
brindley init [<folder>] [--name <n>]   Mark a folder (default: the current one) as a collection
brindley validate [--docs]              Check every collection; exits 1 on errors
brindley validate --fix [--write]       Plan (or with --write, make) the repairs with one obvious fix:
                                        broken links to a moved initiative, front-matter dependencies
brindley readmes [--check]              Regenerate collection README blocks; --check exits 1 if stale
brindley tidy <collection> [--write]    Move a collection's initiatives into the folders its `folders:`
                                        declares, rewriting links; plans only unless --write
brindley repad <collection> [<width>] [--write]
                                        Pad a collection's numbers to one width (default: the one most
                                        files use), renaming files and rewriting links; plans only
                                        unless --write
brindley report [options]               Write a one-page progress report (HTML) from the collections
                                        and their git history; prints the file's path
brindley --version

Run from anywhere inside the repository, via npx brindley … or after npm install -g brindley.

In CI ​

yaml
- run: npx -y brindley@latest validate
- run: npx -y brindley@latest readmes --check

validate fails the build on errors (warnings are printed but pass); readmes --check fails if any generated README block is out of date.

Progress report ​

brindley report [--since <tag|date|window>] [--until <tag|date|window>] [--collection <name>]
                [--out <file>] [--palette <name|file>] [--mode auto|light|dark]
                [--branches <glob>]… [--no-branches] [--worktrees [<glob>]]…

Writes build/brindley-report.html (or --out) — one self-contained page — and prints its path. See Reporting progress for what it shows and every option. In CI, check out the full history:

yaml
- uses: actions/checkout@v4
  with:
    fetch-depth: 0
- run: npx -y brindley@latest report --out site/public/progress.html

Self-healing READMEs ​

While the server runs, every tool call first regenerates any README block that is stale — after hand edits, git pull or a merge — and says so in its result. During a merge or rebase only blocks with conflict markers are rewritten. --no-auto-readme turns this off.

MIT licensed · Named after James Brindley, engineer of the Bridgewater Canal