manaflow-ai/cmux

cmux-customization

Customize cmux for an end user, including terminal, browser, Markdown, diff, file preview, notes, HTML, and right-sidebar viewers.

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/manaflow-ai/cmux --skill cmux-customization

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

cmux Customization

Keep the user's config intact, prefer schema-backed edits, and validate before reporting completion.

For content viewers, start with the viewer customization matrix. It maps each viewer to the settings, command, or external file that owns its knobs, including explicit fallbacks for viewer types whose template settings have not shipped yet.

Choose the right surface

Want to changeEdit
App preferences (appearance, sidebar, notifications, browser routing, automation, shortcuts, new-workspace placement)~/.config/cmux/cmux.json via the cmux-settings helper
Custom actions, workspace layouts/commands, tab bar buttons, plus-button behavior, Command Palette entries, notification hooks~/.config/cmux/cmux.json globally or .cmux/cmux.json in the project
Dock controls (right-sidebar terminals: logs, test watchers, git TUIs, dev servers, queues, cmux feed tui --opentui).cmux/dock.json or ~/.config/cmux/dock.json; cmux docs dock when available
Terminal rendering and terminal keybindings (fonts, themes, cursor style, copy-on-select, shell integration)Ghostty config, usually ~/.config/ghostty/config
Bring fonts, colors and terminal behavior over from iTerm2, Terminal, Alacritty, Kitty, WezTerm or a Warp themecmux import <terminal> --dry-run to preview, then cmux import <terminal>; writes cmux's own Ghostty config and a generated theme, never ~/.config/ghostty/config
Workspace names, descriptions, colors, read state, sidebar metadatacmux CLI, see ../cmux-workspace/SKILL.md
Feed event sourcescmux hooks setup

Viewer-specific JSON settings live in the global cmux.json: browser.*, markdown.*, fileEditor.*, fileExplorer.*, and diffViewer.*. Generic file preview routing also uses app.openSupportedFilesInCmux and app.openMarkdownInCmuxViewer plus app.preferredEditor. Right-sidebar tools are structural state and Dock configuration, not a templates.rightSidebarTool object.

Project-local .cmux/cmux.json and .cmux/dock.json let worktree, SSH, review, dev, CI, and docs patterns travel with the repo; project actions and commands override global entries with the same ID or name. Global app preferences do not belong there.

If a request can be handled by Ghostty config, say so and use Ghostty config instead of inventing cmux UI settings.

Key surfaces in cmux.json: actions (reusable, can appear in Cmd+Shift+P, surface tab bars, shortcuts, and the plus-button right-click menu; type: "text" pastes a snippet into the focused terminal and does not submit it unless submit: true), ui.newWorkspace.action (replaces the plus-button click) and ui.newWorkspace.contextMenu (right-click menu; ui.newWorkspace.rightClick is an accepted alias but new examples use contextMenu), ui.surfaceTabBar.buttons (replaces default tab bar buttons; include built-ins like cmux.newTerminal, cmux.newBrowser, cmux.splitRight, cmux.splitDown only when they should stay visible; copy built-ins cmux.copyWorkingDirectory, cmux.copyProjectRoot, and cmux.copyScreen also work here and in actions), and commands (workspace definitions with split layouts).

Workflow

  1. Inspect existing config.
bash
   test -f ~/.config/cmux/cmux.json && sed -n '1,220p' ~/.config/cmux/cmux.json
   test -f .cmux/cmux.json && sed -n '1,220p' .cmux/cmux.json
  1. Pick global or project-local scope. Default to project-local for repo-specific commands, global for app preferences. Ask only when the choice changes behavior meaningfully.
  2. Back up the target file when it already exists (applicable path only, no backup for a missing file).
bash
   stamp="$(date +%Y%m%d-%H%M%S)"
   test -f ~/.config/cmux/cmux.json && cp -p ~/.config/cmux/cmux.json ~/.config/cmux/cmux.json."$stamp".bak
   test -f .cmux/cmux.json && cp -p .cmux/cmux.json .cmux/cmux.json."$stamp".bak
  1. For app settings and cmux-owned shortcuts, use the settings helper (~/.codex/skills/... if the user installed with skills.sh).
bash
   ~/.agents/skills/cmux-settings/scripts/cmux-settings list-supported
   ~/.agents/skills/cmux-settings/scripts/cmux-settings set browser.openTerminalLinksInCmuxBrowser true
   ~/.agents/skills/cmux-settings/scripts/cmux-settings validate
  1. For actions, UI wiring, workspace layouts, notification hooks, and Dock controls, edit the JSONC by hand and preserve unrelated sections (vault, rightSidebar, commands, actions, ui, notifications).
  2. cmux reload-config.
  3. Verify the configured entrypoint exists: read back the shortcut binding, or confirm the action ID and where it should appear.

For viewer changes, verify the exact path or command state from the matrix. If the requested viewer or knob is absent from the schema, explain that it is not supported yet instead of writing an unknown key. The templates.<viewer> surface proposed for future notes/Markdown/diff customization is not available until the schema and runtime implement it.

Example: Command Palette action

Appears in Cmd+Shift+P unless palette is false.

json
{
  "actions": {
    "codex-new-tab": {
      "type": "agent",
      "agent": "codex",
      "title": "Codex",
      "subtitle": "Start Codex in this workspace",
      "target": "newTabInCurrentPane",
      "palette": true
    }
  }
}

Before choosing a preset, template, starter config, or known workflow pattern, run cmux docs workflows --json. Its catalog describes the shipped examples, what each creates, task-fit cues, requirements, adaptation points, and the saved-layout lifecycle. After choosing an example, open references/examples.md for that example's concrete JSON recipe.

Validation

  • App settings: cmux-settings validate.
  • Keep valid JSONC, no duplicate keys.
  • Parse .cmux/dock.json or ~/.config/cmux/dock.json with a JSON parser before reporting completion.
  • cmux reload-config when the CLI is available.
  • Confirm the exact user-facing result: action title, shortcut, plus-button behavior, context-menu entry, or tab bar placement.

Rules

  • Do not overwrite a whole top-level config section unless you own the full section.
  • Do not store secrets in actions, commands, or prompts. Use environment variables or the user's secret manager.
  • Do not use sleeps or timing workarounds in generated commands.
  • Do not add a cmux setting for behavior Ghostty already owns.
  • Keep labels short enough for menus, buttons, and the Command Palette.

タスクに関連する項目

同じリポジトリから

関連する Skills

すべての Skills
manaflow-ai
コミュニティ

cmux

End-user control of cmux topology and routing (windows, workspaces, panes/surfaces, focus, moves, reorder, identify, trigger flash). Use when automation needs deterministic placement and navigation in a multi-pane cmux layout.

導入数
4
GitHub Stars
2.8万
更新日
10月21日
manaflow-ai
コミュニティ

cmux-architecture

cmux package architecture, refactor layering, dependency inversion, file organization, DocC documentation, package design discipline, testability, and Swift 6 concurrency rules. Use before adding or meaningfully rewriting Swift files, Swift packages, coordinators, services, repositories, or public package APIs.

導入数
3
GitHub Stars
2.8万
更新日
10月21日
manaflow-ai
コミュニティ

cmux-backend

Backend TypeScript and Cloud VM development rules for cmux. Use when editing web/app/api, web/services, backend scripts, Cloud VM lifecycle, provider integrations, Postgres, Stack Auth pricing gates, migrations, or provider image build scripts.

導入数
3
GitHub Stars
2.8万
更新日
10月21日
manaflow-ai
コミュニティ

cmux-billing

Stripe checkout, pricing, subscription, Pro plan, webhook, and entitlement runbook for cmux billing work. Use when editing or debugging billing, pricing, Stripe Checkout, subscription recording, Pro plan status, webhooks, entitlement metadata, or pricing dev/prod tooling.

導入数
3
GitHub Stars
2.8万
更新日
10月21日