From ccf320389c0f8af6c18e83977c7a0e023bf9fd99 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Fri, 27 Feb 2026 00:24:47 -0800 Subject: [PATCH] Add "The Zen of cmux" blog post (#624) * Add "The Zen of cmux" blog post New blog post about cmux's philosophy: composable primitives over opinionated solutions. Added to blog index and README. * List all cmux primitives in blog post Terminal, browser, notifications, workspaces, splits, tabs, and a CLI to control all of it. * Add Zen of cmux section to README --- README.md | 12 ++++- web/app/blog/page.tsx | 7 +++ web/app/blog/zen-of-cmux/page.tsx | 80 +++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 web/app/blog/zen-of-cmux/page.tsx diff --git a/README.md b/README.md index 8569a8c1..9093268d 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@

- ▶ Demo video + ▶ Demo video · The Zen of cmux

## Features @@ -107,6 +107,16 @@ The in-app browser has a scriptable API ported from [agent-browser](https://gith Everything is scriptable through the CLI and socket API — create workspaces/tabs, split panes, send keystrokes, open URLs in the browser. +## The Zen of cmux + +cmux is not prescriptive about how developers hold their tools. It's a terminal and browser with a CLI, and the rest is up to you. + +cmux is a primitive, not a solution. It gives you a terminal, a browser, notifications, workspaces, splits, tabs, and a CLI to control all of it. cmux doesn't force you into an opinionated way to use coding agents. What you build with the primitives is yours. + +The best developers have always built their own tools. Nobody has figured out the best way to work with agents yet, and the teams building closed products definitely haven't either. The developers closest to their own codebases will figure it out first. + +Give a million developers composable primitives and they'll collectively find the most efficient workflows faster than any product team could design top-down. + ## Keyboard Shortcuts ### Workspaces diff --git a/web/app/blog/page.tsx b/web/app/blog/page.tsx index e3bccea3..b119b341 100644 --- a/web/app/blog/page.tsx +++ b/web/app/blog/page.tsx @@ -7,6 +7,13 @@ export const metadata: Metadata = { }; const posts = [ + { + slug: "zen-of-cmux", + title: "The Zen of cmux", + date: "2026-02-27", + summary: + "cmux is a primitive, not a solution. It gives you composable pieces and your workflow is up to you.", + }, { slug: "show-hn-launch", title: "Launching cmux on Show HN", diff --git a/web/app/blog/zen-of-cmux/page.tsx b/web/app/blog/zen-of-cmux/page.tsx new file mode 100644 index 00000000..7ffd6355 --- /dev/null +++ b/web/app/blog/zen-of-cmux/page.tsx @@ -0,0 +1,80 @@ +import type { Metadata } from "next"; +import Link from "next/link"; + +export const metadata: Metadata = { + title: "The Zen of cmux", + description: + "cmux is a primitive, not a solution. It gives you composable pieces and your workflow is up to you.", + keywords: [ + "cmux", + "terminal", + "macOS", + "CLI", + "composable", + "developer tools", + "AI coding agents", + "workflow", + ], + openGraph: { + title: "The Zen of cmux", + description: + "cmux is a primitive, not a solution. It gives you composable pieces and your workflow is up to you.", + type: "article", + publishedTime: "2026-02-27T00:00:00Z", + url: "https://cmux.dev/blog/zen-of-cmux", + }, + twitter: { + card: "summary", + title: "The Zen of cmux", + description: + "cmux is a primitive, not a solution. It gives you composable pieces and your workflow is up to you.", + }, + alternates: { + canonical: "https://cmux.dev/blog/zen-of-cmux", + }, +}; + +export default function ZenOfCmuxPage() { + return ( + <> +
+ + ← Back to blog + +
+ +

The Zen of cmux

+ + +

+ cmux is not prescriptive about how developers hold their tools. + It's a terminal and browser with a CLI, and the rest is up to you. +

+ +

+ cmux is a primitive, not a solution. It gives you a terminal, a browser, + notifications, workspaces, splits, tabs, and a CLI to control all of + it. cmux doesn't force you into an opinionated + way to use coding agents. What you build with the primitives is yours. +

+ +

+ The best developers have always built their own tools. Nobody has figured + out the best way to work with agents yet, and the teams building closed + products definitely haven't either. The developers closest to their + own codebases will figure it out first. +

+ +

+ Give a million developers composable primitives and they'll + collectively find the most efficient workflows faster than any product + team could design top-down. +

+ + ); +}