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 ( + <> ++ 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. +
+ > + ); +}