The letter A styled as Alchemists logo. lchemists

Contributions

Thanks for taking an interest in contributing to our projects. Your involvement and support is greatly appreciated. The following details what you must know to contribute.

Code

We value high quality code that is well crafted, tested, and -- most importantly -- uses atomic commits that clearly explains the thought process put into the work. We demand this of ourselves and of you. Use the following steps to guide you:

  1. Read all of the project documentation before starting.
  2. Fork, clone, and create a feature branch for local development.
  3. Ensure there are no setup, build, and/or test issues.
  4. Avoid using LLMs (see below for details).
  5. Add or update specs for new or existing functionality and ensure they pass.
  6. Push your feature branch and ensure the build passes before submitting a code review.

Issues

Please submit any issues via the project's Issues tab and follow the instructions provided by the issue template.

Large Language Models (LLMs)

We welcome contributions sourced via your own inherit and augmented skills. We are augmented as well. That said, please be respectful by avoiding unrefined work since this puts significant burden on us to verify changes. Sadly, most LLM augmented work is made by individuals who don't understand the fundamentals of software engineering and/or lack the experience and wisdom to detect when LLMs lead them astray. LLM technology isn't the problem, only the unskilled people driving them.

With the above in mind, LLM augmentation must be clearly documented including the depth used such as documentation, code generation, specs, feedback to our comments, questions, and so forth. Failure to disclose any of this increases the difficulty of ensuring your contributions are of high quality and devoid of security violations which could harm or cause catastrophic failure to downstream customers. Failure to disclose will also get you banned from future contributions and/or being hired. The only exception to this rule is when resolving lint and/or code formatting issues in general.

LLMs -- when used judiciously and with extreme supervision -- can be a useful tool so let's work together by never sacrificing quality or the joy of the craft.

Feedback

If no feedback is required, we'll immediately rebase your changes. Otherwise, we'll respond as follows:

  • We value code reviews so improvements may be suggested upon review. Please be aware of how this process works so we both can enjoy the collaboration.
  • Please note that anyone without a professional avatar, full name, and valid email address will be addressed at a much lower priority.
  • Expect a response within one to three business days.