MA
cmux-architecture
Описывает архитектуру cmux, рефакторинг, инверсию зависимостей и организацию файлов. Применяйте перед добавлением или переписыванием Swift-файлов, пакетов, координаторов, сервисов и публичных API, соблюдая правила Swift 6 concurrency.
Что делает навык
Описывает архитектуру Swift-пакетов для проекта cmux, включая правила организации зависимостей (DAG), группировки файлов и управления фичами. Применяется для рефакторинга, добавления новых пакетов и обеспечения соответствия стандартам инверсии зависимостей и Swift 6 concurrency.
Когда применять
- Создание нового Swift-пакета в структуре Packages/ с соблюдением правил эргономичности и ацикличности.
- Перемещение пакета между группами (Shared, iOS, macOS) с актуализацией структуры рабочего пространства.
- Настройка feature flags через CmuxFeatureFlags и PostHog для управления функциональностью на уровне рантайма.
- Управление файлами Package.resolved и проверка целостности зависимостей перед коммитом.
Как работает
- Определите домен пакета: создайте один пакет на полную область (например, appearance, terminal), используя внутреннюю структуру папок, а не модулей.
- Разместите пакет в соответствующей группе (Packages/Shared, iOS или macOS) и обновите структуру через git mv и скрипт check-workspace-package-groups.py.
- Настройте зависимости так, чтобы граф оставался ацикличным (DAG), поднимая общие типы в нижние пакеты или используя протоколы.
- Добавьте явные записи в pbxproj для целей cmux и cmuxTests, следуя документации references/package-boundaries.md.
- Зафиксируйте изменения в Package.resolved для корня и локальных пакетов, не игнорируя их в git.
- Реализуйте 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 и совместимые) подхватывает его по описанию и следует шагам.