On this page

Burr / Documentation

Start with a useful memory.

Save a verified fix. Find it in your next debugging session. Burr keeps the records on your machine.

Install

Requires Node.js 22.12+. Install the CLI, then set up the project you work in.

Terminal / code
npm install -g burr-memory@latest
cd your-project
burr init

Use burr global for supported user-level integrations. Review Codex hooks in /hooks. See agent setup for the differences.

Prefer a project dependency?
Terminal / code
npm install -D burr-memory@latest
npm exec -- burr init
npm exec -- burr search "your error"

Use it on a real failure

Terminal / code
burr search "response.users is undefined"
burr capture --error "response.users is undefined" --why "API schema changed"
# Fix the code and run your project's checks.
burr resolve --error "response.users is undefined" --cause "users moved into data" --fix "Read response.data.users" --verify "npm test: 12 passed, 0 failed"
burr audit

Burr checks the verification text; it does not run the command for you. Supply the actual result.

Update. Reconnect. Check.

Updates are explicit. Use the same installation method you started with, then regenerate the integration so it points at the current runtime.

Terminal / code
npm install -g burr-memory@latest
burr global
burr doctor
Project installation or Pi
Terminal / code
# In the project that installed Burr locally
npm install -D burr-memory@latest
npm exec -- burr init
npm exec -- burr doctor

# Pi extension installation
pi install npm:burr-memory@latest

Restart or reload your agent after installation. Review Codex hooks in /hooks. Confirm that OpenCode loaded its plugin or Pi loaded its extension. A successful burr doctor checks local storage; it does not prove that a host registered its hooks.

Run a tool through a supported adapter, then inspect burr stats or burr dashboard for a recorded run. Skills-only integrations rely on the agent invoking Burr commands. See the support matrix before expecting automatic observation.

One machine. Shared memory.

Two local paths: skills and CLI search Markdown signals and playbooks; supported host adapters use structured runtime lessons and record run history. Project .burr holds configuration and usage, not shared memory.
Two retrieval paths. One machine. No hosted storage.

Playbooks are available across your local projects. Each project keeps its own configuration and usage.

Terminal / code
~/.burr/
  memory/playbooks/        Markdown fixes
  memory/signals/          Captured failures
  memory/knowledge/       Structured runtime lessons
  memory/tool-strategies/  Tool strategies
  candidates/             Proposed lessons
  archive/                Retired lessons
  runs/                   Tool histories
  metrics/                Runtime events

<project>/.burr/           Config, instructions, generated skills, usage

CLI search reads Markdown. Runtime retrieval reads structured lessons and checks available scope. This is local storage, not cloud sync or team sharing.

Keep local records out of Git.

burr init adds .burr/ to your gitignore. Review generated host files separately. Preserve team-owned rules, and do not commit debugging records containing private context.

Catch repeated failures.

Loaded runtime adapters record tool outcomes and check proposed actions for repetition, cycles, and stalled output.

The default score warns at 50. Scores of 70 or more can block repeated failed execution; productive repeats remain warnings. These are heuristics, so inspect the reasons before changing your workflow.

Skills and editor rules do not intercept tools. A custom integration must call the runtime and honor its decision. burr off disables runtime guidance for the project; burr strict adds search-first instructions, not a universal edit block.

Read the detector details

Keep the useful lessons.

Runtime admission checks evidence and scope before promoting or merging a lesson. Confirmed reuse adjusts confidence; replayed session evidence does not count twice. Archived runtime lessons are removed from active search exports.

Run burr memory prune to apply retention. Defaults mark unused runtime lessons stale after 30 days, archive after 60, and remove run histories after seven days. CLI signals and usage logs have no automatic expiry or total storage cap.

Local by design.

Burr makes no outbound network requests after installation. Your agent's model connection is separate. Known secret patterns are redacted before storage, but arbitrary sensitive data may still remain. Do not submit credentials, customer data, or full source trees.

Guarded writes reject path escapes and linked paths. Retrieved lessons are untrusted historical evidence, not instructions to override your current task. The local dashboard has no account login and binds to 127.0.0.1.

Choose your agent.

Choose the setup for your editor. Skills guide the agent; loaded runtime adapters can also observe tool outcomes.

Agent What Burr supplies Setup
Codex Skills and native session/tool hooks burr init or burr global; review /hooks
OpenCode Plugin instructions, commands, tool callbacks burr init or burr global; keep Burr installed
Pi Skills and a runtime extension pi install npm:burr-memory@latest; copied skills alone do not load the extension
Claude Code /burr-* skills burr init or burr global; instruction workflow
Cursor Project rules burr init; global User Rules are manual
Windsurf Project rules burr init; global rules are manual

Native checks passed on Codex 0.160.0, Pi 0.80.10 and 1.0.0, and OpenCode 1.18.34. Codex and Pi checks cover tool behavior; OpenCode's native check covers discovery, with callbacks covered separately. These are version-specific checks, not a promise that every agent or future release works unchanged.

Setup details and limitations
  • Codex skills are generated under .agents/skills/. Hosted tools such as web search may not emit local hooks.
  • Claude Code uses .claude/skills/. Burr ships no automatic Claude tool interceptor.
  • Cursor uses .cursor/rules/burr.mdc; Windsurf uses .windsurf/rules/burr.md.
  • OpenCode loads the managed plugin; Pi must load pi-extension/index.ts through its package extension system. See the setup reference.
  • Other agents can call the installed CLI or integrate the Node API. Automatic hooks require an adapter; no universal agent or MCP server is supplied.

Everyday commands.

Find saved fixes, inspect local activity, and manage runtime lessons.

Terminal / code
burr status                 # Current project mode
burr search "error text"     # Find a saved fix
burr audit                  # CLI usage
burr stats                  # Runtime observations
burr doctor                 # Local storage checks
burr dashboard              # Local metrics UI
burr memory list            # Runtime lessons
burr memory prune           # Apply retention
burr off                    # Disable project runtime guidance

For project installations, prefix commands with npm exec --. burr doctor checks storage, not whether your editor loaded its integration.

Bring your own agent.

Import from burr-memory/api. The root import exports the OpenCode plugin.

Terminal / code
import { LoopDetector } from "burr-memory/api";

const detector = new LoopDetector({ autoRecord: false });
const args = { cmd: "npm test" };
const check = detector.evaluateAction("run_command", args);
if (check.blocked) {
  console.warn(check.reasons, check.suggestedAction);
} else {
  // Execute your tool; record its actual output and status.
  detector.recordAction("run_command", args, "12 passed", "completed");
}

This in-memory example does not execute a tool. The /codex lifecycle API adds persistence, retrieval, and reflection when your host calls it with real outcomes. Session completion is not verification.

A short reference for agents.

Read llms.txt for commands, storage, and integration boundaries in plain text.

Copied to clipboard