Quick Start
# Install via Homebrew (macOS/Linux) brew tap regent-vcs/tap brew install regent # Or via Go go install github.com/regent-vcs/regent/cmd/rgt@latest # Initialize in your project cd your-project rgt init # Work with Claude Code, Codex, or OpenCode normally — activity is tracked automatically # See what happened rgt log rgt blame src/file.go:42 rgt show <step-hash>
That's it. Your agent activity is now auditable.
Demo
demo.mp4
Every agent turn is automatically captured. No manual commits needed.
What You Get
See what your agent actually did
$ rgt log Step a1b2c3d | 2 min ago | Tool: Edit │ File: src/handler.go │ Added error handling to request handler │ + 5 lines, - 2 lines Step d4e5f6g | 5 min ago | Tool: Write │ File: tests/handler_test.go │ Created unit tests for handler │ + 23 lines Step f8g9h0i | 8 min ago | Tool: Bash │ Command: go mod tidy │ Cleaned up dependencies
Blame: which prompt wrote this line?
$ rgt blame src/handler.go:42 Line 42: func handleRequest(w http.ResponseWriter, r *http.Request) { Step: a1b2c3d4e5f6 Session: claude-20260502-143021 Tool: Edit Prompt: "Add error handling to the request handler"
Track multiple concurrent sessions
$ rgt sessions Active Sessions: claude_code:claude-20260502-143021 | 3 steps | Last: 2 min ago codex_cli:codex-20260502-091534 | 7 steps | Last: 2 hours ago $ rgt log --session claude_code:claude-20260502-143021 # Filter history by session
See full context for any change
$ rgt show a1b2c3d Step a1b2c3d4e5f6 Parent: d4e5f6g7h8i9 Session: claude-20260502-143021 Time: 2026-05-02 14:30:21 Tool: Edit File: src/handler.go Changes: + func handleRequest(w http.ResponseWriter, r *http.Request) { + if r.Method != "GET" { + http.Error(w, "Method not allowed", 405) + return + } - func handleRequest(w http.ResponseWriter, r *http.Request) { Conversation: User: "Add error handling to reject non-GET requests" Assistant: "I'll add method validation to the handler..."
Why This Exists
AI agents have no version control of their own.
You know this pain:
- "It was working five minutes ago"
- "Why did you change that file?"
- "Go back to before the refactor"
/compactand pray- Copy-pasting code into a fresh chat
Three primitives that should already exist:
rgt log— what did this session do?rgt blame— which prompt wrote this line?rgt show— inspect the full context for any step
We gave agents write access to our codebases. We did not give ourselves git for it. re_gent fixes that.
How It Works
re_gent stores agent activity in .regent/ (like .git/):
.regent/
├── objects/ # Content-addressed blobs (BLAKE3)
├── refs/ # Session pointers (one per agent)
├── index.db # SQLite query index
└── config.toml
Every tool-using turn creates a Step — a content-addressed snapshot of what changed, why, and who asked:
Step { parent: <previous-step-hash> tree: <workspace-snapshot> causes: [{ tool_name: "Edit", args: <input>, result: <output> }] session_id: "claude_code:claude-20260502-143021" timestamp: "2026-05-02T14:30:21Z" }
Steps form a DAG. Each session has its own branch. Common ancestors dedupe. You get git-level auditability for agent activity.
Technical details: See POC.md for the complete specification.
Installation
Via Homebrew (macOS/Linux)
brew tap regent-vcs/tap brew install regent
This installs the rgt command and automatically sets up shell completions for bash, zsh, and fish.
Via Go Install
go install github.com/regent-vcs/regent/cmd/rgt@latest
Shell Completion (manual setup):
# Bash rgt completion bash > /usr/local/etc/bash_completion.d/rgt # Zsh rgt completion zsh > "${fpath[1]}/_rgt" # Fish rgt completion fish > ~/.config/fish/completions/rgt.fish
From Source
git clone https://github.com/regent-vcs/regent
cd regent
go build -o rgt ./cmd/rgt
sudo mv rgt /usr/local/bin/Binary Releases
Download pre-built binaries from GitHub Releases
Supported Tools
| Tool | Status |
|---|---|
| Claude Code | Fully supported |
| OpenAI Codex CLI | Fully supported |
| OpenCode | Fully supported |
| Cursor, Cline, Continue | Planned |
Hooks auto-configure on rgt init. No manual setup required.
Commands
| Command | Description |
|---|---|
rgt init |
Initialize .regent/ in current directory |
rgt log |
Show step history (supports --session, -n, --json, --graph) |
rgt sessions |
List all active sessions |
rgt status |
Show current repository state |
rgt show <step> |
Display full context for a step (tool call + conversation) |
rgt blame <path>[:<line>] |
Show per-line provenance for a file |
rgt cat <hash> |
Inspect any object by hash |
rgt version |
Print version information |
rgt completion |
Generate shell completion scripts |
Features
- Content-Addressed Storage — BLAKE3 hashing, automatic deduplication
- Fast Queries — SQLite index, sub-10ms lookups
- Per-Session DAG — Concurrent sessions tracked as separate refs
- Conversation Tracking — Survives
/compactand/clear - Hook-Driven — Transparent Claude Code, Codex, and OpenCode integration
- Zero Configuration — Hooks auto-configure on
rgt init - Concurrency-Safe — CAS refs, ACID transactions
- Gitignore-Compatible —
.regentignoresupport
Editor Integration
VSCode Extension
Get inline blame annotations directly in your editor:
# From VSIX (Recommended) # Download the latest .vsix from: # https://github.com/regent-vcs/vscode-regent/releases # Then in VS Code: Extensions > ... > Install from VSIX... # From source (Development) git clone https://github.com/regent-vcs/vscode-regent cd vscode-regent npm install && npm run compile # Press F5 in VS Code to launch Extension Development Host
Features:
- Inline blame annotations showing which step modified each line
- Hover tooltips with full step context (timestamp, tool name, arguments)
- Session timeline view in the sidebar
- One-click access to conversation history
Requirements: rgt CLI must be installed and rgt init run in your project.
re_gent vs Git
| Git | re_gent | |
|---|---|---|
| Tracks code | ✅ | ✅ |
| Tracks agent activity | ❌ | ✅ |
| Blame with prompt | ❌ | ✅ |
| Conversation history | ❌ | ✅ |
| Concurrent sessions | ✅ separate captured session refs | |
| Purpose | Developer VCS | Agent audit trail |
re_gent complements git, doesn't replace it. Use both.
Roadmap
See ROADMAP.md for planned features including:
- Non-destructive rewind and fork operations
- Additional tool adapters (Cursor, Cline, Continue)
- Session sharing and merge support
- Garbage collection and integrity verification
Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
Quick Start:
- QUICK_START.md — 5-minute setup guide
- Good first issues
Before opening a PR:
- Tests pass:
go test ./...andgo test -race ./... - Linter passes:
golangci-lint run - Code formatted:
go fmt ./...
Built With
- cobra — CLI framework
- blake3 — BLAKE3 hashing
- go-diff — Myers diff
- modernc.org/sqlite — Pure Go SQLite