Skip to main content

ccgarden

Grow a garden from your local Claude Code session history.

ccgarden reads the JSONL transcripts under ~/.claude/projects, rolls them up into a small sqlite history db, and renders the result as an SVG tree: one growing organism that represents everything you've built with Claude Code on this machine.

Example garden, rendered from synthetic sample data

(This is a dummied-up example with a few months of synthetic data across five repos, several models, and a handful of tools — enough to show every shape the renderer draws. Your own garden will look sparser at first and fill in as you work.)

What each shape means

Shape Grows with
Trunk Total sessions, across all repos
Rings One per day worked; bolder rings mean busier days
Branches One per repo — longer branches mean more lines changed, thicker branches mean more tokens
Leaves One per session; more leaves means a busier repo, bigger leaves mean deeper (more turns/session) sessions
Flowers One per whole ratio of cache reads to cache writes
Clouds One per model + reasoning-effort combination used; bigger and darker clouds mean more tokens and heavier thinking
Sun Rises and brightens with your all-in token total (output + input + cache read + cache write)
Bushes One per tool (Bash, Edit, Read, ...); bigger bushes mean more calls
Sunflowers One per repo; taller stalks mean more prompts
Birds One per cartoon adapter that saved tokens; bigger birds mean more tokens saved. Only appears if cartoon is installed

Hover (or tap, on mobile) any shape for the exact numbers behind it.

Install

uv tool install ccgarden

(or pipx install ccgarden). This installs two commands: ccgarden and ccstats.

To hack on it instead, clone the repo and run uv sync, which puts the same two commands in the project's virtualenv.

Usage

uv run ccgarden

This will:

  1. Scan ~/.claude/projects and record today's snapshot into ~/.claude/ccstats.db (same as running ccstats — see below).
  2. Replay the full day-by-day history from that db into an animated SVG timelapse of the garden growing.
  3. Write it to ~/.claude/ccgarden.svg and open it in your browser (add --no-open to skip that last step).

Run it again any day and the garden picks up where it left off — new rings, longer branches, bigger clouds, more leaves.

ccstats

The underlying stats engine can also be run on its own, for a terminal-native usage report instead of (or before) rendering a garden:

uv run ccstats                       # summarize all local session logs
uv run ccstats --since 2026-06-01    # limit the window
uv run ccstats --json                # machine-readable output
uv run ccstats --record --since 2026-01-01 --until 2026-07-01  # backfill history

Run uv run ccstats --help for the full list of flags.

Development

uv run pytest
uv run ruff check .

License

MIT — see LICENSE.

Download files

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

Source Distribution

ccgarden-0.1.0.tar.gz (497.5 kB view details)

Uploaded Source

Built Distribution

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

ccgarden-0.1.0-py3-none-any.whl (56.8 kB view details)

Uploaded Python 3

File details

Details for the file ccgarden-0.1.0.tar.gz.

File metadata

  • Download URL: ccgarden-0.1.0.tar.gz
  • Upload date:
  • Size: 497.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ccgarden-0.1.0.tar.gz
Algorithm Hash digest
SHA256 af58229f338f5a306c9214ae6089e3f909a362ffea04d96a7e9a0da496a7a41e
MD5 4d513bf1945a4d9352c1f8215e9a6e49
BLAKE2b-256 af34a09cd163775b6e70b414d7ecc21c07fe7f27551462adfe8144ef0f92b52f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccgarden-0.1.0.tar.gz:

Publisher: publish.yml on dannybrown37/ccgarden

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ccgarden-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ccgarden-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 56.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ccgarden-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20dfa68a27121f4e7559856b1556acec67b12ea471a00f94e5f69248d7c53336
MD5 e23395c06502f341cc2465a46258df7b
BLAKE2b-256 2664d79e177766576d9089b9151ed91aad990c636fcf4d9825c378feec2c9450

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccgarden-0.1.0-py3-none-any.whl:

Publisher: publish.yml on dannybrown37/ccgarden

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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