67 lines
3.7 KiB
Markdown
67 lines
3.7 KiB
Markdown
# Участие в разработке
|
||
|
||
Crank Community принимает исправления ошибок, улучшения документации, тесты и доработки открытой версии проекта.
|
||
|
||
## Лицензия вкладов
|
||
|
||
Crank Community распространяется по лицензии GNU Affero General Public License v3.0 only.
|
||
|
||
Перед отправкой pull request нужно согласиться с [Contributor License Agreement](./CLA.md). Это нужно, чтобы права на принятые изменения были оформлены явно и проект мог развиваться без юридических неопределенностей.
|
||
|
||
## Перед pull request
|
||
|
||
Проверьте форматирование и тесты:
|
||
|
||
```bash
|
||
just fmt-check
|
||
just clippy
|
||
just test
|
||
```
|
||
|
||
Для изменений веб-интерфейса также выполните:
|
||
|
||
```bash
|
||
cd apps/ui
|
||
npm ci
|
||
npm run build
|
||
npx playwright test
|
||
```
|
||
|
||
## Требования к изменениям
|
||
|
||
- Не добавляйте функциональность вне границ Community-версии.
|
||
- Сверяйте границу и статус flow с
|
||
[`docs/capability-inventory.json`](./docs/capability-inventory.json): только
|
||
`implemented` считается готовым, а `planned`, `gap` и `blocked` не являются
|
||
разрешением заявить незавершённую функцию работающей.
|
||
- Если change меняет capability status или evidence, обновите versioned
|
||
[`docs/capability-baseline/manifest.json`](./docs/capability-baseline/manifest.json),
|
||
sanitized results и SHA-256. Нельзя вручную объявлять pass для failed, flaky,
|
||
skipped, not-run или manual-only evidence.
|
||
- Не добавляйте секреты, токены, приватные адреса и локальные настройки.
|
||
- Не коммитьте `AGENTS.md`, `TASKS.md`, `.env` и временные файлы.
|
||
- Для изменений SQL-запросов обновляйте `.sqlx`, если это требуется SQLx.
|
||
- Изменение PostgreSQL schema начинается с новой append-only migration в
|
||
`crank-registry`; baseline v1 не редактируется. Выполните
|
||
`just migration-contract-check` и PostgreSQL migration integration suite.
|
||
- Для пользовательских изменений обновляйте документацию или примеры.
|
||
- Runtime environment contract изменяется только через registry
|
||
`crates/crank-config`. После изменения выполните
|
||
`just config-contract-check`; generated sections `.env.example`, Compose и
|
||
parameter reference не поддерживаются независимыми ручными таблицами.
|
||
|
||
## Границы проекта
|
||
|
||
В этом репозитории поддерживаются:
|
||
|
||
- REST API как источник MCP-инструментов;
|
||
- простая авторизация администратора;
|
||
- ключи агентов для MCP-доступа;
|
||
- одно самостоятельное развертывание;
|
||
- PostgreSQL как основное хранилище;
|
||
- необязательный Valkey или Redis для служебного кэша.
|
||
|
||
Функции за пределами перечисленного набора не должны попадать в этот репозиторий.
|
||
Целевые Resources, Prompts, Tasks и Load Runs допускаются только через
|
||
проверяемое изменение Inventory, guardrails, tests и документации.
|