Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

NickCirv/commit-confessional

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

commit-confessional ⛪

Bless me Father, for I have force-pushed to main.

Node.js License No dependencies Judgment

Analyzes your git history for sins — bad commit patterns — issues a humorous confession, and assigns penance. Run it from any git repo. Get judged.


Install

# Run directly (no install needed)
npx commit-confessional

# Or clone and run
git clone https://github.com/NickCirv/commit-confessional
cd commit-confessional
node index.js

Usage

# From inside any git repo:
node /path/to/index.js

# Or if installed globally:
confess

Example Output

  Examining your conscience...

        ╔══════════════════════╗
        ║                      ║
        ║   CONFESSIONAL BOOTH  ║
        ║                      ║
        ║   🕯️  git confess 🕯️   ║
        ║                      ║
        ╚══════════════════════╝

  "Bless me Father, for I have sinned."
   It has been unknown days since my last refactor.

  Repo: my-startup-app
  ────────────────────────────────────────────────────────────

  YOUR SINS:

  💥  [MORTAL SIN]   Force Pushes (×3, +15 pts)
     You overwrote 3 piece(s) of history. Very Thanos of you.
     → abc1234 forced update on main

  🔗  [VENIAL SIN]   Fix Chains (fix fix fix...) (×4, +8 pts)
     4 consecutive "fix" commits. Write it right the first time, brother.
     → fix login, fix login again, fix login for real, fix login pls

  ☀️  [MORTAL SIN]   Sunday Deploys / Commits (×5, +25 pts)
     5 commits on a Sunday. The Lord rested. You did not.
     → feat: "should be fine" hotfix

  😶  [CARDINAL SIN] Single-Character / Dot Commits (×2, +20 pts)
     commit -m "." — a masterwork of communication.
     → def5678 .

  ────────────────────────────────────────────────────────────

  SIN SCORE: 68 points — IRREDEEMABLE

  ✝  YOUR PENANCE:

  You are beyond penance. Burn the repo and start fresh.
  God have mercy on your codebase.

       ┌─────────────────────────────────────────┐
       │         CERTIFICATE OF CONFESSION        │
       │                                          │
       │  Penitent: my-startup-app                │
       │  Sins:     4                             │
       │  Score:    68 pts                        │
       │  Verdict:  IRREDEEMABLE                  │
       │                                          │
       │  "Go, and commit more meaningfully."     │
       │                    — Father git blame    │
       └─────────────────────────────────────────┘

Sins Detected

Sin Severity Description
Force Pushes MORTAL Searched via git reflog --all
Fix Chains VENIAL 3+ consecutive commits starting with "fix"
WIP Commits VENIAL Messages containing "wip", "temp", "asdf", "lol", etc.
Merge Main Into Main MORTAL git log --merges for self-merges
Sunday Deploys MORTAL Commits made on Sundays
2am Commits VENIAL Commits between midnight and 4am
Identical Messages VENIAL Same commit message appearing twice in a row
Binary Files MORTAL .zip, .exe, .dmg, etc. committed to history
Dot Commits CARDINAL commit -m "." or single-character messages
Commented-Out Code VENIAL Dead code added in recent commits

Penance Scale

Score Verdict Penance
0–5 ABSOLVED Say 3 Hail Linuses and refactor one function today
6–15 SINNER Write unit tests for the last 3 features you shipped without them
16–30 REPEAT OFFENDER Squash last 10 commits, write a CHANGELOG, attend code review
31+ IRREDEEMABLE Burn the repo and start fresh. God have mercy on your codebase.

Why

Because we've all done it. The 2am hotfix. The fix fix fix fix chain. The git push --force after a bad rebase. The Sunday deploy that took down prod. The commit -m "." at 3am when you just needed it deployed.

This is your confessional. Run it. Get judged. Do your penance. Be better.


Notes

  • Zero external dependencies — pure Node.js ES modules
  • Requires Node.js 18+
  • Requires git in PATH
  • Works on any git repo with at least one commit
  • No data leaves your machine — all analysis is local git commands

MIT License — go forth and sin no more.

About

Bless me Father, for I have force-pushed to main. Analyzes your git sins and assigns penance. ⛪

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors