Files
crank/CONTRIBUTING.md
T

3.7 KiB
Raw Blame History

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

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 и документации.