Skip to main content

Prerequisites

Before you start, make sure:
1

Oobo is installed

Verify installation:
oobo version
If not installed, see Installation.
2

Git is available

Oobo requires git to function:
git --version
Install git if needed: git-scm.com
3

You're in a git repository

Oobo works within git repositories. Initialize one if needed:
git init
# or
git clone <repo-url>
4

You have AI tool sessions (optional)

Oobo captures context from AI coding tools like Cursor, Claude Code, Windsurf, etc. If you don’t have any sessions yet, oobo will still work but won’t have AI context to capture.Supported tools: Cursor, Claude Code, Gemini CLI, OpenCode, Aider, GitHub Copilot Chat, Windsurf, Zed, Trae, Codex CLI

Setup wizard

Run the interactive setup wizard to configure oobo:
oobo setup
The wizard will:
1

Scan for AI tools

Oobo automatically detects installed AI coding tools and their sessions:
scanning for AI tools...
found: Cursor (42), Claude Code (18), Windsurf (5)
3 project(s), 65 session(s)
If no tools are found, you can still enable tools manually during setup. Oobo will discover sessions when you run oobo scan later.
2

Configure tools

Select which tools to track. All detected tools are enabled by default.You can:
  • Enable/disable specific tools
  • Configure per-tool settings
  • Add API keys for usage data (Anthropic, OpenAI, etc.)
3

Set up transparency mode

Choose whether to send AI context to a remote endpoint:
  • Off (default): Everything stays local
  • On: Anchors fire events to configured endpoint
Only enable transparency mode if you control the endpoint or trust the service.
4

Install git alias (optional)

Optionally install alias git=oobo so you can use git commands directly:
git commit -m "fix auth"  # actually runs oobo commit
This is completely transparent — all git commands continue to work exactly as before.
5

Install hooks

Oobo installs:
  • Agent lifecycle hooks (for Cursor, Claude Code, Gemini CLI, OpenCode)
  • Git hooks (post-commit, pre-push) for the current project
These enable automatic session tracking and anchor syncing.
When complete, you’ll see:
Configuration saved to /home/user/.oobo/config.toml
Git alias installed (git = oobo)
Agent skill installed at ~/.agents/skills/oobo/

Agent lifecycle hooks installed:
  Cursor
  Claude Code
  OpenCode

Git hooks installed for this project:
  post-commit
  pre-push

You're all set! Try:
  oobo sessions   -- view your AI chat sessions
  oobo scan       -- discover projects and sessions
  oobo dash       -- interactive dashboard
The agent skill file at ~/.agents/skills/oobo/SKILL.md tells AI agents how to use oobo. Agents that scan this directory will discover oobo automatically.

Make your first commit

Now use oobo just like git. Every commit automatically captures AI context:
1

Stage your changes

oobo add .
# or use git directly if you installed the alias:
git add .
This passes through to git add unchanged — oobo only intercepts write operations.
2

Commit with oobo

oobo commit -m "fix authentication middleware"
Behind the scenes, oobo:
  1. Executes the real git commit
  2. Reads AI sessions from local tool storage
  3. Links sessions that contributed to this change
  4. Builds an anchor with sessions, tokens, attribution
  5. Writes anchor to local DB and oobo/anchors/v1 branch
  6. Returns git’s exit code
You’ll see normal git output:
[main abc1234] fix authentication middleware
 2 files changed, 15 insertions(+), 8 deletions(-)
3

Push to remote

oobo push origin main
This pushes:
  • Your main branch (normal git push)
  • The oobo/anchors/v1 branch (anchor metadata)
Anchors sync automatically with your repo.
Read operations like status, log, and diff pass through to git with zero overhead. Only write operations (commit, push, merge) trigger anchor capture.

View your anchors

See the enriched commit history with AI context:
oobo anchors
Example output:
◆ abc1234 fix authentication middleware
  Contributors: You, Claude 3.7 Sonnet
  Sessions: 1 (14.2k tokens)
  AI: 45 lines, Human: 12 lines

● def5678 update README
  Contributors: You
  No AI sessions linked

Purple diamond (◆)

Commits with linked AI sessions

Gray circle (●)

Human-only commits (no AI context)

JSON output for agents

oobo anchors --agent
Returns structured JSON with full anchor metadata:
[
  {
    "commit_hash": "abc1234def5678",
    "message": "fix authentication middleware",
    "timestamp": "2026-03-09T10:30:00Z",
    "sessions": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "source": "cursor",
        "model": "claude-3-7-sonnet",
        "tokens_in": 8420,
        "tokens_out": 5780
      }
    ],
    "contributors": [
      {"name": "You", "role": "human"},
      {"name": "Claude 3.7 Sonnet", "role": "agent", "model": "claude-3-7-sonnet"}
    ],
    "attribution": {
      "ai_lines": 45,
      "human_lines": 12
    }
  }
]

Browse sessions

Explore your AI chat sessions:
oobo sessions
Opens an interactive terminal UI:
  • Navigate with arrow keys
  • Press Enter to view full conversation
  • Press q to quit
Shows:
  • Session source (Cursor, Claude Code, etc.)
  • Model used
  • Token counts (input/output)
  • Session duration
  • Title/first message

Show a specific session

oobo sessions show abc12def
You can use a session ID prefix (like a git commit hash). Oobo will match it automatically. For agents:
oobo sessions show abc12def --agent
Returns the full conversation as JSON with all messages.

Optional: Install git alias

If you didn’t install the git alias during setup, you can add it later:
oobo alias install
This adds to your shell’s rc file:
alias git=oobo  # oobo
After this, all git commands automatically go through oobo:
git commit -m "fix bug"    # actually runs oobo commit
git push origin main       # actually runs oobo push
git status                 # passes through to git
The alias is completely transparent. Git commands work exactly as before — oobo just enriches write operations with AI context.

Remove the alias

If you prefer to use oobo explicitly:
oobo alias uninstall

View analytics

See token usage and code attribution:
oobo stats
Example output:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Token Usage
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Total input:   142.3k tokens
  Total output:   89.7k tokens
  Sessions:       65

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Code Attribution
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  AI-assisted:    2,340 lines (67%)
  Human:          1,150 lines (33%)
  Total commits:  24

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Models
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  claude-3-7-sonnet:    42 sessions
  gpt-4o:               18 sessions
  gemini-2.0-flash:      5 sessions
Filter by project or tool:
oobo stats --project myapp
oobo stats --tool cursor
oobo stats --since 30d
For agents:
oobo stats --agent
Returns analytics as structured JSON.

Discover more projects

Oobo automatically tracks all git projects where you use AI tools:
oobo scan
This discovers:
  • All git repositories on your system
  • AI sessions associated with each project
  • Token usage per project
Then view all projects:
oobo projects
Opens an interactive TUI to browse projects and their AI activity.
Oobo indexes projects and sessions in the background. Run oobo index to compute token counts and analytics for all sessions.

What’s next?

Configuration

Customize tool settings, endpoints, and transparency mode

Commands

Complete reference for all oobo commands

For AI Agents

Using oobo from autonomous agents with --agent flag

Privacy & Security

Understand how oobo handles your data

Troubleshooting

If oobo sessions shows no results:
  1. Verify AI tools are enabled in config: oobo dash
  2. Check that you’ve used AI tools in this project
  3. Run discovery: oobo scan
  4. Check data sources: oobo sources
Oobo reads sessions from local storage directories. If you just installed an AI tool, there may not be any sessions yet.
If oobo isn’t capturing commits:
  1. Verify you’re using oobo commit (not bare git commit without the alias)
  2. Check if alias is installed: alias | grep git
  3. Check git hooks: ls -la .git/hooks/
  4. Re-run setup in the project: oobo setup
If oobo anchors is empty after commits:
  1. Check if the orphan branch exists: git branch -a | grep oobo/anchors
  2. Import anchors: oobo sync
  3. Check diagnostics: oobo inspect
  4. Try auto-repair: oobo inspect --fix
If commits show no linked sessions:
  • Make sure you used an AI tool before committing
  • Check time window correlation (oobo links sessions from the last 24 hours)
  • For tools with agent hooks (Cursor, Claude Code, etc.), verify hooks are installed
  • Check session timestamps: oobo sessions --agent
If oobo setup encounters errors:
  1. Check permissions on ~/.oobo/: ls -la ~/.oobo
  2. Verify git is working: git status
  3. Run diagnostics: oobo inspect --fix
  4. Check logs in ~/.oobo/logs/ if they exist
  5. Report issue: GitHub Issues
For detailed diagnostics, run oobo inspect to check for common issues, or oobo inspect --fix to auto-repair what can be fixed.

Build docs developers (and LLMs) love