Record and replay file system changes - watch AI agents build projects in real-time
Project description
ChronoCode ๐ฌ
Record and replay file system changes in real-time. Perfect for watching AI agents build projects!
Features
- Real-time monitoring: Watch files and directories as they change
- Visual tree view: Color-coded directory structure with file type icons
- Change tracking: See created, modified, and deleted files with size/LOC deltas
- Session recording: Record development sessions to JSON files
- Web-based replay viewer: Replay recordings with timeline scrubbing, content preview, diff view, and code structure analysis
- Gitignore support: Automatically respects
.gitignorepatterns
Installation
Using uv (recommended)
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Run directly without installation
uv run chronocode.py
# Or install the tool
uv pip install -e .
Using pip
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Usage
Basic Usage
# Watch current directory
./chronocode
# Watch specific directory
./chronocode /path/to/directory
# Show hidden files
./chronocode -a
# Update more frequently (every 0.5 seconds)
./chronocode -i 0.5
Recording Sessions
# Record a session (metadata only - small file size)
./chronocode -r
# Record with file contents (enables content preview/diff in viewer)
./chronocode -r -c
# Record to specific file
./chronocode -r session.json /path/to/project
Web Replay Viewer
Open replay.html in your browser and drag a recording JSON file onto it.
Features:
- Timeline scrubber with event markers
- Playback controls: Play/Pause, Step, Speed adjustment
- File tree with real-time updates
- Content preview (if recorded with
-c) - Diff view for modified files
- Structure view showing functions/classes being worked on
Keyboard shortcuts: Space (play/pause), Arrow keys (step), R (reset), P (toggle preview)
Terminal Replay
# Replay in terminal
./chronocode --replay session.json /path/to/project
# Replay at 2x speed
./chronocode --replay session.json --replay-speed 2.0 /path/to/project
Command Line Options
| Option | Description |
|---|---|
path |
Directory to watch (default: current directory) |
-a, --all |
Show hidden files and directories |
-i, --interval |
Refresh interval in seconds (default: 1.0) |
-f, --max-files |
Maximum files to show per directory |
-d, --max-depth |
Maximum directory depth to display |
--no-gitignore |
Do not respect .gitignore files |
--no-stats |
Disable the statistics dashboard |
-r, --record |
Record events to a JSON file |
-c, --content |
Include file contents in recording |
--replay |
Replay events from a JSON file |
--replay-speed |
Replay speed multiplier (default: 1.0) |
Example Output
๐ /Users/dylan/myproject
Name Status Size ฮ Size LOC ฮ LOC
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโ ๐ src โจ NEW
โ โโโ ๐ main.py โจ NEW 2.5KB 45L
โ โโโ ๐ utils.py โ๏ธ MOD 1.2KB +256B 23L +5
โ โโโ ๐ helpers.js โจ NEW 890B 12L
โโโ ๐ tests โจ NEW
โ โโโ ๐งช test_main.py โจ NEW 450B 15L
โโโ ๐ README.md โ๏ธ MOD 1.5KB +1.2KB 34L +12
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ 4 files ๐ 3 dirs ๐พ 5.09 KB ๐ 129L lines โ โจ 5 new โ๏ธ 2 mod
How Recording Works
When you use the -r flag, ChronoCode creates a JSON file containing:
- Timestamps of each event
- Event type (created, modified, deleted)
- File path and size
- Optionally, file contents (with
-cflag)
Recordings use relative paths, so they're safe to share without leaking your directory structure.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chronocode-1.0.0.tar.gz.
File metadata
- Download URL: chronocode-1.0.0.tar.gz
- Upload date:
- Size: 31.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb8bb6bc1e811c0f8b955b9de4e736fc7d3489df12e6b9013e335a1d8036e154
|
|
| MD5 |
f22749d23ad9c64fe3e946212d251421
|
|
| BLAKE2b-256 |
2a183ce9fb4bb7cef11790f782f9a45fa4f056a8b9c630d0e261f456657238fd
|
File details
Details for the file chronocode-1.0.0-py3-none-any.whl.
File metadata
- Download URL: chronocode-1.0.0-py3-none-any.whl
- Upload date:
- Size: 32.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a76dc891600f87300e7e3361ff7b1ca8bd098c6f6523e551831452a610e91f26
|
|
| MD5 |
9a56fc62230f3e9d40b3a652bfcf007b
|
|
| BLAKE2b-256 |
8f044b03a6c30460ac60a585d2462aab71b3bd059f571dcb7b8a7c32b0d14a76
|