AIKraft/Skills/cmux-architecture

cmux-architecture

Описывает архитектуру cmux, рефакторинг, инверсию зависимостей и организацию файлов. Применяйте перед добавлением или переписыванием Swift-файлов, пакетов, координаторов, сервисов и публичных API, соблюдая правила Swift 6 concurrency.

MAmanaflow-ai official Разработка ★ 27.6k

Что делает навык

Описывает архитектуру Swift-пакетов для проекта cmux, включая правила организации зависимостей (DAG), группировки файлов и управления фичами. Применяется для рефакторинга, добавления новых пакетов и обеспечения соответствия стандартам инверсии зависимостей и Swift 6 concurrency.

Когда применять

  • Создание нового Swift-пакета в структуре Packages/ с соблюдением правил эргономичности и ацикличности.
  • Перемещение пакета между группами (Shared, iOS, macOS) с актуализацией структуры рабочего пространства.
  • Настройка feature flags через CmuxFeatureFlags и PostHog для управления функциональностью на уровне рантайма.
  • Управление файлами Package.resolved и проверка целостности зависимостей перед коммитом.

Как работает

  1. Определите домен пакета: создайте один пакет на полную область (например, appearance, terminal), используя внутреннюю структуру папок, а не модулей.
  2. Разместите пакет в соответствующей группе (Packages/Shared, iOS или macOS) и обновите структуру через git mv и скрипт check-workspace-package-groups.py.
  3. Настройте зависимости так, чтобы граф оставался ацикличным (DAG), поднимая общие типы в нижние пакеты или используя протоколы.
  4. Добавьте явные записи в pbxproj для целей cmux и cmuxTests, следуя документации references/package-boundaries.md.
  5. Зафиксируйте изменения в Package.resolved для корня и локальных пакетов, не игнорируя их в git.
  6. Реализуйте feature flags через CmuxFeatureFlags с ключом PostHog, фоллбэком и тестами, если не требуется компиляционный флаг.

Примеры запросов агенту

Создай новый пакет CmuxBrowser в группе iOS, соблюдая правила ацикличности зависимостей.
Перемести пакет CmuxAppearance из Shared в macOS и обнови структуру workspace.
Добавь feature flag для новой функции терминала через CmuxFeatureFlags и PostHog.

Что понадобится

  • Среда разработки SwiftPM и Xcode (cmux.xcodeproj, cmux.xcworkspace)
  • Скрипты Python: check-workspace-package-groups.py, check-package-resolved-policy.py
  • Доступ к PostHog для настройки runtime feature flags

Описание составлено по SKILL.md навыка, сверено 06.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «cmux-architecture» из репозитория: # https://github.com/manaflow-ai/cmux
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r cmux-architecture/ ~/.claude/skills/cmux-architecture/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.