# Участие в разработке 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 и документации.