Contributing

Contributing#

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

Environment setup#

Nothing easier!

Fork and clone the repository, then:

cd telegram-acp-bot
uv sync

:::{note} You’ll need to install uv.

In Linux or macOS, you can install it with:

curl -LsSf https://astral.sh/uv/install.sh | sh

In Windows, you can install it with:

curl -LsSf https://astral.sh/uv/install.ps1 | powershell

:::

You now have the dependencies installed.

You can run the application with uv run acp-bot [ARGS...].

Development#

As usual:

  1. create a new branch: git switch -c feature-or-bugfix-name

  2. edit the code and/or the documentation

Before committing:

  1. run uv run pytest to run the tests (fix any issue)

  2. run uv run ruff check --fix to check everything (fix any warning)

  3. run uv run ruff format to auto-format the code

  4. if you updated the documentation or the project dependencies:

    1. run make docs and check that everything looks good

If you are unsure about how to fix or ignore a warning, just let the continuous integration fail, and we will help you during review.

Releases#

Prepare version bumps through a pull request and merge them into main first.

After the bump commit is on main and the CI workflow is green for that exact commit, create the GitHub release from main with:

make release

make release now verifies that:

  • you are on main

  • your local main matches origin/main

  • the current main commit has a successful CI push run

Only after those checks pass does it create the GitHub release that triggers PyPI publication and docs deployment.