Files
crank/CONTRIBUTING.md
T

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