cmux-config — скилл для Claude Code: настройка cmux через cmux.json
Правит конфиг cmux в ~/.config/cmux/cmux.json: внешний вид, горячие клавиши, кнопки таб-бара, группы воркспейсов. Сохранение применяется сразу, без перезапуска.
npx skills add manaflow-ai/cmux-skills --skill cmux-config -a claude-codeЧто делает cmux-config
Скилл даёт агенту один вход в конфигурацию cmux. Файл ~/.config/cmux/cmux.json в формате JSONC, приложение следит за ним и подхватывает правки на сохранении. Старый ~/.config/cmux/settings.json читается только как запасной источник для ключей, которых в cmux.json нет.
Работа идёт через вспомогательный скрипт ./scripts/cmux-settings: он срезает комментарии JSONC, пишет файл атомарно и сверяет ключи со схемой. Есть команды get, set, unset, list-supported, validate, dump, open. Типизированные настройки лежат в разделах app, terminal, notifications, sidebar, automation, browser, shortcuts; структурная часть — это actions, ui.surfaceTabBar.buttons, ui.newWorkspace, commands, rightSidebar, vault.
Вот на чём легко ошибиться: validate пропускает структурные секции, поэтому опечатка вроде ui.surfaceTabbar.buttons проверку пройдёт, а cmux её проигнорирует. Такие ключи сверяйте с references/customize.md и читайте обратно через get. Цвета задаются как #RRGGBB, прозрачность — от 0 до 1, а id действий для горячих клавиш должны совпадать с enum схемы. Группы воркспейсов настраиваются через CLI cmux workspace group, а не правкой сессионного JSON.
Какие задачи решает
- поменять тему, шрифт или прозрачность сайдбара в cmux
- переназначить горячую клавишу на конкретное действие
- добавить свою кнопку в таб-бар или пункт в контекстное меню
- собрать воркспейсы в сворачиваемые группы по каталогу
- проверить конфиг на неизвестные ключи перед сохранением
Примеры запросов агенту
- добавь кнопку в таб-бар cmux для запуска тестов
- переназначь горячую клавишу на переключение воркспейса
- собери воркспейсы в группу по текущему каталогу
Как установить cmux-config
1Через Skills CLI (Vercel)
npx skills add manaflow-ai/cmux-skills --skill cmux-config -a claude-code2Вручную: положить файлы
~/.claude/skills/cmux-config/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/cmux-config/
1Через Skills CLI (Vercel)
npx skills add manaflow-ai/cmux-skills --skill cmux-config -a codex2Вручную: положить файлы
.agents/skills/cmux-config/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add manaflow-ai/cmux-skills --skill cmux-config -a cursor2Вручную: положить файлы
.cursor/skills/cmux-config/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install manaflow-ai/cmux-skills cmux-config2Вручную: положить файлы
.github/skills/cmux-config/SKILL.md1Через Skills CLI (Vercel)
npx skills add manaflow-ai/cmux-skills --skill cmux-config -a gemini-cli2Командой платформы
gemini skills install https://github.com/manaflow-ai/cmux-skills --path skills/cmux-configВручную: положить файлы
.devin/skills/cmux-config/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add manaflow-ai/cmux-skills --skill cmux-config -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о cmux-config
Как установить cmux-config в Claude?
Выполните npx skills add manaflow-ai/cmux-skills --skill cmux-config -a claude-code. Скилл встанет в ~/.claude/skills/cmux-config/SKILL.md.
Что делает cmux-config?
Редактирует ~/.config/cmux/cmux.json: типизированные настройки, структурную кастомизацию интерфейса и группы воркспейсов. Правки применяются на сохранении, перезапуск не нужен.
Почему validate не ловит опечатку в ключе кастомизации?
Валидатор пропускает структурные секции вроде actions, ui, commands, vault и rightSidebar. Сверяйте такие ключи с references/customize.md и читайте значение обратно через cmux-settings get.
Исходный текст
SKILL.md · MIT
---
name: cmux-config
description: "Configure cmux through ~/.config/cmux/cmux.json: settings (appearance, sidebar, notifications, automation, browser, shortcuts, set/get/validate by JSON path), customization (tab bar buttons, plus-button click and right-click menus, custom actions/commands/menus, right sidebar), and sidebar workspace groups (anchor workspaces, group CLI/socket ops, per-cwd group config). Triggers: 'cmux config', 'cmux.json', 'change cmux setting', 'set <x> in cmux', 'rebind a cmux shortcut', 'cmux-customize', 'customize cmux', 'tab bar button', 'add cmux action', 'workspace group', 'group sidebar', 'anchor workspace', 'workspaceGroups'."
---
# cmux-config
Single entry point for editing a user's cmux configuration in
`~/.config/cmux/cmux.json` (JSONC). The app watches the file; saving applies
changes immediately, no restart. Legacy `~/.config/cmux/settings.json` is read
only as a fallback for keys absent from `cmux.json`.
Three areas, each with a reference:
- **Settings** — typed preferences under `app`, `terminal`, `notifications`,
`sidebar`, `sidebarAppearance`, `workspaceColors`, `automation`, `browser`,
`shortcuts`. See the helper below and [references/all-keys.md](references/all-keys.md) /
[references/shortcut-actions.md](references/shortcut-actions.md).
- **Customization** — structural config: `actions`, `ui.surfaceTabBar.buttons`,
`ui.newWorkspace` (plus-button click + context menu), `commands`, `rightSidebar`,
`vault`. See [references/customize.md](references/customize.md).
- **Workspace groups** — collapsible anchor-owned sidebar sections via the `cmux
workspace group` CLI / socket API and `workspaceGroups` config. See
[references/groups.md](references/groups.md).
## Helper script
Use the bundled helper for every settings/customize read and write. It strips
JSONC comments, writes atomically, and validates keys against the schema. From the
installed skill directory:
```bash
./scripts/cmux-settings <subcommand>
```
For brevity below, assume it is on `$PATH` as `cmux-settings` (e.g.
`export PATH="$HOME/.claude/skills/cmux-config/scripts:$PATH"`).
| Command | What it does |
|---|---|
| `cmux-settings path` | Print the config path. |
| `cmux-settings dump [--no-comments]` | Print the raw file (or parsed JSON). |
| `cmux-settings get <a.b.c>` | Print value at dotted JSON path. |
| `cmux-settings set <a.b.c> <value>` | Set value (`<value>` parsed as JSON; bare words stored as strings). |
| `cmux-settings unset <a.b.c>` | Delete key, reverting to the in-app default. |
| `cmux-settings list-supported` | List every settings JSON path the app recognizes. |
| `cmux-settings validate` | Parse the file and flag unknown settings keys. |
| `cmux-settings open` | Open `cmux.json` in `$EDITOR` / VS Code / Cursor / TextEdit. |
`--file <path>` overrides the target file (use for the legacy `settings.json`).
Schema: `https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json`.
## Workflow
1. If the user named a setting in plain English, look it up first:
`cmux-settings list-supported | rg -i '<keywords>'`.
2. Make the smallest edit (settings/customize via the helper; groups via the
`cmux workspace group` CLI in [references/groups.md](references/groups.md)).
3. Verify by surface:
- **Typed settings:** read back (`cmux-settings get <path>`) and `cmux-settings validate`.
- **Customization** (`actions`, `ui.*`, `commands`, `vault`, `rightSidebar`): read back the
exact key (`cmux-settings get <path>`) and confirm the file still parses
(`cmux-settings dump --no-comments`). Do NOT rely on `validate` here: it skips structural
sections, so a typo like `ui.surfaceTabbar.buttons` passes validation yet cmux ignores it.
Check the key against [references/customize.md](references/customize.md).
- **Groups:** `cmux workspace group list` (the settings validator does not recognize
`workspaceGroups`).
4. Tell the user it auto-reloaded on save. No app restart. Revert with
`cmux-settings unset <key>`.
## Rules
- Only edit `cmux.json`. Never edit `settings.json` unless asked; it is legacy.
- Never tell the user to restart cmux to apply a change; the watcher reloads on save.
- Do not blindly overwrite top-level structural sections (`actions`, `ui`,
`commands`, `vault`, `rightSidebar`); they hold hand-tuned non-settings config.
- Color values are `#RRGGBB`; opacities are `0..1`.
- Shortcut action ids must match the schema enum; look them up in
[references/shortcut-actions.md](references/shortcut-actions.md) before binding.
- Do not run a tagged app reload for config-only or skill-only changes.
- For workspace groups prefer CLI/socket operations over editing session JSON, and
preserve anchor semantics (see [references/groups.md](references/groups.md)).
© manaflow-ai · MIT · manaflow-ai/cmux-skills