ttbp/.github/CONTRIBUTING.md

75 lines
3.9 KiB
Markdown

# CONTRIBUTING GUIDELINES FOR TTBP
Hi! Thanks for your interest in working on this project with me!
Please understand that this may not be a beginner-friendly project to contribute
to; this is because I am not a very experienced developer, and I'm still
learning good practices for facilitating collaborative dev work. I'm open to
receiving feedback and discussion even if you're new to writing Python,
programming, or collaborative work in general, but I'd appreciate some extra
patience and open communication.
In general, please try to give me a heads up if you're intending to work on this
codebase before either starting on it or submitting a PR. I'm fairly
self-conscious about my code, so I want the best opportunity for respectful
engagement, which lets me learn from my mistakes while still providing good
software for end users.
If you do not have the skills to contribute to the coding end, I still welcome
your feedback about your experience using ttbp; please feel free to contact me
with anything from vague appreciation to gripes about the interface! I'm
interested in understanding how you feel about this program, and any information
you give me will help me build a smoother tool for everyone!
## Contacting Me
You can send me tildemail at ~endorphant on tilde.town, or catch me in IRC
(please send me a PM there, since I don't often monitor the main channel). I
might not respond for a few days; this is normal! If you're feeling ignored,
please feel free to open an issue in this repo, since that will ping my personal
email directly, and we can catch up then.
## Bugs
If you find a bug (such as: ttbp crashed while you were running it, an
unexpected behavior happened, some parts of the interface don't line up
correctly, etc.), please feel free to file an issue with this repo. You can also
send me tildemail. Be as descriptive as possible! Describe the last few things
that happened, if you remember them, and attach some representation of the bug
(copy and paste the terminal output, or take a screenshot).
If you can fix a bug that you found, please document the bug first by opening an
issue, and check in with me before you start working on it. If there's a serious
use-breaking bug in the current live code, and I'm unreachable for more than a
few days, go ahead and fix it and send a PR, and I'll get to it when I can.
## Features
Features that I intend to implement are often documented under ["upcoming
features"](https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aopen+label%3A"upcoming+features")
in the issue tracker. Feel free to weigh in on any features listed there!
If there's a feature you'd like to see, but it isn't listed as upcoming, please
check the list of issues and see if it's been discussed before (including in
[closed
issues](https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aclosed)).
You're welcome to open a new issue if it seems like there isn't any history
about your idea, and you can also send me tildemail to ask me about it.
Please do not start coding new features without discussing your ideas with me
first. I have some fairly strong ideas about how ttbp should work, and I don't
want anyone to waste their time building new features that don't align with my
vision for this project. That said, I'm definitely interested in hearing your
ideas, and I'll do my best to communicate my philosophy regardless of if I
greenlight your feature or not.
## Cosmetic Changes
Please do not open PRs for cosmetic changes to the codebase if we haven't had a
prior discussion about it. Cosmetic changes include things like whitespace,
commenting/documentation, naming conventions, and other aspects of the codebase
that would not affect end users if changed. I am cautiously open to receiving
respectful feedback about my general coding style, but I'm not generally
interested in unsolicited style critiques, or for coding conventions dictated to
me. Thank you in advance for your understanding!