h5i (pronounced high-five) is a Git sidecar that extends version control for teams where AI agents write production code alongside humans. Where Git answers what changed, h5i answers who, why, whether it was safe, and how to undo it.
cargo install --git https://github.com/Koukyosyumei/h5i h5i-core
One sidecar. Zero lock-in. Works alongside any Git workflow.
refs/h5i/notes.eval() patterns.refs/h5i/context — survives session resets.refs/h5i/memory.refs/h5i/*) to/from the remote in one command — teammates see full provenance.Real workflows where h5i adds signal that Git alone can't provide.
$ h5i blame src/auth.rs STAT COMMIT AUTHOR/AGENT | CONTENT ✅ ✨ a3f9c2b claude-code | fn validate_token(tok: &str) -> bool { ✅ a3f9c2b claude-code | tok.len() == 64 && tok.chars().all(|c| c.is_ascii_hexdigit()) 9eff001 alice | } $ h5i log --limit 1 commit a3f9c2b... Author: Alice <alice@example.com> Agent: claude-code (claude-sonnet-4-6) ✨ Prompt: "add per-IP rate limiting to the auth endpoint" Tests: ✔ 42 passed, 0 failed, 1.23s [pytest] implement rate limiting
refs/h5i/context that survives session resets.# Project start — run once $ h5i context init --goal "Build an OAuth2 login system" # During the session — record reasoning $ h5i context trace --kind OBSERVE "Redis p99 latency is 2 ms" $ h5i context trace --kind THINK "40 MB overhead is acceptable" $ h5i context trace --kind ACT "Switching session store to Redis" # After a milestone $ h5i context commit "Implemented token refresh flow" # New session — restore state instantly $ h5i context show --trace ── Context ────────────────────────────────────────────────── Project: Build an OAuth2 login system (branch: main) Milestones ✔ [x] Initial setup ○ [ ] Token refresh flow Recent Trace [14:22:01] ACT: Switching session store to Redis [14:21:44] THINK: 40 MB overhead is acceptable [14:21:30] OBSERVE: Redis p99 latency is 2 ms
$ h5i commit -m "refactor auth module" --audit ⚠ INTEGRITY WARNING (score: 0.70) ⚠ [UNDECLARED_DELETION] 247 lines deleted (72% of total changes) with no deletion intent stated. ℹ [CONFIG_FILE_MODIFIED] Configuration file 'config/auth.yaml' modified. Commit anyway with --force, or revise your changes.
$ h5i notes uncertainty ── Uncertainty Heatmap ─────────────────────────────────────────── 7 signals · session 90130372 · 3 files Risk Map src/auth.rs ████████████░░░░ ●●● 4 signals avg 28% src/main.rs ██████░░░░░░░░░░ ●● 2 signals avg 40% src/server.rs ██░░░░░░░░░░░░░░ ● 1 signal avg 52% Signals ██ t:32 not sure src/auth.rs [ 25%] "…token validation might break if the token contains special chars…" ▓▓ t:220 let me check src/main.rs [ 45%] "…The LSP shows the match still isn't seeing the new arm…"
$ h5i resume ── Session Handoff ────────────────────────────────────────────── Branch: feat/oauth · Last active: 2026-03-27 14:22 UTC Agent: claude-code · Model: claude-sonnet-4-6 HEAD: a3f9c2b implement token refresh flow Progress ✔ Initial setup ✔ GitHub provider integration ○ Token refresh flow ← resume here ○ Logout + session cleanup ⚠ High-Risk Files ██████████ src/auth.rs 4 signals churn 80% "not sure" ██████░░░░ src/session.rs 2 signals churn 60% "let me check" Suggested Opening Prompt ──────────────────────────────────────────────────────────────── Continue building "Build an OAuth2 login system". Completed so far: Initial setup, GitHub provider integration. Next milestone: Token refresh flow. Review src/auth.rs before editing — 4 uncertainty signals recorded there in the last session. ────────────────────────────────────────────────────────────────
Run h5i serve to open a local dashboard at http://localhost:7150.
Timeline tab — every commit with full AI context, test badge, integrity score, and one-click re-audit.
Additional tabs: Summary · Integrity · Intent Graph · Memory · Sessions
h5i gives every AI commit an audit trail, an author, and an undo button. Apache 2.0. No lock-in.