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][<provider flags>] [<per-extractor flags>]
Available extractors
Ten 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.
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.
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.
Core flags
--company COMPANYrequiredGITHUB_{COMPANY}_TOKEN, etc.).--include EXTRACTORactive-ticketsactive-workaws-infracode-hotspotscodebase-conventionsgithub-deploymentsmeeting-digestpr-archaeologyreviewer-profileticket-archaeology--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 PATHProvider flags
Pick which provider implementation the extractors talk to.
--provider {github,bitbucket}default: githubgithubbitbucketactive-work, pr-archaeology, reviewer-profile, code-hotspots, and codebase-conventions.--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.