Thanks for your interest in contributing! This guide will help you get started.
git clone https://github.com/Mirrowel/LLM-API-Key-Proxy.git
cd LLM-API-Key-Proxy
# Using uv (recommended)
uv venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # macOS/Linux
uv pip install -r requirements.txt
# Run the proxy
python src/proxy_app/main.pysrc/
├── rotator_library/ # Core library (LGPL-3.0-only)
│ └── providers/ # LLM provider implementations
└── proxy_app/ # Proxy application (MIT)
All new source files must include the appropriate license header:
For src/rotator_library/ files:
# SPDX-License-Identifier: LGPL-3.0-only
# Copyright (c) 2026 MirrowelFor src/proxy_app/ files:
# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Mirrowel- Create your provider in
src/rotator_library/providers/following the existing pattern - Implement the
ProviderInterfacefromprovider_interface.py - Register the provider in
provider_factory.py - Update
model_definitions.pyif needed - Add documentation to README.md and DOCUMENTATION.md
- Reference the feature request issue in your PR
- Follow existing code patterns in the codebase
- Use type hints where practical
- Keep functions focused and well-documented
- Fork the repository and create a feature branch
- Make your changes with clear commit messages
- Reference related issues in commits:
feat(providers): add X provider (#123) - Open a PR with a clear description of what changed and why
- Ensure your changes include necessary documentation updates
Please use the issue templates:
- Bug Report - For bugs and unexpected behavior
- Feature Request - For new features, enhancements, or provider requests
When reporting bugs, include:
- Which branch/version you're using
- Your deployment method (binary, Docker, source)
- Steps to reproduce
- Error logs if available
Open a discussion or issue if you need help getting started.