# Aider Gitea ![Test program/library](https://gitfub.space/Jmaa/aider-gitea/actions/workflows/python-test.yml/badge.svg) A code automation tool that integrates Gitea with Aider to automatically solve issues. This program monitors your [Gitea](https://about.gitea.com/) repository for issues with the 'aider' label. When such an issue is found, it: 1. Creates a new branch. 2. Invokes [Aider](https://aider.chat/) to solve the issue using a Large-Language Model. 3. Runs tests and code quality checks. 4. Creates a pull request with the solution. ## Usage An application token must be supplied for the `gitea_token` secret. This must have the following permissions: - `read:issue`: To be able to read issues on the specified repository. - `write:repository`: To be able to create pull requests. - `read:user`: Needed to iterate all user's repositories. ### Command Line ```bash # Run with default settings python -m aider_gitea # Specify custom repository and owner python -m aider_gitea --owner myorg --repo myproject # Use a custom Gitea URL python -m aider_gitea --gitea-url https://gitea.example.com # Specify a different base branch python -m aider_gitea --base-branch develop ``` ### Python API ```python from aider_gitea import solve_issue_in_repository from pathlib import Path # Solve an issue programmatically args = argparse.Namespace( gitea_url="https://gitea.example.com", owner="myorg", repo="myproject", base_branch="main" ) solve_issue_in_repository( args, Path("/path/to/repo"), "issue-123-fix-bug", "Fix critical bug", "The application crashes when processing large files", "123" ) ``` ### Environment Configuration The tool uses environment variables for sensitive information: - `GITEA_TOKEN`: Your Gitea API token - `LLM_API_KEY`: API key for the language model used by Aider ``` ## Dependencies This project requires [Python](https://www.python.org/) 3.8 or newer. All required libraries can be installed easily using: ```bash pip install -r requirements.txt ``` Full list of requirements: - [secret_loader](https://gitfub.space/Jmaa/secret_loader) ## Contributing Feel free to submit pull requests. Please follow the [Code Conventions](CONVENTIONS.md) when doing so. ### Testing Testing requires the [pytest](https://docs.pytest.org/en/stable/) library. Run tests with the following command: ```sh pytest test ``` Test coverage can be run using the [`pytest-cov`](https://pypi.org/project/pytest-cov/) extension: ```sh pytest --cov=aider_gitea test ``` ## License ``` Copyright (c) 2025 Jon Michael Aanes All rights reserved. ```