Contributing

June 30, 2026 · View on GitHub

Thank you for your interest in making SourceryKit better! We welcome all contributions—whether it’s fixing a typo, reporting a bug, suggesting a feature, or submitting code.

Ways to Contribute

  • Report bugs: Open an issue on GitHub Issues. Include clear reproduction steps, expected vs. actual behavior, and your environment details.
  • Request features: Open an issue describing your proposed feature and its use case. We encourage community discussion before starting work on large functional additions.
  • Improve documentation: Contributions for clarification, typo fixes, or missing examples are always welcome.
  • Submit code: Follow the development process detailed below.

Code Contribution Workflow

  1. Fork the repository and create a feature branch off main.
  2. Write clear, maintainable code following the style guidelines below.
  3. Add or update unit tests to cover your changes. Bug fixes should include a regression test that fails before the fix.
  4. Document public interfaces with descriptive Python docstrings.
  5. Open a Pull Request with a concise description of your changes, your motivation, and a note on any potential breaking changes.
  6. Update the Changelog if your change modifies public API signatures or structural behaviors.

Code Style & Requirements

  • Python Standard: Write clean Python matching standard PEP8 formatting patterns.
  • Typing: Use explicit type hints for all parameters and return values on new or modified interfaces.
  • Documentation: Keep codebase comments and inline documentation practical and concise.
  • Compatibility: Ensure changes do not break backward compatibility unless explicitly approved in an underlying tracking issue.

Licensing & Originality

By submitting a contribution, you agree to license your work under the project's Business Source License 1.1. If your code includes or derives from third-party assets, clearly state the origin and ensure it complies with our license constraints.

Technical Support

  • For major architecture shifts, please establish an open tracking issue for design proposal feedback before submitting a pull request.
  • For quick setup questions, codebase ideas, or general troubleshooting help, open a thread on GitHub Discussions.