#git #useless #fun #anger-management

bin+lib git-anger-management

Count your naughty words in git commit messages

8 releases (breaking)

0.7.0 May 12, 2020
0.6.0 Dec 27, 2018
0.5.1 Nov 9, 2018
0.4.0 Oct 18, 2018
0.1.0 Oct 14, 2018

#1599 in Command line utilities

23 downloads per month


303 lines

git-anger-management pipeline Crates.io Docs.rs


Have you ever wondered just how angry your co-workers and/or yourself are? Or just how naughty the commit log for a project is? Worry no more, git-anger-management is here to help you. Simply run it against your repository and it'll tell you who is the naughtiest of them all.



We all have those moments where we finally figured out why something was utterly broken, wrong or both and then had nowhere to scream but to our git commit. I do it all the time, and I wanted to know just how angry I am at my code.


Make sure you have Rust installed (I recommend installing via rustup), then run cargo install git-anger-management. You can now check how naughty you are by running git anger-management in your repository root where you want to gaze upon the authors naughtiness.


Simply run the command git anger-management and you should get some output that looks something like this:

$ git anger-management
Author         bitch  bloody  damn  fuck  fucking  shitty  Total
------         -----  ------  ----  ----  -------  ------  -----
John Doe       0      1       1     0     0        0       2
Ola Nordmann   1      0       0     0     1        0       2
Sondre Nilsen  0      0       0     1     1        1       3
------         -----  ------  ----  ----  -------  ------  -----
Overall        1      1       1     1     2        1       7

You can also look in other directories if you want to look somwhere else but you're too lazy to actually cd into that directory. Finally, you can also print the output as JSON if you want to further manipulate the data by adding the -j/--json flag to the binary:

$ git anger-management --json
{"name":"repo","total_commits":5,"total_curses":7,"curses":{"bloody":1,"shitty":1,"fuck":1,"bitch":1,"damn":1,"fucking":2},"authors":{"Sondre Nilsen":{"name":"Sondre Nilsen","total_commits":3,"total_curses":3,"curses":{"shitty":1,"fucking":1,"fuck":1}},"Ola Nordmann":{"name":"Ola Nordmann","total_commits":1,"total_curses":2,"curses":{"bitch":1,"fucking":1}},"John Doe":{"name":"John Doe","total_commits":1,"total_curses":2,"curses":{"damn":1,"bloody":1}}}}

Finally, you can also look at the help by running git anger-management -h for more options.


GPLv3 or later.


~327K SLoC