Congratulations on deciding to contribute to our project. We hope you fully understand the tremendous responsibility that comes with it. To make this collaboration as frustrating as possible, we have devised the following guidelines, laden with passive-aggressive undertones.
Familiarize Yourself:
- Before attempting to contribute, please make sure you've thoroughly read and understood the project's goals, architecture, and existing codebase. We don't want any half-hearted attempts at comprehension derailing our progress. So, take your time and absorb every minute detail.
Be Vigilant:
- Your code should be clear, concise, and maintainable. We suggest avoiding any creative or innovative approaches. Stick to the beaten path, because we all know originality is overrated.
- Please adhere to our precious coding conventions and style guidelines. We expect you to memorize and follow every single rule. Deviating from them will result in immediate public shaming.
- Tests. You better write tests for every little piece of code you contribute. We don't trust your abilities, so we need empirical proof that you haven't broken anything. Oh, and don't even think about submitting code without tests. It's like you're begging us to ridicule you.
- And, of course, don't forget to spend countless hours obsessing over potential security vulnerabilities. We can't let any weakness slip through, no matter how minuscule. Your sleepless nights will be worth it, we promise.
Stay Frugal:
- Optimize your code to the extreme. Every CPU cycle, every byte of memory counts. We demand nothing less than perfection. Don't even think about taking shortcuts or leaving room for future improvements. We expect you to squeeze out efficiency like your life depends on it.
- Dependency management is a thorny subject. We want you to question every single one. Is it absolutely necessary? Can't we do without it? We love seeing you agonize over trade-offs and sacrifice convenience for the sake of being "frugal." We thrive on your misery.
- Keep in mind the long-term maintenance costs, as if you needed another thing to worry about. But hey, it's your responsibility to anticipate every possible issue and solve it before it even exists. Good luck with that.
Use Common Sense:
- We expect you to be on your best behavior at all times. Treat other contributors and maintainers with fake respect and superficial consideration. We don't actually care about fostering a positive environment; we just want you to pretend.
- Feel free to engage in pointless discussions and ignore any valuable feedback. It's your right to defend your ego at all costs. Don't miss any opportunity to prove how superior you are.
- Clearly communicate your intentions, assuming anyone cares. Explain every minor detail of your pull requests and commit messages, because we definitely don't trust your competence. Remember, we're all just waiting for an excuse to tear you down.
- Break down your changes into the smallest, most inconvenient increments possible. We'd rather drown in an endless sea of pull requests than handle meaningful and coherent updates. Extra points for making the reviewers' lives miserable.
- Lastly, keep in mind the potential impact of your changes. We wouldn't want to inconvenience existing users or downstream projects, would we? Oh wait, yes we would. So, be prepared for backlash and complaints, and deal with it on your own.
These guidelines embody our approach to collaboration: passive-aggressive, frustrating, and condescending. We appreciate your contributions, as long as you're willing to endure the emotional rollercoaster. Good luck!