CLI reference
briar agent
Run an autonomous LLM tool-use loop against a target. Two operations ship:
implement (the engineer archetype — pick a ticket, write the code, open a PR) and prfix (the pr-fixer archetype — read PR review comments, push fixes, reply).Flags common to both subcommands
Both implement and prfix share a large set of flags. Documented once here, elided from each subcommand below.
--company COMPANYrequiredCompany key. Must match a runbook YAML if you pass
--runbook.--owner OWNERrequiredRepository owner (GitHub) or workspace (Bitbucket).
--repo REPOrequiredRepository name / slug.
--provider {bitbucket,github}default: githubbitbucketgithubRepository provider.
--store {file,postgres}default: postgresfilepostgresKnowledge-store backend used to read the company knowledge blob.
--knowledge PATHdefault: ./knowledgeFile-store root (ignored for postgres).
--model MODELOverride the LLM provider's default model.
--max-iter NIteration ceiling. Defaults to
AgentRunner.DEFAULT_MAX_ITERATIONS (30).--git-user-name NAMEgit config user.name on the worktree. Required unless company.git_identity.name is set in the runbook.--git-user-email EMAILgit config user.email. Same fallback rule.--keep-worktreeLeave the temp worktree in
/tmp after the run for inspection.--dry-runBuild + print the system prompt, user message, and tool list. Skip the LLM call. Validates the JIT context wiring without spending tokens.
--runbook YAMLRunbook YAML to read this company's
messages: block from. When set, the agent gets a send_message tool bound to the configured channels instead of having to shell out via gh / curl.--meeting PROVIDERdefault: firefliesfirefliesMeeting provider for transcript fetch.
--meeting-key IDSpecific meeting ID to splice into the agent prompt.
--meeting-query STRINGKeyword search across recent meetings. When omitted, defaults to the ticket key (for
implement) or owner/repo#pr (for prfix).--meeting-top-k Ndefault: 3Max meetings to fetch in search mode.
--meeting-max-bytes Ndefault: 50000Per-meeting transcript byte cap.
$ briar agent implement
briar agent implement --company C --owner O --repo R
--ticket-project P --ticket-key K
[--tracker {...}] [common flags]Pick a tracker ticket, clone the repo into a temp worktree, run the engineer archetype until it opens a PR. Reads the company knowledge blob + a JIT ticket-context extractor for live ticket detail.
--ticket-project KEYrequiredTracker project key. Jira:
PROJ; Linear team: ENG; GH / BB Issues: owner/repo.--ticket-key KEYrequiredTicket identifier. Jira:
PROJ-123; GH / BB: #42; Linear: ENG-7.--tracker {bitbucket-issues,github-issues,jira,linear}default: jirabitbucket-issuesgithub-issuesjiralinearTracker provider for the ticket.
$ briar agent implement \--company acme --owner acme --repo widgets \--tracker jira --ticket-project KAN --ticket-key KAN-42 \--runbook runbooks/acme.yaml
$ briar agent prfix
briar agent prfix --company C --owner O --repo R
--pr N --branch BRANCH [common flags]Read open review comments on a PR, apply fixes, push the branch, and reply inline. Reads the company knowledge blob + a JIT pr-review-context extractor for the full review thread state.
--pr NUMBERrequiredPR number to address.
--branch BRANCHrequiredPR head branch name. Required because some providers don't expose it cheaply.
$ briar agent prfix \--company acme --owner acme --repo widgets \--pr 482 --branch briar/kan-42 \--runbook runbooks/acme.yaml
Run prfix from cron
prfix is idempotent — replies to comments it already handled are skipped. Wire it to a schedule_cron trigger or a webhook and it will keep PRs unblocked without supervision.See also
- briar plan run — wraps
agent implementin the selector → implement → writeback loop. - briar scaffold — emit a JSON config bundle wiring
implement/prfixto a downstream orchestrator. - Core concepts: Agents — what archetypes, shapes, and JIT extractors are.