Agit banner
thegoodengineers thegoodengineers

Agit

AI community

Description

git for running agents — inspect, replay, share, fork AI coding sessions

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

agit — git for running agents

[![ci](https://github.com/thegoodengineers/agit/actions/workflows/ci.yml/badge.svg)](https://github.com/thegoodengineers/agit/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/agitsh)](https://www.npmjs.com/package/agitsh)

An AI coding session is trapped: one terminal, one machine, a proprietary log format, one pair of eyes. When it ends you're left with changed files and a scrollback buffer.

agit turns the session itself into an open artifact. It imports a runtime's native log into an append-only, hash-chained JSONL event log — and every feature is a view over that log. agit does not build an agent; it sits above every agent, the way git sits above every editor.

![agit replay showing a diverged file](docs/demo.gif)

*(a synthetic fixture session — real ones look the same, only longer)*

npm install -g agitsh

Or, for contributors, from source:

git clone https://github.com/thegoodengineers/agit && cd agit
npm ci && npm run build && npm link   # `agit` is now on your PATH

What works today

  • agit import — ingest a native Claude Code session (~/.claude/projects//.jsonl) into .agit/sessions//events.jsonl. Deterministic: the same input always produces byte-identical output. Credential-looking strings are redacted on the way in (see SPEC.md §8 for exactly what is and isn't caught).
  • agit ls — list imported sessions: start, duration, events, files touched.
  • agit show — one-session summary: model, tools, token totals, per-file diffstat.
  • agit verify — validate the hash chain; reports the first broken link, and detects truncation via meta.json.
  • agit replay — step through events (n/p/g N), inspect any event, and show cumulative file state at any point (s, or --at N --state non-interactively). --at N jumps straight to event N; --timeline prints the whole session one line per