Contribution Guide

Setting up the environment

The easiest way to set up the development environment is to use the provided Makefile. This project requires Astral’s uv for dependency management.

  1. If you do not have uv installed, run: make install-uv

  2. Run the full installation command:

    make install
    

    This command creates a virtual environment, installs the project in editable mode, and sets up all development dependencies.

  3. Install pre-commit hooks:

    uv run pre-commit install
    

Code contributions

Workflow

  1. Fork the repository.

  2. Clone your fork locally with git.

  3. Setting up the environment using make install.

  4. Create a branch for your changes.

  5. Make your changes and ensure they follow the project style.

  6. (Optional) Run make lint or uv run pre-commit run --all-files manually to apply fixes and check types before committing.

  7. Commit your changes to git.

  8. Push the changes to your fork.

  9. Open a Pull Request.

    Important

    Give the pull request a descriptive title indicating what it changes. If it fixes an open issue, include the issue number. For example: fix: update user profile validation logic (#123).

Tip

All commits and pull requests must follow the Conventional Commit format. Before pushing, ensure all tests pass by running make test.

Project documentation

The documentation is located in the /docs directory and is built with ReST and Sphinx.

If you are unfamiliar with these tools, read the ReStructuredText primer and the Sphinx quickstart.

Docs theme

The project uses the Shibuya theme to maintain a modern and clean look. If you wish to contribute to the docs style or static site generation, please consult the theme documentation.

Running the docs locally

To work on the documentation with live-reload (recommended):

make docs-serve

The documentation will be available at http://localhost:8002.

Alternatively, you can build them with:

make docs