Default path:
~/.brief/brief.db
Environment override:
export BRIEF_DB=/path/to/brief.db
Flag override:
brief --db /path/to/brief.db get --recent
Precedence is --db > BRIEF_DB > ~/.brief/brief.db.
The database and missing parent directory are created automatically on first use.
Create an entry:
brief post --title "First note" --category note --tag brief "brief is working on this machine"
Query it:
brief get "brief is working"
Fetch by ID:
brief get --id 1
get
brief get "hooks in VS Code"
post
brief post --title "Copilot hooks note" --tag hooks --tag vscode "UserPromptSubmit runs before the agent responds."
put
brief put 12 --title "Copilot hooks overview" --add-tag automation
deprecate
brief deprecate 12
delete
brief delete 12 --force
tag
brief tag list
category
brief category list
config
brief config set default_limit 20
brief get supports exactly one of these modes:
brief get "<query>"
brief get --id=<id>
brief get --recent
brief get --recent-updates
Filter flags such as --category, --tag, and --language are valid with <query>, --recent, and --recent-updates.
They are not valid with --id.
post accepts either positional content or --stdin:
printf 'stdin content\n' | brief post --title "stdin example" --stdin
put also accepts either positional content or --stdin:
printf 'updated content\n' | brief put 12 --stdin
In both cases, positional content and --stdin are mutually exclusive.