137 lines
2.7 KiB
Markdown
137 lines
2.7 KiB
Markdown
# Contributing
|
|
|
|
Thanks for helping improve LLM Gateway.
|
|
|
|
The project values changes that make AI routing safer, easier to understand, easier to run,
|
|
and easier to verify.
|
|
|
|
## Contribution Areas
|
|
|
|
Good first contribution areas:
|
|
|
|
- documentation improvements
|
|
- bridge health checks
|
|
- provider adapters
|
|
- tests for subscription discovery
|
|
- dashboard clarity
|
|
- metrics and observability
|
|
- local-first routing policies
|
|
- security hardening
|
|
|
|
Larger contribution areas:
|
|
|
|
- new subscription bridge implementations
|
|
- policy engine improvements
|
|
- context receipt support
|
|
- reproducible run records
|
|
- MCP tool support
|
|
- database-backed audit trails
|
|
|
|
## Ground Rules
|
|
|
|
- Do not commit credentials, OAuth files, cookies, private keys, database dumps, training data,
|
|
logs with account data, private hostnames, or local machine paths.
|
|
- Prefer explicit configuration through environment variables.
|
|
- Keep default behavior local and safe.
|
|
- Make operational state honest. Use `unknown`, `config_needed`, or `degraded` when the gateway
|
|
lacks evidence.
|
|
- Add tests when changing routing, bridge behavior, authentication, or request validation.
|
|
- Keep public examples generic.
|
|
|
|
## Development Setup
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
Build:
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
Test:
|
|
|
|
```bash
|
|
npm test
|
|
```
|
|
|
|
Secret scan:
|
|
|
|
```bash
|
|
gitleaks dir . --redact
|
|
```
|
|
|
|
## Branch And Commit Style
|
|
|
|
Use a short branch name:
|
|
|
|
```text
|
|
feature/subscription-health
|
|
fix/bridge-timeout
|
|
docs/quickstart
|
|
```
|
|
|
|
Use concise commit messages:
|
|
|
|
```text
|
|
docs: add subscription bridge guide
|
|
fix(gateway): handle bridge timeout
|
|
test(subscriptions): cover join flow
|
|
```
|
|
|
|
## Pull Request Checklist
|
|
|
|
Before opening a pull request, confirm:
|
|
|
|
- the change has a clear purpose
|
|
- public docs do not contain private infrastructure details
|
|
- build or tests were run
|
|
- bridge or API changes have a smoke test
|
|
- no credentials or account artifacts are included
|
|
- the pull request explains risk and rollback if relevant
|
|
|
|
## Adding A Provider
|
|
|
|
Provider changes should include:
|
|
|
|
- a descriptor or provider config entry
|
|
- health behavior
|
|
- model IDs
|
|
- expected auth state
|
|
- local test notes
|
|
- error handling for missing CLI or unreachable bridge
|
|
|
|
## Adding Documentation
|
|
|
|
Documentation should be direct, testable, and operator-friendly.
|
|
|
|
Prefer:
|
|
|
|
- commands that can be copied
|
|
- exact endpoint names
|
|
- clear expected results
|
|
- explicit security notes
|
|
|
|
Avoid:
|
|
|
|
- private URLs
|
|
- screenshots with account data
|
|
- local usernames or paths
|
|
- long fake credentials
|
|
- claims that are not supported by code
|
|
|
|
## Maintainer Review
|
|
|
|
The maintainer may ask for:
|
|
|
|
- smaller pull requests
|
|
- additional tests
|
|
- simpler defaults
|
|
- stronger security posture
|
|
- clearer docs
|
|
- removal of private data
|
|
|
|
That review is part of keeping the gateway usable and publishable.
|