| # Contributing to Kiro Gateway |
|
|
| Thanks for your interest in contributing! |
|
|
| ## Philosophy |
|
|
| Kiro Gateway is a **transparent proxy** - we fix API-level issues while preserving user intent. When solving problems, we build systems that handle entire classes of issues, not one-off patches. We test paranoidly (happy path + edge cases + error scenarios), write clean code (type hints, docstrings, logging), and make errors actionable for users. |
|
|
| ## Getting Started |
|
|
| 1. Fork and clone the repo |
| 2. Install dependencies: `pip install -r requirements.txt` |
| 3. Copy `.env.example` to `.env` and configure |
| 4. Run tests: `pytest -v` |
|
|
| ## Development Workflow |
|
|
| ```bash |
| # Create a branch |
| git checkout -b fix/your-fix |
| # or |
| git checkout -b feat/your-feature |
| |
| # Make changes and test |
| pytest -v |
| |
| # Commit (Conventional Commits format) |
| git commit -m "fix(scope): description" |
| |
| # Push and open PR |
| git push origin your-branch |
| ``` |
|
|
| ## Standards |
|
|
| - **Tests required** - Every commit must include comprehensive tests |
| - **Type hints** - All functions must be typed |
| - **Docstrings** - Google style with Args/Returns/Raises |
| - **Logging** - Use loguru at key decision points |
| - **Error handling** - Catch specific exceptions, add context |
| - **No tech debt** - Clean up hardcoded values and duplication immediately |
|
|
| ## Pull Requests |
|
|
| **Before submitting:** |
| - Tests pass (including edge cases) |
| - Code follows project style |
| - Error messages are user-friendly |
| - No placeholders or TODOs |
| - Changes are focused. Don't mix functional changes with mass formatting/whitespace fixes across many files |
|
|
| **PR should include:** |
| - Clear description of what and why |
| - Link to related issue |
| - Test coverage summary |
|
|
| **Keep it reviewable:** |
| - If fixing formatting, limit it to files you're actually changing |
| - Avoid auto-formatter changes across the entire codebase in the same PR as functional changes |
|
|
| ## CLA |
|
|
| All contributors must sign the Contributor License Agreement (automated via bot). |
|
|
| ## Questions? |
|
|
| - **Bug reports:** [Open an issue](https://github.com/jwadow/kiro-gateway/issues) |
| - **Feature ideas:** Discuss in an issue first |
| - **Questions:** [Start a discussion](https://github.com/jwadow/kiro-gateway/discussions) |
|
|
| ## Recognition |
|
|
| Contributors are listed in [`CONTRIBUTORS.md`](CONTRIBUTORS.md). |
|
|
| --- |
|
|
| **For detailed guidelines:** See [`AGENTS.md`](AGENTS.md) |
|
|