Show HN: Git for AI Agents
Summary
re_gent is an open-source version control system for AI agent activity, tracking every tool call and associated prompt so developers can audit and roll back agent changes.
View Cached Full Text
Cached at: 05/08/26, 03:28 PM
regent-vcs/re_gent
Source: https://github.com/regent-vcs/re_gent
Git for AI Agents
Version control for AI agent activity. Track what your agent did, which prompt wrote each line, and rewind when things break.
Demo
Every tool call is automatically captured. No manual commits needed.
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 normally (every tool call is tracked)
# See what happened
rgt log
rgt blame src/file.go:42
That’s it. Your agent activity is now auditable.
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-20260502-143021 | 3 steps | Last: 2 min ago
claude-20260502-091534 | 7 steps | Last: 2 hours ago
$ rgt log --session 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
The problem: 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
The solution: Three primitives that should already exist:
rgt log— what did this session do?rgt blame— which prompt wrote this line?rgt rewind— restore to any previous step (coming soon)
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 call creates a Step:
Step {
parent: <previous-step-hash>
tree: <workspace-snapshot>
transcript: <conversation-delta>
cause: {
tool_name: "Edit"
args: <what-changed>
result: <tool-output>
}
session_id: "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 both regent and rgt commands (they’re identical) and automatically sets up shell completions for bash, zsh, and fish.
Via Go Install
go install github.com/regent-vcs/regent/cmd/rgt@latest
This installs the rgt command.
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/
# Optionally create a symlink: sudo ln -s /usr/local/bin/rgt /usr/local/bin/regent
For shell completion, follow the “Via Go Install” instructions above.
Binary Releases
Download pre-built binaries from GitHub Releases
Editor Integration
VSCode Extension
Get inline blame annotations directly in your editor:
Installation Options:
# 1. From VSIX (Recommended)
# Download the latest .vsix from:
# https://github.com/regent-vcs/vscode-regent/releases
# Then in VS Code: Extensions > ... > Install from VSIX...
# 2. From VS Code Marketplace (Coming Soon)
# Search for "re_gent Blame"
# 3. 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
- Direct SQLite integration—no subprocess overhead
Requirements: re_gent CLI must be installed and rgt init run in your project.
Commands
Available Now:
| Command | Description |
|---|---|
rgt init | Initialize .regent/ in current directory |
rgt log | Show step history (supports --session, -n, --since) |
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 (debug) |
rgt version | Print version information |
rgt completion | Generate shell completion scripts |
Coming Soon:
| Command | Description |
|---|---|
rgt rewind <step> | Non-destructive time-travel |
rgt gc | Garbage collection |
rgt fork <step> | Create a new session from a step |
Features
- Content-Addressed Storage — BLAKE3 hashing, automatic deduplication
- Fast Queries — SQLite index, sub-10ms lookups
- Per-Session DAG — Concurrent agents, no conflicts
- Conversation Tracking — Survives
/compactand/clear - Hook-Driven — Transparent Claude Code integration
- Concurrency-Safe — CAS refs, ACID transactions
- Gitignore-Compatible —
.regentignoresupport
re_gent vs Git
| Git | re_gent | |
|---|---|---|
| Tracks code | ✅ | ✅ |
| Tracks agent activity | ❌ | ✅ |
| Blame with prompt | ❌ | ✅ |
| Conversation history | ❌ | ✅ |
| Concurrent sessions | ⚠️ conflicts | ✅ separate branches |
| Purpose | Developer VCS | Agent audit trail |
re_gent complements git, doesn’t replace it. Use both.
Status
Active Development
- ~7.8k LOC Go implementation
- Core functionality: init, log, sessions, status, show, blame — COMPLETE
- Hook integration (Claude Code) — COMPLETE
- Used daily by contributors
- Not yet v1.0
Honest assessment: Production-quality code at POC-level feature completeness. We’re building in public.
Contributing
Contributions are welcome! re_gent is built in public and we actively review PRs.
Quick Start:
- Read QUICK_START.md for a 5-minute setup guide
- Check good first issues
- Full guidelines: CONTRIBUTING.md
Before opening a PR:
-
Tests pass:
go test ./...andgo test -race ./... -
Linter passes:
golangci-lint run -
Code formatted:
go fmt ./... - PR template filled out
Important files:
- CONTRIBUTING.md — Full contribution guide
- SUPPORT.md — Support and help resources
- TESTING.md — Testing guide and strategy
- CLAUDE.md — Project context and architecture
- POC.md — Technical specification
Built With
- cobra — CLI framework
- blake3 — BLAKE3 hashing
- go-diff — Myers diff
- modernc.org/sqlite — Pure Go SQLite
License
Built by contributors
Similar Articles
Re_gent
Re_gent is a version control tool for tracking and managing AI agent activity.
@gaoren7716: Version control system for AI agents. Tracks what the agent did, which prompt wrote which line, and allows rollback to any step. Like .git has a .regent directory, but it records agent activity instead of human commits. Several core commands: rgt log —…
re_gent is a version control system for AI agents, tracking agent actions, enabling line-level attribution to specific prompts, and supporting rollback. It integrates with Claude Code, Codex, and OpenCode automatically.
Show HN: Oak – Git replacement designed for agents
Oak is an open-source version control system designed for AI agents, offering branch-per-session workflows, content-addressed lazy mounts, and faster performance than git. It is in public beta and available as a CLI tool and reusable Rust library.
How do you version and roll back your AI agents? git is failing me and I feel like I'm missing something.
A developer shares struggles with versioning and rolling back AI agents using git, highlighting issues with silent behavior changes from prompt edits and lack of regression signals. They ask the community for better workflows.
Show HN: Gitdot – a better GitHub. Open-source, anti-AI, and written in Rust
Gitdot is an open-source, anti-AI Git hosting platform written in Rust, presented as a better alternative to GitHub.