gitdraw

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 25, 2025 License: MIT Imports: 7 Imported by: 0

README

gitdraw

turn your github contribution graph into pixel art.

draw on a graph or type text, pick colors, push to github. uses git fast-import to generate thousands of commits in seconds.

install

download from releases:

  • macOS (Apple Silicon): GitDraw-macOS-AppleSilicon.zip
  • macOS (Intel): GitDraw-macOS-Intel.zip
  • Windows: GitDraw-Windows-x64.exe
homebrew
brew install 1etu/tap/gitdraw
go install (cli only)
go install github.com/1etu/gitdraw@latest
build from source
git clone https://github.com/1etu/gitdraw
cd gitdraw

# cli only
go build

# gui (requires wails)
wails build -tags gui

usage

gui

launch the app, draw on the graph or type text, pick intensity levels, enter your repo url, hit generate & push.

the gui build also supports cli mode:

./GitDraw --cli
./GitDraw --help
cli
$ gitdraw

  gitdraw — contribution graph art

  Text to draw HELLO
  
  Preview:

  Sun ██░░░░░░██░░██████████░░██░░░░░░░░░░██░░░░░░░░░░░░██████░░
  Mon ██░░░░░░██░░██░░░░░░░░░░██░░░░░░░░░░██░░░░░░░░░░██░░░░░░██
  Tue ██░░░░░░██░░██░░░░░░░░░░██░░░░░░░░░░██░░░░░░░░░░██░░░░░░██
  Wed ██████████░░██████████░░██░░░░░░░░░░██░░░░░░░░░░██░░░░░░██
  Thu ██░░░░░░██░░██░░░░░░░░░░██░░░░░░░░░░██░░░░░░░░░░██░░░░░░██
  Fri ██░░░░░░██░░██░░░░░░░░░░██░░░░░░░░░░██░░░░░░░░░░██░░░░░░██
  Sat ██░░░░░░██░░██████████░░██████████░░██████████░░░░██████░░

  Continue with this design? (y/n) y
  Target year (2025) 
  Fill background? (y/n) y
  Text intensity (15) 
  
  ✓ Repository ready
  Configure GitHub remote? (y/n) y
supported characters
A-Z  0-9  space  !  .  -  _  :  /  <  >

how it works

github's contribution graph is a 7×52 grid (days × weeks).

  1. renders text/drawing using a custom 5×7 pixel font
  2. maps each pixel to a specific date in the target year
  3. creates backdated commits via git fast-import
  4. pushes to your github repo

commit intensity controls color shade:

  • 1-3 commits → light green
  • 4-6 commits → medium green
  • 7-9 commits → darker green
  • 10+ commits → darkest green

authentication

uses your system's git credentials:

  • ssh keys (recommended)
  • macos keychain
  • git credential helper
  • github cli (gh auth login)

project structure

gitdraw/
├── cli.go          # cli entry point
├── cli_gui.go      # cli code for gui build
├── gui.go          # gui entry point (wails)
├── draw/           # grid and text rendering
├── font/           # 5x7 pixel font definitions
├── git/            # git operations
├── gui/            # frontend (html/css/js)
└── build.sh        # release build script

contributing

see CONTRIBUTING.md.

ideas:

  • image-to-graph converter
  • more fonts
  • animation support (multi-year)
  • web app version

license

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL