# Участие в разработке

Crank Community принимает исправления ошибок, улучшения документации, тесты и доработки открытой версии проекта.

## Лицензия вкладов

Crank Community распространяется по лицензии GNU Affero General Public License v3.0 only.

Перед отправкой pull request нужно согласиться с [Contributor License Agreement](./CLA.md). Это нужно, чтобы проект мог использовать принятые изменения не только в Community-версии, но и в коммерческих редакциях Crank.

## Перед pull request

Проверьте форматирование и тесты:

```bash
just fmt-check
just clippy
just test
```

Для изменений веб-интерфейса также выполните:

```bash
cd apps/ui
npm ci
npm run build
npx playwright test
```

## Требования к изменениям

- Не добавляйте функциональность вне границ Community-версии.
- Не добавляйте секреты, токены, приватные адреса и локальные настройки.
- Не коммитьте `AGENTS.md`, `TASKS.md`, `.env` и временные файлы.
- Для изменений SQL-запросов обновляйте `.sqlx`, если это требуется SQLx.
- Для пользовательских изменений обновляйте документацию или примеры.

## Границы Community-версии

В этом репозитории поддерживаются:

- REST API как источник MCP-инструментов;
- простая авторизация администратора;
- ключи агентов для MCP-доступа;
- одно самостоятельное развертывание;
- PostgreSQL как основное хранилище;
- необязательный Valkey или Redis для служебного кэша.

Функции коммерческих редакций не должны попадать в этот репозиторий.
