3.7 KiB
3.7 KiB
Участие в разработке
Crank Community принимает исправления ошибок, улучшения документации, тесты и доработки открытой версии проекта.
Лицензия вкладов
Crank Community распространяется по лицензии GNU Affero General Public License v3.0 only.
Перед отправкой pull request нужно согласиться с Contributor License Agreement. Это нужно, чтобы права на принятые изменения были оформлены явно и проект мог развиваться без юридических неопределенностей.
Перед pull request
Проверьте форматирование и тесты:
just fmt-check
just clippy
just test
Для изменений веб-интерфейса также выполните:
cd apps/ui
npm ci
npm run build
npx playwright test
Требования к изменениям
- Не добавляйте функциональность вне границ Community-версии.
- Сверяйте границу и статус flow с
docs/capability-inventory.json: толькоimplementedсчитается готовым, аplanned,gapиblockedне являются разрешением заявить незавершённую функцию работающей. - Если change меняет capability status или evidence, обновите versioned
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 и документации.