Repository navigation
Contribution Guide
CADYX — прототип CAD-системы с управлением через ИИ-агентов, целевая платформа — Windows x64. Перед изменениями прочитайте AGENTS.md, правила проекта, карту документации, релевантные контракты и тесты.
Установите PowerShell 7+, CMake и MSVC C++ Build Tools. Из корня репозитория:
.\scripts\setup-runtime.ps1 -WithNode
.\.runtime\python\python.exe -m unittest discover -s tests -v
.\.runtime\python\python.exe -m compileall -q cadyx tests scriptsСтатические проверки выполняются в обычной среде Python:
python -m pip install -r requirements-dev.txt
python -m ruff check .
python scripts/check-static-types.py
python -m unittest discover -s tests -p test_source_contracts.py -vБраузерные тесты Node и полная проверка Windows определены в CI. Успех source-job не означает успех нативного Windows-job. Выбирайте локальные проверки пропорционально изменению; полный набор выше нужен для полной верификации.
- Агент создаёт и изменяет модели через версионированный Agent API и общий Command System. Браузер служит для наблюдения; действия человека обязаны учитывать блокировку и активность проекта.
- Геометрия, документ и история должны соответствовать одной ревизии. Изменения проверяются и сохраняются атомарно.
- Используйте закреплённые версии среды; перед обновлением проверяйте официальные стабильные выпуски.
- Изменение поведения требует релевантных проверок и обновления канонических контрактов. Не ослабляйте baseline ради зелёного результата.
- Текущие возможности описывайте в тематических руководствах; исторические версии схем не выдавайте за актуальный перечень ограничений. Сверяйте API с
cadyx/web_routes.py,cadyx/capabilities.pyиcadyx/migrations.py. - Модели пользователей, сканы, секреты и сгенерированная среда не входят в Git.
- Поддерживайте русскую и английскую навигацию. В коротких пользовательских руководствах обновляйте обе языковые версии вместе. Для технических контрактов явно различайте русское описание и полный английский контракт; краткое описание не является полным переводом схем и примеров.
Сопровождающие работают в main по правилам проекта; внешние участники могут предложить PR из fork. Укажите цель, область, интерфейсы и результаты проверок. Не добавляйте постороннее форматирование и большие генерируемые файлы. Уязвимости сообщайте приватно по политике безопасности.
Код лицензирован по MIT. До отправки вклада убедитесь, что имеете право предоставить его на условиях этой лицензии.
CADYX is an AI-first CAD development prototype, currently verified on Windows x64. Before making changes, read AGENTS.md, .codex/rules.md, the documentation map, the relevant architecture documents, and the existing tests.
Install PowerShell 7+, CMake and the MSVC C++ Build Tools. From the repository root:
.\scripts\setup-runtime.ps1 -WithNode
.\.runtime\python\python.exe -m unittest discover -s tests -v
.\.runtime\python\python.exe -m compileall -q cadyx tests scriptsFor the source-only static gate, use a compatible Python installation and run:
python -m pip install -r requirements-dev.txt
python -m ruff check .
python scripts/check-static-types.py
python -m unittest discover -s tests -p test_source_contracts.py -vThe Node browser tests and complete Windows verification steps are defined in .github/workflows/ci.yml. Check them before calling a change verified; a green source-only gate does not imply that the native Windows workflow passed.
- CAD agents create and modify models using the versioned Agent API and shared Command System, not by driving the browser.
- The browser is primarily a read-only observation surface. Human actions must respect the per-project lease and activity gate; do not bypass it.
- Keep geometry, saved document state, and command history revision-consistent and validate edits atomically.
- Use the repository's reviewed runtime locks and verify official stable releases before changing dependency versions.
- Add targeted regression coverage and update authoritative contracts when behavior changes; never suppress failures by weakening a baseline.
- Document current behavior in topic-specific guides and the current-schema map, without rewriting historical version contracts as if older schemas were current. Verify API/command names against
cadyx/web_routes.py,cadyx/capabilities.py, andcadyx/migrations.py. - Keep actual project models, scans, credentials and generated runtime files out of Git.
- Maintain Russian and English navigation. Update both language versions of short user guides together. For technical contracts, explicitly distinguish the Russian overview from the full English contract; an overview is not a complete translation of schemas and examples.
Repository maintainers currently work directly on main per project rules. External contributors can propose a pull request from a fork. Provide the scope, reason, affected interfaces and test results. Avoid unrelated formatting or large generated-file changes. Security reports belong in a private channel as described in SECURITY.md.
Licensing: CADYX is licensed under the MIT License. Before submitting a contribution, ensure you have the right to submit and license that work under the project's license.