Cathartical commits 1.0.0
Resume
The Cathartical commits specification is a commit message convention that allows developers to really express how they truly feel using a really explicit commit history based on statistically accumulated stress.
This convention sugest a format to describe frustration, anger and blasphemies that, as developers, we see on a daily basis in code.
To follow the convention, commit messages must be written using this structure:
<type> [Optional emoji]: <Insults, blasphemies and optional commit context>
The body is not necessary, nobody uses it anyways.
Who puts a footer in a commit? Just go to the next section.
The Type element consists in sugested values, defined in this convention, but we recommend you to be as creative as you like. The sugested type values are:
- lousy_fix: a 'lousy fix' commit type contains that 'fix' that soon shall fail again because you only added a hardcoded value to shut your manager up.
- no_tests: a 'no_tests' commit type references that brand new, non tested feature that will live in that delicate 'do not touch or we are screwed' balance.
- good_one: this commit type indicate other devs that you just upload a breaking change so, whether they download this version, or everything is going to fail.
- useless: reflects an absurd change, you know, the ones we like to do like erasing an empty space or linting the whole code, upload 100 changes and justify 5 seconds as 3 working hours.
- These are the suggested commit types, probably you wont use other types because you lack of imagination, so you can handle yourself in most situations with these ones, just like when you upload a README file saying that's a feature ¬¬
After cathartical commit type, we recommend to add an emoji that reflects the stress level produced by investing time in uploaded changes, the more offensive, the better.
Last but not least, we encourage you to add insults, blasphemies or undiplomatic suggestions as commit body. Optionally, you can add code changes details, but nobody will read that anyway.
Examples
Uploading your so requested feature
no_tests🖕: Here's your crap, stop time pressure the team, assh*le.
Fix uploading
lousy_fix😡: It works now, do not touch this code again or I'll subscribe to xxx websites with your corporate emails.
lousy_fix🤬: I've implemented this stupid thing suggested by the tech leader, but, do not come nagging me with performance issues.
Uploading breaking change
good_one🤡: If you have an error and come to me, know that's because you have not pull the latest version, you stupid.
Uploading an useless change to take revenge over long time waiting for PR approvals
useless😈: Let's see if you take your time to review this 100 changes or you just approve the freaking PR.
Specification
Here you'll find general recommendations and use cases for Cathartical commits on a daily basis:
- If you pretend to be 'diplomatic' go for another convention, this is not for cowards
- Use the convention whenever and however you like, the idea is to get creative with your insults
- How to know if you're following the convention? If you feel you are not being as offensive as you could be, you're doing something wrong
- Do you suggest using this convention in my workplace? If you lack of common sense is not my problem, I won't answer this