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
Sky Darkens toward night with the share of prompts you type after 21:00 — stars come out for a committed night owl
Season Leaves turn gold and thin out the longer the garden goes untended, and green back up when you return
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.

Options

Flag Effect
--no-open write the SVG without opening a browser
-o, --output PATH where to write the SVG
--db PATH which stats db to render from
--log-root DIR transcript root to record from (repeatable)
--static render one still garden instead of the timelapse
--since, --until limit the garden to a date range
--no-record render the db as-is, skipping today's snapshot
--plot draw a top-down kitchen garden instead of the tree
--poster open on the finished garden, scrubber showing, no auto-play
--web tree for a web page: light wind, no scrubber
--exclude-repo REPO leave a repo out (repeatable)
--version print the installed version

So a still image of just this year's garden, written somewhere else and without touching the db, is:

ccgarden --static --since 2026-01-01 --no-record --no-open -o garden.svg

The plot (--plot)

Example plot, rendered from synthetic sample data

A bird's-eye kitchen garden from the same data. Each repo is a raised bed (area = lines added + sessions). Every model and effort combo is its own plant: Opus grows brassicas and fruiting plants, Sonnet leafy greens, Haiku herbs. More plants mean more sessions, bigger plants mean more effort, and the legend lists which plant is which and its share of replies — hover one to find it in the beds. Skills bloom in the flower border. The potting bench holds your busiest tools, the rain barrel fills with tokens, and the sundial shows the hours you prompt (blue petals = night). Butterflies come out on working days, fireflies at night, and rain and weeds when you stay away. A bed you've worked in the last 14 days has its sprinklers running and dark, wet soil; the soil dries and the spray shrinks the longer it's left. In the timelapse each plant sprouts and grows as its repo's sessions add up, and each flower swells with its skill's calls; it has a Replay button and a day slider.

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.

Metadata

Release files for ccgarden 0.7.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ccgarden 0.7.5
File Size Uploaded Provenance Actions
ccgarden-0.7.5.tar.gz 1.2 MB With provenance Details for ccgarden-0.7.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ccgarden 0.7.5
File Interpreter ABI Platform Actions
ccgarden-0.7.5-py3-none-any.whl Python 3 none any Details for ccgarden-0.7.5-py3-none-any.whl

Total release size: 1.3 MB

Release files / ccgarden-0.7.5.tar.gz

Download URL ccgarden-0.7.5.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
cfbe73b00d5aabdd591b7bd527a305ee767740761770a5b522c66994c1375f31
BLAKE2b-256 checksum
How to use checksums
ab3ff9d6a5cdc8f6d27788897a8c94de355c6d6ac77dac500a74d07da5ee9c44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / ccgarden-0.7.5-py3-none-any.whl

Download URL ccgarden-0.7.5-py3-none-any.whl
Size 135.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c6e2ed83c241dafa1456cb4a2fbfca82b4823f9ec467f4209846dc91b2d60ad
BLAKE2b-256 checksum
How to use checksums
b6960d627263cca143e589c8a900137e7746af8779cd1bf77265614cf86b0a1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Security for ccgarden 0.7.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ccgarden-0.7.5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page