Pattern editor for drawing contribution heatmap art with generated commits.
  • Python 49.6%
  • JavaScript 25.2%
  • CSS 17.7%
  • HTML 7.5%
Find a file
dikkadev b3363d142f feat: add activity commit generator and document publish workflow
This adds the missing history generator that turns saved grid patterns into dated commits on an orphan branch, and updates the editor and docs to support the new two-step workflow from drawing activity art to publishing it.
2026-05-26 11:43:29 +02:00
activity_filler feat: add activity commit generator and document publish workflow 2026-05-26 11:43:29 +02:00
static feat: add activity commit generator and document publish workflow 2026-05-26 11:43:29 +02:00
.gitignore feat: add local activity heatmap pattern editor for Forgejo-style art 2026-05-25 13:30:54 +02:00
AI feat: add local activity heatmap pattern editor for Forgejo-style art 2026-05-25 13:30:54 +02:00
pattern.txt feat: add activity commit generator and document publish workflow 2026-05-26 11:43:29 +02:00
pyproject.toml feat: add activity commit generator and document publish workflow 2026-05-26 11:43:29 +02:00
README.md feat: add activity commit generator and document publish workflow 2026-05-26 11:43:29 +02:00
uv.lock feat: add local activity heatmap pattern editor for Forgejo-style art 2026-05-25 13:30:54 +02:00

activity-filler

A local pattern editor for drawing Forgejo/GitHub-style contribution heatmap art.

This repo has two parts:

  • a local editor that draws and saves pattern.txt
  • a generator that rewrites an orphan branch in this same repository from pattern.txt

Draw a pattern

uv run activity-filler

The underscore alias also works:

uv run activity_filler

Then manually open the printed local URL, draw on the grid, and press Save pattern.

Generate commits

Dry-run first:

uv run activity-generate

Actually rewrite the generated orphan branch:

uv run activity-generate --execute

By default this writes an orphan branch named activity-art inside this same Git repository without checking it out or touching the working tree. It uses Git object plumbing and updates refs/heads/activity-art directly.

Useful options:

uv run activity-generate --execute \
  --branch activity-art \
  --author-name "Your Forgejo Name" \
  --author-email "you@example.com" \
  --counts 0,1,3,6,10 \
  --timezone +00:00

The author email must match the email Forgejo counts for your user.

Push when ready:

git push --force-with-lease origin activity-art

Files

  • AI — project note / automation direction.
  • pattern.txt — saved heatmap pixels, Sunday-first rows.
  • activity_filler/server.py — UV Python local web app.
  • activity_filler/generate.py — orphan branch commit generator.

Grid convention

The editor covers September 2025 through March 2026, aligned to full Sunday-start weeks. December 2025 is visually emphasized as the center month.

Each cell is one day:

  • columns are weeks
  • rows are weekdays
  • top row is Sunday
  • values are 0 through 4
  • 0 means no activity; higher values mean darker activity color later

The saved pattern.txt is seven rows of digits. Row 1 is Sunday, row 7 is Saturday.