CLI reference
briar extract
knowledge:<company> by default and becomes the source of truth other commands splice into agent prompts.Synopsis
$ briar extract --company COMPANY [--include EXTRACTOR ...] [--storage {file,postgres}][--blob-name NAME] [--root PATH] [--out-json PATH][--merge-claude-md] [--claude-md-path PATH][<provider flags>] [<per-extractor flags>]
Available extractors
Twenty-three scheduled extractors ship today. Each one is independent — if its required credentials are missing, it skips silently and the rest of the pipeline runs unchanged.
Context & activity
active-tickets— open tracker tickets per project (Jira / GitHub Issues / Bitbucket Issues / Linear).active-work— open PRs + recent activity from the configured repo provider.aws-infra— AWS / GCP / Azure inventory: compute, databases, queues, log groups.code-hotspots— files churned most often in the last N days; high-risk surface area.codebase-conventions— language / framework / test-runner / migration-tool detection.github-deployments— recent deployment events from GitHub's deployments API.meeting-digest— Fireflies transcript summaries with attendee filters.pr-archaeology— merged PRs with titles, descriptions, review patterns.reviewer-profile— who reviews what, how fast, what they typically catch.ticket-archaeology— closed tickets with resolutions, useful for context on recurring bugs.
Code quality & engineering health
Thirteen extractors mine git history and the repo-host API for engineering-quality signals. All take --provider github|bitbucket and a per-extractor --<name>-repo owner/repo flag (repeatable). See agents/extract.md for the full per-extractor flag reference.
defect-hotspots— files most likely to break, scored by churn × bug-fixes × size.pr-hygiene— PR size distribution, large-PR rate, rubber-stamp rate, time-to-first-review.review-nits— phrases reviewers repeat across PRs; candidates to codify as lint rules.revert-signals— reverts and emergency fixes; fragile areas the test/review net missed.commit-message-quality— conventional-commits adherence and subject-line hygiene.stale-prs— open PRs idle beyond a threshold; the review backlog.ci-health— pass rate, flaky workflows, run-duration trend.dependency-health— open dependency vulnerabilities by severity (Dependabot).code-scanning— open static-analysis findings grouped by rule and file.repo-governance— branch protection + presence of CODEOWNERS / pre-commit / linter config.test-discipline— test-to-source file ratio and source files without an obvious test.release-cadence— how often the repo ships: release frequency and recency.todo-density— count of TODO / FIXME / HACK markers and the files carrying the most.
Cherry-pick with --include
--include, every extractor with valid credentials runs. Pass --include <name> (repeatable) to run only specific extractors.Examples
Full extract for a company
$ briar extract --company acme
Writes knowledge:acme to ./knowledge/knowledge/acme.md. Runs every extractor whose credentials are configured.
Specific extractors with filters
$ briar extract --company acme \--include pr-archaeology \--include reviewer-profile \--pr-repo acme/widgets \--pr-repo acme/api \--pr-max 50 \--pr-authors-block dependabot \--pr-authors-block renovate
Write to Postgres
$ briar extract --company acme --storage postgres
Requires BRIAR_DATABASE_URL (or the per-company override). The blob name is unchanged — only the backend differs.
Custom blob name (archive snapshot)
$ briar extract --company acme \--blob-name knowledge:acme.archive-2026q1
Non-AWS cloud
$ briar extract --company acme \--include aws-infra \--cloud gcp \--aws-extract-profile my-gcp-project \--aws-extract-region us-central1
The flag names read AWS-flavoured because the AWS provider shipped first. For GCP --aws-extract-profile carries the project ID; for Azure it carries the subscription ID.
Code-quality signals
$ briar extract --company acme \--include defect-hotspots --risk-repo acme/widgets \--include pr-hygiene --prhygiene-repo acme/widgets \--include ci-health --cihealth-repo acme/widgets \--include review-nits --nits-repo acme/widgets
Each code-quality extractor takes its own --<name>-repo flag (repeatable). They read git history plus the repo-host API — no extra credentials beyond the provider token already in use.
Feed CLAUDE.md — read on demand
$ briar extract --company acme \--include defect-hotspots --risk-repo acme/widgets \--include ci-health --cihealth-repo acme/widgets \--merge-claude-md
Writes the full bundle to .briar/knowledge/acme.md and splices a short topic index into CLAUDE.md. Because CLAUDE.md auto-loads into every Claude Code session but the detail file does not, the agent reads the detail only when a task touches one of the listed topics — knowledge on demand, without a per-session context cost.
Non-destructive, re-runnable
The index lives inside a <!-- BEGIN briar-knowledge --> … <!-- END briar-knowledge --> block. Re-running replaces only briar's block and leaves any hand-written CLAUDE.md content untouched. The detail file is written locally even with --storage postgres, since the reference resolves from the project root.
Core flags
--company COMPANYrequiredGITHUB_{COMPANY}_TOKEN, etc.).--include EXTRACTORactive-ticketsactive-workaws-infraci-healthcode-hotspotscode-scanningcodebase-conventionscommit-message-qualitydefect-hotspotsdependency-healthgithub-deploymentsmeeting-digestpr-archaeologypr-hygienerelease-cadencerepo-governancerevert-signalsreview-nitsreviewer-profilestale-prstest-disciplineticket-archaeologytodo-density--storage {file,postgres}default: filefilepostgresBRIAR_DATABASE_URL.--blob-name NAMEdefault: knowledge:<company>knowledge:acme.archive-2026q1 won't clobber knowledge:acme.--root PATHdefault: ./knowledge--storage=file.--out-json PATH--merge-claude-mdCLAUDE.md so Claude Code sessions can read the full detail on demand. Writes the bundle to .briar/knowledge/<company>.md and splices a short, marker-bounded topic index into CLAUDE.md — re-runs replace only briar's block. Off by default.--claude-md-path PATHdefault: ./CLAUDE.mdCLAUDE.md to merge the index into. Only used with --merge-claude-md.Provider flags
Pick which provider implementation the extractors talk to.
--provider {github,bitbucket}default: githubgithubbitbucketactive-work, pr-archaeology, reviewer-profile, code-hotspots, codebase-conventions, and all thirteen code-quality extractors.--cloud {aws,gcp,azure}default: awsawsgcpazureaws-infra.--tracker {jira,github-issues,bitbucket-issues,linear}default: jirajiragithub-issuesbitbucket-issueslinearactive-tickets and ticket-archaeology.--meeting {fireflies}default: firefliesfirefliesmeeting-digest.PR-archaeology / active-work flags
--pr-repo owner/repo--pr-max Ndefault: 100--pr-authors-allow LOGIN--pr-authors-block LOGINdependabot, renovate).--pr-assignees-allow LOGIN--pr-assignees-block LOGINAWS / cloud flags
--aws-extract-profile PROFILE--aws-extract-region REGIONdefault: us-east-1--aws-extract-service {ecs,lambda,logs,rds,sqs,tagging-inventory}ecslambdalogsrdssqstagging-inventorytagging-inventory walks the Resource Groups Tagging API to enumerate every tagged resource across all services.Account-wide inventory, without prompt bloat
tagging-inventory keeps the knowledge blob small — only per-service counts go in the markdown body, while the full per-resource detail (ARN, type, region, tags) rides in the section's structured data. Persist it with the JSON sidecar (--out-json), or set knowledge.config.inventory: "true" in a runbook to write a byte-stable inventory:<company> companion blob that only changes when the estate drifts. Tagged resources only — untagged need AWS Config / Resource Explorer.
active-work flags
--active-repo owner/repo--active-authors-allow LOGIN--active-authors-block LOGIN--active-assignees-allow LOGIN--active-assignees-block LOGINgithub-deployments + codebase-conventions
--deploy-repo owner/repo--conventions-repo owner/repoTicket flags
--ticket-project PROJECT_KEY--ticket-archaeology-project PROJECT_KEY--ticket-max Ndefault: 100reviewer-profile flags
--reviewer-repo owner/repo--reviewer-pr-sample Ndefault: 20--reviewer-top-n Ndefault: 5code-hotspots flags
--hotspots-repo owner/repo--hotspots-since-days Ndefault: 30--hotspots-max-commits Ndefault: 100--hotspots-top-n Ndefault: 10meeting-digest flags
--meeting-since-days Ndefault: 7--meeting-max Ndefault: 25--meeting-attendee-allow EMAILSee also
- briar runbook — declarative form of
briar extractvia a YAML schedule. - briar secrets doctor — audit which extractors have valid credentials for a given company.
- Plugin registries — full list of providers, trackers, clouds, and AWS service gatherers.