aider-gitea/README.md
2025-04-13 23:25:08 +02:00

2.7 KiB

Aider Gitea

Test program/library

A code automation tool that integrates Gitea with Aider to automatically solve issues.

This program monitors your Gitea repository for issues with the 'aider' label. When such an issue is found, it:

  1. Creates a new branch.
  2. Invokes Aider 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

# 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

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:

Contributing

Feel free to submit pull requests. Please follow the Code Conventions when doing so.

Testing

Testing requires the pytest library.

Run tests with the following command:

pytest test

Test coverage can be run using the pytest-cov extension:

pytest --cov=aider_gitea test

License

Copyright (c) 2025 Jon Michael Aanes

All rights reserved.