* Socket access control: process ancestry check + file permissions Redesign socket control modes from (off, notifications, full) to (off, cmuxOnly, allowAll): - cmuxOnly (default): uses LOCAL_PEERPID + sysctl process tree walk to verify the connecting process is a descendant of cmux. External processes (SSH, other terminals) are rejected. - allowAll: hidden mode accessible only via CMUX_SOCKET_MODE=allowAll env var, skips ancestry check. Legacy "full"/"notifications" env values map here for backward compat. - off: disables socket entirely. Security hardening: - Server: chmod 0600 on socket after bind (owner-only access) - CLI: stat() ownership check before connect (reject fake sockets) Removes per-command allow-list (isCommandAllowed) — once a process passes the ancestry check, all commands are available. Includes migration for persisted UserDefaults values and env var aliases (cmux_only, cmux-only, allow_all, allow-all). * Add /sync-branch skill for submodule + main sync |
||
|---|---|---|
| .. | ||
| app | ||
| content/docs | ||
| lib | ||
| public | ||
| .gitignore | ||
| next.config.mjs | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| README.md | ||
| source.config.ts | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
| vercel.json | ||
cmux Documentation
Documentation website for cmux, built with Fumadocs and Next.js.
Development
# Install dependencies
npm install
# Start dev server
npm run dev
Open http://localhost:3000 to view the docs.
Deployment
This site is deployed to Vercel. Push to main to trigger a deployment.
Manual Deploy
npm run build
npx vercel --prod
Structure
docs-site/
├── app/ # Next.js app router
│ ├── docs/ # Documentation pages
│ └── page.tsx # Landing page
├── content/
│ └── docs/ # MDX documentation files
└── lib/
└── source.ts # Fumadocs source configuration
Adding Documentation
- Create a new
.mdxfile incontent/docs/ - Add frontmatter with title and description
- Add the page to
content/docs/meta.json
Example:
---
title: My Page
description: Description of my page
---
# My Page
Content here...