streakkeeper
A command-line habit tracker that logs each daily check-in as a real Git commit, filling your GitHub contribution graph with personal routines instead of just coding activity.
streakkeeper is a command-line habit tracker that stores your daily check-ins as commits inside a GitHub repository. Because each logged habit becomes an actual Git commit, your GitHub contribution graph fills in to reflect your personal routines rather than only coding activity. The tool is written as shell scripts and designed to run in the terminal.
Using it is straightforward: you run a command like streakkeeper log workout to record that you did something today, optionally adding a number to track a quantity such as minutes read. The data itself is saved as JSON files committed to the repo, so your history is version-controlled and survives on GitHub indefinitely.
The tool can display your habits in a few different ways. A calendar view renders a heatmap similar to GitHub's own contribution grid, showing which days you checked in over the past several weeks. A status command shows today's active streaks at a glance. A stats command gives aggregates across all habits: current streak length, longest streak, total days logged, best week, and missed days. There is also a daily reminder mode that prompts you from the terminal.
Milestone badges are awarded at 7, 30, and 100-day streaks, and you can embed a streak display into a GitHub README to share your progress publicly.
The README is fairly brief and does not include installation instructions beyond the setup script mentioned in the examples. The project is released under the MIT license.
Where it fits
- Track daily personal habits like workouts or reading and see them reflected on your GitHub contribution graph.
- Embed a live streak badge into your GitHub README to publicly show your habit progress to visitors.
- View a heatmap calendar and streak stats like longest run and total days logged directly in the terminal.