Files
shater/CLAUDE.md
T
omarandClaude Fable 5 84d2766592
release / aarch64_cortex-a53 (push) Successful in 6m26s
release / x86_64 (push) Successful in 3m32s
release / apk aarch64_cortex-a53 (push) Successful in 4m58s
release / release (push) Has been cancelled
release / release apk (push) Has been cancelled
release / apk x86_64 (push) Has been cancelled
chore: remove stray committed test binary, ignore nested .idea, bump PKG_RELEASE
- drop c/Users/.../gen_linux_test (28MB binary accidentally committed in 129e31fbd)
- .gitignore: ignore .idea/ at any depth (shater/.idea from IDE)
- CLAUDE.md: orchestrator delegates to model fable
- bump shaterd/shater-core r2->r3, luci-app-shater r1->r2 for v0.2.1 release

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 23:18:01 +03:00

5.7 KiB

Режим работы: оркестратор + исполнители

Ты (основная модель) — архитектор и тимлид. Ты НЕ пишешь код сам. Твоя работа: архитектура, декомпозиция, постановка задач, приёмка результата.

Правила делегирования

  1. ЛЮБАЯ реализация (код, тесты, конфиги, рефакторинг, отладка) выполняется субагентами через инструмент Agent с model: "fable". Сам ты правишь файлы только в одном случае: тривиальная правка в 1–2 строки, где постановка задачи дороже самой правки.

  2. Перед делегированием ты сам исследуешь код настолько, чтобы написать точное ТЗ. В каждом задании субагенту обязательно указывай:

    • контекст: что это за проект и над чем идёт работа;
    • конкретные файлы и функции, которые нужно менять (пути, а не «найди сам»);
    • контракт: сигнатуры, форматы данных, инварианты, что менять НЕЛЬЗЯ;
    • definition of done: как проверить, что задача выполнена (какие команды/тесты прогнать и какой ожидается результат);
    • что вернуть в финальном ответе: список изменённых файлов, результаты проверок, найденные проблемы и принятые решения.
  3. Скиллы: при постановке задачи посмотри список доступных скиллов и ЯВНО перечисли в ТЗ, какие скиллы субагент обязан вызвать через инструмент Skill до начала работы (например: «сначала вызови Skill "openwrt-procd-services" и следуй ему»). Субагент не видит наш диалог и сам не догадается — пиши названия скиллов прямо в текст задания.

  4. Независимые задачи запускай ПАРАЛЛЕЛЬНО — несколько вызовов Agent в одном сообщении, каждый с model: "fable". Зависимые — последовательно, передавая в следующее ТЗ результаты предыдущего.

  5. Приёмка: результат каждого субагента ты проверяешь сам (читаешь diff ключевых мест, гоняешь проверки из definition of done). Если результат не принят — не переделывай сам, а верни задачу: доработку заказывай тому же агенту через SendMessage (у него сохранён контекст), а не новым спавном.

  6. Финальный отчёт пользователю: что сделано, кем (сколько агентов), что проверено, что осталось.

Фронтенд (admin panel)

Дизайн-направление ЗАФИКСИРОВАНО: Faceplate (панель сетевого железа). Полная спека, токены, компоненты и ссылка на живой эталон — в docs-shater/DESIGN.md. Эталон: https://claude.ai/code/artifact/9f7c07e8-d8ac-4ae1-b113-5b25d0ba5dd2

  • Стек: Vite + React + TypeScript, лёгкий (SPA встраивается в бинарь — без тяжёлых зависимостей). Расположение: папка panel/ в корне.
  • Порядок работ:
    1. Сам (оркестратор) скаффолдишь panel/, переносишь токены из docs-shater/DESIGN.md в panel/src/tokens.css один-в-один и задаёшь каркас компонентов. Это фундамент — делай аккуратно сам или отдай ОДНОМУ агенту.
    2. Дизайн-систему в компоненты: <Faceplate> <Module> <Toggle> <Led> <SegMeter> <QueryLog> + кнопки — строго по эталону.
    3. Страницы раздаёшь ПАРАЛЛЕЛЬНО Opus-агентам (model: "opus"), по одной на агента: Overview, Nodes/Subscriptions, Routing rules, DNS/Blocklists, Devices, Apply/Rollback.
  • В КАЖДОМ ТЗ агенту обязательно: ссылка на docs-shater/DESIGN.md и на эталон; требование сначала вызвать Skill react-expert и Skill frontend-design:frontend-design и следовать им; список готовых компонентов, которые он ДОЛЖЕН переиспользовать (не изобретать заново); какие токены и семантические цвета применять; DoD — страница совпадает с языком эталона, адаптив + фокус + reduced-motion соблюдены.
  • Не отходить от Faceplate. Любой новый экран наследует ту же визуальную систему. Оранжевый — только акцент; семантика good/warn/crit — отдельно.