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 --versionRun 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 --checkvalidate 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.htmlSelf-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.