Skip to main content

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 .gitignore patterns

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 -c flag)

Recordings use relative paths, so they're safe to share without leaking your directory structure.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chronocode-1.0.0.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chronocode-1.0.0-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

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

Hashes for chronocode-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bb8bb6bc1e811c0f8b955b9de4e736fc7d3489df12e6b9013e335a1d8036e154
MD5 f22749d23ad9c64fe3e946212d251421
BLAKE2b-256 2a183ce9fb4bb7cef11790f782f9a45fa4f056a8b9c630d0e261f456657238fd

See more details on using hashes here.

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

Hashes for chronocode-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a76dc891600f87300e7e3361ff7b1ca8bd098c6f6523e551831452a610e91f26
MD5 9a56fc62230f3e9d40b3a652bfcf007b
BLAKE2b-256 8f044b03a6c30460ac60a585d2462aab71b3bd059f571dcb7b8a7c32b0d14a76

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page