Files
shturman/CLAUDE.md
T
kk0t9 a9aad21636 chore: убрать GitHub-Actions CI (триггерит Gitea) + CLAUDE.md цель → Lima E2E
- удалён .github/workflows/ci.yml: self-hosted Gitea ловит GitHub-Actions-формат, не нужно.
  Активный гейт — локальный just ci; авто-CI на Gitea — решение позже.
- CLAUDE.md § «Текущая цель»: фундамент (Планы 1–5 ч.1) в main; следующее — A (Lima E2E, План 5 ч.2).
- spec §8.3 — пометка об удалении CI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Alexander <akotenev2003@gmail.com>
2026-06-24 14:50:59 +03:00

6.0 KiB

Штурман — инструкции проекта

Open-source русскоязычный companion-слой («ОС поверх Linux») для авто на RK3588: быстрый Slint-UI + голосовой RU-ассистент, читающий OBD/CAN только на чтение + расширяемый Plugin API. Лицензия MIT. Общение и комментарии — по-русски; код-идентификаторы — как есть.

Фаза: РЕАЛИЗАЦИЯ (v0)

Проектирование завершено. Источник правды по дизайну — каталог docs/ (Tier 0–3 + 8 контрактов + детальный roadmap.md; всё прошло многоагентный adversarial-ревью). Не противоречь докам; если реальность расходится с доком — синхронизируй док (двунаправленные швы, как в дизайн-фазе).

КРАСНЫЕ ЛИНИИ (нерушимы)

  1. Никогда не safety-critical — двигатель/тормоза/ABS/ESP/руль/подушки; в системе нет actuator-путей.
  2. CAN только на чтение — стандартные OBD-II read-запросы (Mode 01/03/07/09/0A) допустимы; запрещены write/actuator/Mode-04/UDS-write. Граница и энфорсмент — docs/contracts/safety.md.

Стек (canonical — docs/tech-stack.md)

Rust везде в проде (Python — только dev/симуляторы). D-Bus control-plane; PipeWire+WirePlumber (аудио); Wayland + smithay-композитор (Shell); Slint (UI); bubblewrap + Perm-Broker (песочница плагинов); NM/MM + BlueZ (GPL-демоны через D-Bus, изолированы). License-гигиена — cargo-deny.

Dev-окружение (docs/dev-environment.md)

Всё в Lima ARM64-VM (Ubuntu) — нативно к таргету RK3588, разработка без машины (принцип #13): vcan + Vehicle Simulator + моки (аудио/BT/камера/GPS/сеть/plugin-host/нав/облако). justfile — единые команды (just vm-up, just sim, just test, … — создаём по ходу). Перф-вердикт — на реальном RK3588 (не на dev-Mac), бюджеты — docs/contracts/performance.md.

Как работаем (реализация)

  • Roadmap ведёт. Идём по вехам docs/roadmap.md. Текущая цель — v0 (критпуть: образ → power-safe → shell).
  • Цикл на веху: спека (раскладка/границы/D-Bus-интерфейсы/тест-план/acceptance) → TDD → реализация → verify в Lima-VM → коммит. Не писать код до утверждённой спеки.
  • Скиллы: test-driven-development, writing-plans/executing-plans, verification-before-completion, systematic-debugging, requesting-code-review.
  • Коммиты: feat/fix/chore(<area>): …; ветка от main (без явного «ок» в main не коммитим); в конце — Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>.
  • Сквозные гейты каждой вехи: safety (red-lines/distraction), performance (бюджеты), design-system (визуальный язык).

Текущая цель — v0 (см. docs/roadmap.md § v0)

Фундамент готов и в main (Планы 1–5 ч.1; спека docs/specs/v0.1-v0.6-foundation.md + планы docs/specs/plans/): воркспейс + shturman-common/ipc/sdk + стаб-сервисы firstboot/settings/power (интеграция на D-Bus) + первый Slint-кадр (shell) + dev-tools (валидатор/scaffolding) + systemd/Lima/E2E-файлы. just ci зелёный.

Следующее — A (План 5 ч.2): поднять Lima-VM (just vm-up) и довести сквозной E2E (just e2e): boot → стаб-сервисы (Power/Settings на D-Bus) → первый Slint-кадр (screenshot). Приёмка — спека §9.4. Остаток фаз v0: v0.2 boot-конвейер · v0.3 power-safe · v0.4 MCU/thermal · v0.5 полный shell.

CI: GitHub-Actions-конфиг удалён (его ловит Gitea). Гейт — локальный just ci. CI на Gitea — решение позже.

Карта документации

  • Архитектура/процессы/шина: docs/architecture.md · стек: docs/tech-stack.md · принципы (13): docs/principles.md.
  • Контракты (docs/contracts/): ipc · data-model · security-privacy · plugin-sdk · hardware · safety · performance · design-system.
  • Домены (docs/domains/): A base-system · B power-lifecycle · C shell-ux · D assistant · E vehicle-data · F plugin-host · G…L.
  • План: docs/capability-catalog.md (170 функций, ID <буква><NN>) · docs/roadmap.md (вехи v0.1…v4.5) + docs/roadmap.html.

Решения-🟡 (всплывут по ходу — НЕ блокеры старта)

A01 Armbian/Debian vs Yocto, A02 f2fs vs ext4 — на сборке прод-образа (dev использует Lima Ubuntu). B08/B09 MCU vs supercap-only — на v0.4 (вероятно нужна аппаратная проверка). Полный реестр — docs/roadmap.md «Риск-реестр».

Гочи

  • §-якоря в доках = номера РАЗДЕЛОВ, не строк.
  • Adversarial-ревью через Workflow: НЕ ставить сырые backticks в template-literal промптах агентов (закрывают строку, валят скрипт) — код-идентификаторы в одинарных кавычках.