Skip to content

Getting Started

Terminal window
curl -fsSL https://get.brainjar.sh/brainjar/install.sh | sh

The script installs a single Go binary. Update later with brainjar upgrade.

Terminal window
brainjar init

This creates ~/.brainjar with a SQLite database, the default workspace, and a starter API key. It does not seed soul, persona, or rule content, and it does not sync anything to your agent’s config file.

To populate a fresh workspace, either author content yourself (see the concepts pages) or import a starter bundle with brainjar pack import.

Terminal window
brainjar status
workspace: <uuid>
home: ~/.brainjar
effective state
soul: (unset)
persona: (unset)
procedure: (unset)
rules: (none)
skills: (none)

For a one-line summary suitable for shell prompts:

Terminal window
brainjar status --short
soul=- persona=- procedure=- rules=0

Once you have a persona saved, activate it and push the change into your agent’s config:

Terminal window
brainjar persona use reviewer
brainjar sync

persona use updates workspace state. brainjar sync composes the effective prompt and writes it into the platform’s managed section (e.g. .claude/CLAUDE.md for Claude Code). If you’ve installed the SessionStart hook (brainjar hooks install), sync runs automatically when your agent starts a new session.

brainjar shell composes a prompt in memory and spawns Claude or Codex with it as the appended system prompt. Nothing is written to CLAUDE.md, so multiple terminals with different brains do not collide.

Terminal window
brainjar shell --persona reviewer --task "Audit src/auth"
brainjar shell --brain cto -- --model opus

Use shell for one-off agent runs, scoped audits, or experiments where you don’t want to mutate workspace state.

brainjar sync composed your active soul, persona, procedure, and rules into a single prompt, emitted resolved skills to disk, and wrote the prompt into your agent’s config file between <!-- brainjar:begin --> / <!-- brainjar:end --> markers. Everything outside the markers is yours.