# Сообщения об ошибках и сборка из исходников Используйте репозиторий для сообщений об ошибках, текущих релизов и вклада в проект. [Руководство по устранению неполадок](troubleshooting.md) описывает безопасное восстановление до сообщения о проблеме. ## Сообщение об ошибке {#report-a-bug} 1. Откройте **Настройки → Информация → Диагностика**. 2. Выберите **Сообщить об ошибке** для открытия формы задачи GitHub. 3. Проверьте предзаполненную информацию версии/клиента. Добавьте минимальное воспроизведение, ожидаемое поведение и фактический результат, затем отправьте через GitHub. Действие заполняет версии CodeNomad и OpenCode (включая работающую службу OpenCode, если её версия отличается от установленной), вашу операционную систему, тип клиента (с user agent браузера в веб-браузере) и операционную систему сервера. Оно не заполняет адреса слушателей, пути рабочего пространства, учётные данные или текст разговоров. Открытие формы не отправляет задачу. Если нужна дополнительная диагностика, **Скопировать в буфер обмена** или **Скачать .txt** создаёт отдельный отчёт. Более полный отчёт может содержать локальные пути и сетевые адреса: проверьте и очистите перед прикреплением. Снимок экрана или фрагмент лога тоже может содержать секреты, даже если автоматический отчёт исключает секреты аутентификации. Если форма GitHub имеет несовместимые поля, CodeNomad открывает обычную задачу с той же информацией отчёта. Временная ошибка чтения формы не мешает открытию. Всегда можно вручную использовать [список задач](https://github.com/NeuralNomadsAI/CodeNomad/issues). ## Сообщество и релизы {#community} | Ресурс | Применение | | --- | --- | | [Репозиторий CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Исходники, активность проекта и документация. | | [Задачи](https://github.com/NeuralNomadsAI/CodeNomad/issues) | Поищите существующие отчёты перед воспроизводимой ошибкой или запросом функции. | | [Pull requests](https://github.com/NeuralNomadsAI/CodeNomad/pulls) | Проверяйте предлагаемые изменения или согласуйте вклад. | | [Страница загрузки](download.md) | Последние стабильные настольные сборки для вашей платформы. | | [Последний релиз](https://github.com/NeuralNomadsAI/CodeNomad/releases/latest) | Стабильные файлы загрузки. | | [Все релизы](https://github.com/NeuralNomadsAI/CodeNomad/releases) | Опубликованные предварительные версии и примечания. | | [Neural Nomads](https://github.com/NeuralNomadsAI) | Организация проекта. | | [Лицензия MIT](../../../LICENSE) | Условия лицензии. | По вопросам нативной конфигурации OpenCode, а не управления CodeNomad, обратитесь к [документации OpenCode](https://opencode.ai/v2/docs/) и [релизам upstream](https://github.com/anomalyco/opencode/releases). ## Сборка из исходников {#build-from-source} Используйте Node.js **24.20.0**, закреплённый в `.node-version`, npm, Git и совместимый OpenCode CLI. Выполните команды из рабочей копии разработки: ```sh git clone --branch dev https://github.com/NeuralNomadsAI/CodeNomad.git cd CodeNomad npm ci --workspaces --include=optional npm run dev ``` `npm run dev` запускает хост разработки Electron. Для Tauri сначала установите [предпосылки сборки платформы](https://v2.tauri.app/start/prerequisites/), включая Rust, затем выполните: ```sh npm run dev:tauri ``` Изменения разработки влияют на хост разработки, не на установленную версию независимо работающего демона OpenCode. Нативная упаковка требует соответствующих целевых инструментов; предпочитайте сборку на целевой ОС. ### Сборка и проверка {#build-and-validate} | Команда из корня репозитория | Назначение | | --- | --- | | `npm run build` | Собрать ресурсы приложения Electron. | | `npm run build:tauri` | Собрать приложение Tauri с его нативными предпосылками. | | `npm run build:ui` | Собрать браузерный интерфейс. | | `npm run build --workspace @neuralnomads/codenomad` | Собрать отдельный сервер и встроенные ресурсы. | | `npm run build:linux --workspace @neuralnomads/codenomad-electron-app` | Упаковать релиз Electron Debian. | | `npm exec --workspace @codenomad/tauri-app -- tauri build --bundles appimage` | Упаковать Linux Tauri AppImage. | | `npm run typecheck` | Проверить настроенные TypeScript-пространства корня. | | `npm run test:help` | Проверить все локали общедоступной справки и ссылки. | | `npm run build:help` | Собрать отдельную общедоступную справку в `dist/help`. | Сборке справки не нужна работающая служба CodeNomad или OpenCode. Упаковка описана в [BUILD.md](../../../BUILD.md), проверки по областям и правила PR — в [CONTRIBUTING.md](../../../CONTRIBUTING.md); используйте реально существующие сценарии целевого пакета. ## Карта пакетов и вклад {#contribute} | Пакет | Ответственность | | --- | --- | | `packages/server` | Управление рабочими пространствами/API/Git, подключение OpenCode, аутентификация, события и речь. | | `packages/ui` | Рабочее пространство SolidJS, элементы управления, локализация и вход браузерной справки. | | `packages/electron-app` | Окна Electron, нативная интеграция и упаковка. | | `packages/tauri-app` | Окна Tauri, интеграция платформы и упаковка. | | `packages/remote-tunnel` | Среда транспорта OpenTunnel серверной стороны. | 1. Обсудите область в соответствующей задаче перед реализацией пересекающейся работы. 2. Создайте ветку от `dev` и сохраняйте фокус изменения. 3. Выполните проверки затронутой области, обновите справку вместе с поведением и направьте PR в `dev`. Исходники общедоступной справки находятся в `docs/help//`. Сохраняйте явный ID, уровень и порядок каждого английского заголовка в переводах; переведённые заголовки не должны ломать глубокие ссылки. [Контракт сопровождения справки](../../../dev-docs/USER_HELP.md) описывает строгую полноту и конвейер статической публикации.