chronocode
Record and replay file system changes in real-time. A TUI for watching AI agents (or yourself) build projects.
Demo
Install
Or download a prebuilt binary from Releases.
Usage
# Watch the current directory
# Watch a specific directory
# Show hidden files, update every 500ms
Press q to quit. Every session is automatically recorded.
When you exit, you get a shareable command and the viewer opens in your browser:
Session summary:
Duration: 5m 12s
Events: 23 created, 8 modified, 2 deleted
Recording saved: recordings/recording_20260207_191500.json (33 events)
Share this recording:
chronocode --load eJy0zTEOgCAQBdDe...
Features
- Real-time file tree with emoji icons, sizes, and line counts
- Change detection - created, modified, and deleted files highlighted with deltas
- Statistics dashboard - session duration, event rate, file/dir counts, activity sparkline, extension breakdown
- Automatic recording - every session is saved as JSON for replay
- Web replay viewer - timeline scrubbing, content preview, diff view, LOC counts
- Shareable recordings - compress a recording and send it as a single command
- Gitignore support - respects
.gitignoreby default - Worktree support - automatically discovers and watches git worktrees (great for agentic workflows)
- Search/filter - press
/to search files by name - Scrolling -
j/k,g/G,PageUp/Down,Ctrl+d/uwith position indicator - Collapsible folders in the web viewer
Keyboard shortcuts
| Key | Action |
|---|---|
q |
Quit |
/ |
Search/filter files |
Esc |
Clear search |
j / k |
Scroll down / up |
g / G |
Jump to top / bottom |
PageUp / PageDown |
Scroll by half page |
Ctrl+d / Ctrl+u |
Scroll by half page |
Ctrl+c |
Force quit |
Recording
Sessions are recorded automatically to recordings/ in the watched directory.
# Disable recording
# Record to a specific file
# Include file contents (enables preview/diff in the viewer)
# Don't auto-open the viewer when session ends
Replay
Web viewer
Open the viewer and drop a recording JSON onto it:
Or use the link that auto-opens when a session ends.
Controls: Space play/pause, Arrow keys step, R reset, P toggle preview, S share, click folders to collapse.
Terminal replay
Share a recording
# Generate a shareable command
# Output: chronocode --load eJy0zTEOgCAQBdDe...
# Load a shared recording (opens the web viewer)
The --load command contains the entire recording (compressed), so the recipient only needs the chronocode binary.
Generate from git history
Create a recording from git commits without running a live session:
# From a single commit (diff from its parent)
# From a range of commits
# From a commit to HEAD
The recording is saved to recordings/ and the viewer opens automatically.
Worktrees
Chronocode automatically discovers and watches git worktrees. This is especially useful for agentic coding workflows where tools like Claude Code spawn worktrees to work in parallel.
When you run chronocode inside a git repository, it runs git worktree list and watches all worktrees alongside the main directory. Worktree paths are always included in the recording, even if they would normally be excluded by .gitignore rules (a common setup when the worktrees parent directory is gitignored).
# Worktrees are watched by default — just run chronocode
# Disable worktree watching
Options
Usage: chronocode [OPTIONS] [PATH]
Arguments:
[PATH] Directory to watch [default: .]
Options:
-a, --all Show hidden files and directories
-i, --interval <SECONDS> Refresh interval [default: 0.25]
-f, --max-files <N> Max files shown per directory
-d, --max-depth <N> Max tree depth
--no-gitignore Disable gitignore filtering
--no-stats Hide statistics dashboard
--no-record Disable automatic recording
--no-open Don't auto-open the viewer on exit
-r, --record <FILE> Record to a specific file
-c, --content Include file contents in recording
--replay <FILE> Replay a recorded session
--replay-speed <SPEED> Replay speed multiplier [default: 1]
--viewer Open the web replay viewer
--share <FILE> Generate a shareable command from a recording
--load <DATA> Load a shared recording and open the viewer
--git <SPEC> Generate a recording from git commits
--no-worktrees Disable watching git worktrees
-V, --version Print version
-h, --help Print help
Building from source
The binary is at target/release/chronocode.
License
MIT