Thank you for your interest in contributing to Anus AI! This document provides guidelines and instructions for contributing to the project.
- Code of Conduct
- How Can I Contribute?
- Development Setup
- Pull Request Process
- Coding Standards
- Testing
- Documentation
- Community
This project and everyone participating in it is governed by the Anus AI Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
- Ensure the bug was not already reported by searching on GitHub under Issues.
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
- Open a new issue with a clear title and detailed description.
- Provide specific examples and steps to demonstrate the enhancement.
- Explain why this enhancement would be useful to most Anus AI users.
- Look for issues labeled "good first issue" or "help wanted" to find good starting points.
- Fork the repository and create a branch for your changes.
- Make your changes and submit a pull request.
- Fill in the required template.
- Do not include issue numbers in the PR title.
- Include screenshots and animated GIFs in your pull request whenever possible.
- Follow the coding standards.
- Document new code.
- End all files with a newline.
- Python 3.11 or higher
- Git
- pip or conda
-
Fork the repository on GitHub.
-
Clone your fork locally:
git clone https://github.com/your-username/anus.git cd anus -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install development dependencies:
pip install -e ".[dev]" -
Set up pre-commit hooks:
pre-commit install
- Update the README.md or documentation with details of changes if appropriate.
- Update the CHANGELOG.md with details of changes.
- The PR should work for Python 3.11 and above.
- PRs require approval from at least one maintainer.
- Once approved, a maintainer will merge your PR.
- Follow PEP 8 for Python code style.
- Use Black for code formatting.
- Use isort for import sorting.
- Use flake8 for linting.
- Use mypy for type checking.
- Use type hints for all function parameters and return values.
- Use
Optionalfor parameters that can beNone. - Use
Unionfor parameters that can be multiple types. - Use
Anysparingly and only when necessary.
- Write docstrings for all functions, classes, and modules.
- Follow the Google Python Style Guide for docstrings.
- Keep documentation up-to-date with code changes.
We follow the Conventional Commits specification:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types include:
feat: A new featurefix: A bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code changes that neither fix bugs nor add featurestest: Adding or modifying testschore: Changes to the build process or auxiliary tools
- Write tests for all new features and bug fixes.
- Run the test suite before submitting a pull request:
pytest
- Aim for high test coverage.
- Write both unit tests and integration tests.
- Update documentation for all new features and changes.
- Write clear and concise documentation.
- Include examples where appropriate.
- Check for spelling and grammar errors.
Join our community to get help, share ideas, and contribute to the project:
Thank you for contributing to Anus AI!