Files
cortiq-gateway/CONTRIBUTING.ru.md
infosave2007 cbc385f6c7 feat: universal LLM gateway with embedded multilingual admin console
- OpenAI-compatible gateway with intelligent routing via cortiq-router (allaigate)
- Embedded build-free admin SPA at /admin: 7 languages (en/ru/de/fr/es/zh/tr),
  light/dark themes, hot config reload (no restart)
- Admin API, per-request statistics + Prometheus /metrics, secret store, playground
- English documentation (primary) with Russian translations (*.ru.md)
2026-06-30 10:51:37 +03:00

46 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
*Read this in [English](CONTRIBUTING.md).*
# Contributing to Cortiq Gateway
Спасибо за интерес к проекту! Это открытый шлюз, и мы рады контрибьюциям.
## С чего начать
1. Прочитайте [docs/ARCHITECTURE.md](docs/ARCHITECTURE.ru.md) — устройство и дорожная карта.
2. Посмотрите [docs/PROTOCOLS.md](docs/PROTOCOLS.ru.md) и [docs/ROUTING.md](docs/ROUTING.ru.md).
3. Текущая фаза — **Phase 0** (скелет). Хорошие первые задачи помечены `good first issue`.
## Как добавить...
- **Новый входящий протокол** — реализуйте трейт `InboundProtocol` в `src/protocols/`,
переведите его в/из канонической модели (`ChatRequest`/`ChatResponse`), добавьте флаг
в `[protocols]`. Не трогайте провайдеры.
- **Нового провайдера** — реализуйте трейт `Provider` в `src/providers/`. Большинство
локальных серверов OpenAI-совместимы → часто достаточно переиспользовать `openai.rs`.
- **Новую политику роутинга** — расширьте `src/routing.rs` и секцию `[routing.policy]`.
Принцип: N протоколов × M провайдеров общаются **только** через каноническую модель —
никаких прямых переводов «протокол↔провайдер».
## Стиль и проверки
```bash
cargo fmt --all
cargo clippy --all-targets -- -D warnings
cargo test
```
- Пишите код в стиле окружающего кода.
- Секреты — только через `*_env`, никогда в репозиторий.
- Новый функционал сопровождайте тестами и обновлением docs/.
## Pull requests
- Небольшие, сфокусированные PR. Один PR — одна логическая единица.
- В описании: что, зачем, как протестировано.
- Линкуйте issue, если есть.
## Лицензия
Контрибьюции принимаются под [Apache-2.0](LICENSE).