Contributing to Cloacina
Thank you for your interest in contributing to Cloacina! This guide will help you understand our contribution process and ensure your contributions are as effective as possible.
Cloacina provides several tools and resources to help you get started and maintain high-quality contributions:
-
Angreal: Our development environment management tool that helps set up and maintain consistent development environments. Use it to ensure your local setup matches our development standards.
Installation:
pip install angreal
Angreal helps manage dependencies, development tools, and common tasks. It ensures all contributors have a consistent development experience.
- Open an Issue First
- Before beginning any work, please open an issue to describe what you plan to do
- This allows maintainers to provide feedback and ensure your contribution aligns with project goals
- It also helps prevent duplicate work and ensures your time is well spent
-
Development Process
- Fork the repository
- Create a new branch for your feature or fix
- Make your changes
- Write or update tests as needed
- Ensure all tests pass
- Update documentation as necessary
-
Code Quality Requirements
- Write clear, maintainable code
- Include comprehensive tests for new functionality
- Follow existing code style and patterns
- Document technical artifacts (code comments, API documentation, etc.)
-
Documentation
- Documentation is a first-class citizen in our project - it’s not an afterthought
- All contributions must include appropriate documentation updates
- If your contribution adds new features or changes behavior, you may need to add:
- How-to guides
- Explanatory documentation
- Tutorials for new users
- We’re happy to help guide you through the documentation process, but we won’t merge PRs until documentation meets our standards
- Keep documentation clear, concise, and up-to-date
- For detailed documentation guidelines, including API documentation and cross-linking, see our Documentation Guidelines
-
Pull Request Process
- Submit a pull request with a clear description of your changes
- Reference any related issues
- Ensure CI checks pass
- Be responsive to feedback and requested changes
-
Review Process
- Maintainers will review your PR
- They may request changes or improvements
- Be prepared to iterate on your changes based on feedback
If you have any questions about contributing, feel free to:
- Comment on the relevant issue
- Reach out to maintainers
- Check existing documentation
Thank you for helping make Cloacina better!