explaingit

generaljomo/streakkeeper

13ShellAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

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.

Mindmap

mindmap
  root((streakkeeper))
    What it does
      Log daily habits
      Git commit per check-in
      Contribution graph fill
    Views
      Calendar heatmap
      Today streak status
      Aggregate stats
    Stats Tracked
      Current streak length
      Longest streak
      Total days logged
    Features
      Milestone badges
      README embed
      Daily reminders
    Tech Stack
      Shell scripts
      Git commits
      JSON storage
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Track daily personal habits like workouts or reading and see them reflected on your GitHub contribution graph.

USE CASE 2

Embed a live streak badge into your GitHub README to publicly show your habit progress to visitors.

USE CASE 3

View a heatmap calendar and streak stats like longest run and total days logged directly in the terminal.

Tech stack

ShellGitJSON

Getting it running

Difficulty · easy Time to first run · 30min

The README is brief and skips full installation steps, rely on the setup script referenced in the usage examples.

Use freely for any purpose, including commercial, as long as you keep the copyright notice.

In plain English

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.

Copy-paste prompts

Prompt 1
I set up streakkeeper and want to log a 30-minute run today. What is the exact command and what does the resulting Git commit contain?
Prompt 2
Using streakkeeper, how do I view my current active streaks and check which habits I have missed this week?
Prompt 3
I want to add a streak display to my GitHub profile README using streakkeeper. What steps do I follow to get the embed working?
Open on GitHub → Explain another repo

← generaljomo on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.