Skip to content

coldter/commit-canvas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

commit-canvas

commit-canvas hero — HIRE ME written on GitHub contribution graph
commit-canvas demo

Write messages on your GitHub contribution graph.

commit-canvas renders text as pixel art on GitHub's contribution graph by generating strategically backdated git commits. It uses a built-in 5x7 pixel font and supports A-Z, 0-9, and a few special characters.

Install

go install github.com/coldter/commit-canvas@latest

Or build from source:

git clone https://github.com/coldter/commit-canvas.git
cd commit-canvas
go build -o commit-canvas .

Usage

Interactive mode

Just run it — a step-by-step TUI walks you through everything:

commit-canvas

CLI mode

# Preview your message
commit-canvas preview "HELLO"

# Preview overlaid on your existing activity
commit-canvas preview "HI" --username yourname

# Generate commits
commit-canvas generate "HELLO" --name "Your Name" --email "you@example.com"

# Generate + push in one go
commit-canvas generate "HI" --name "Your Name" --email "you@example.com" \
  --push --remote git@github.com:you/repo.git

# View anyone's contribution graph
commit-canvas profile yourname

Other commands

# Update an existing message
commit-canvas update "NEW MSG" --name "Your Name" --email "you@example.com"

# Delete the generated repo
commit-canvas clear

# Clear the remote too
commit-canvas clear --push --force --remote git@github.com:you/repo.git

Options

Flag Default Description
--year 0 Target year (0 = rolling last-year window)
--username GitHub username for auto-calibration and overlay preview
--align left Message alignment: left, center, right
--contrast high Commit intensity: high, medium, low
--commits-per-day 0 Exact commits per active day (0 = auto)
--output ./commit-canvas-repo Output directory for the generated repo
--preview true Show ASCII preview before generating

How it works

  1. Your message is rendered onto a 7-row × 53-column grid (matching GitHub's contribution graph layout)
  2. If you provide a --username, your existing GitHub activity is fetched to auto-calibrate commit intensity so your message stands out
  3. Backdated commits are generated using git plumbing commands for speed
  4. Push the repo to GitHub and the message appears on your profile

License

MIT

About

Write messages on your GitHub contribution graph.

Resources

Stars

Watchers

Forks

Contributors