Contributing to AniBridge
Thank you for your interest in improving AniBridge! The following guidelines will help you get started.
Code of Conduct
Please read and adhere to our Code of Conduct.
Development Setup
This repository uses uv. It is highly recommended to use it for development. Install it first if you haven't already:
macOS
brew install uvLinux/macOS
curl -LsSf https://astral.sh/uv/install.sh | shWindows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Or via winget:
winget install --id=astral-sh.uv -eSetting up the development environment
git clone https://github.com/zzackllack/AniBridge.git
cd AniBridge
uv sync --frozenRun the application locally with:
uv run python -m app.mainOr directly with Python:
python -m app.mainTest changes to GitHub workflows using a tool like act.
Testing
Before submitting a pull request ensure that all tests pass:
pytestCode Style
- Follow Python Enhancement Proposals (PEPs) for style and best practices. Especially PEP 8 and PEP 257.
- Format Python code with
ruff format. And lint withruff check. - Keep imports tidy and avoid unused code.
- Update documentation and comments when behavior changes.
Commit Messages
We follow the Conventional Commits specification.
Codeowners
The codeowners for this repository are listed in the CODEOWNERS file. Please update it as necessary when making changes to the codebase.
Conventions and tips you should follow when editing the CODEOWNERS file:
- The last matching rule wins, so put broad rules first and narrow overrides later.
- Paths are repository-rooted and support
*and**globs. - Only
CODEOWNERS,.github/CODEOWNERS, ordocs/CODEOWNERSare recognized by GitHub. - Use @org/team for teams.
Pull Request Process
- Fork the repository and create a new branch.
- Make your changes, including tests and docs.
- Run
ruff formaton modified files and executepytest. - Commit with clear messages and push your branch.
- Open a Pull Request describing your changes.
Questions?
Feel free to open an issue if you need help with contributing.