cmux/web/app
Lawrence Chen f7457055f1
Add sidebar metadata CLI subcommands and API docs (#305)
* Add sidebar metadata CLI subcommands and API docs

Expose set-status, clear-status, list-status, set-progress,
clear-progress, log, clear-log, list-log, and sidebar-state as
proper CLI subcommands with --help support and usage() listing.
Previously these only existed as raw socket commands.

Also adds a "Sidebar metadata commands" section to the docs site
API reference page.

* Quote multi-word values in socket command strings

Fix set-progress --label and log message forwarding to properly
quote values before sending to the socket tokenizer. Without
quoting, multi-word labels like "Build step one" would be split
into separate tokens. Also quote --source values for consistency.

* Fix socket quoting: escape backslashes and quote status values

Add socketQuote() helper that escapes both backslashes and double
quotes before wrapping in quotes. Apply it to:
- set-status value (prevents --flags in values being parsed as options)
- set-status --icon and --color values
- set-progress --label
- log --source and message text

Fixes values like "pytest --maxfail=1" or "C:\new\build" being
mangled by the socket tokenizer.

* Escape newlines in socketQuote to prevent socket framing breakage

The socket protocol uses newline as message terminator, so embedded
newlines/carriage returns in values would truncate the command.

* Parse flags before positionals in set-status, clear-status, set-progress

Fixes flags-first invocation like `cmux set-status --workspace workspace:2
build compiling` which previously grabbed `--workspace` as the key.
Now all flags are extracted first, then positional args are validated.
2026-02-22 16:06:32 -08:00
..
(legal) Widen page max-width and remove theme transition on change 2026-02-10 16:00:18 -08:00
assets Add homepage wall of love, FAQ, blog post, footer redesign, and SEO improvements 2026-02-21 06:16:38 -08:00
blog Set community gap to 16px, add dingyi China tweet to blog post (#279) 2026-02-21 06:26:55 -08:00
community Update Discord invite links to new permanent URL (#238) 2026-02-21 01:14:12 -08:00
components Set community gap to 16px, add dingyi China tweet to blog post (#279) 2026-02-21 06:26:55 -08:00
docs Add sidebar metadata CLI subcommands and API docs (#305) 2026-02-22 16:06:32 -08:00
wall-of-love Add homepage wall of love, FAQ, blog post, footer redesign, and SEO improvements 2026-02-21 06:16:38 -08:00
apple-icon.png Add landing page (web/) with Next.js + Tailwind 2026-02-09 20:51:27 -08:00
favicon.ico Add landing page (web/) with Next.js + Tailwind 2026-02-09 20:51:27 -08:00
globals.css CSS-only theme icon toggle, iOS status bar theme-color 2026-02-10 01:27:15 -08:00
icon.png Add landing page (web/) with Next.js + Tailwind 2026-02-09 20:51:27 -08:00
keyboard-shortcuts.tsx Fix #155: remap-aware bonsplit tooltips + browser split shortcuts (#200) 2026-02-20 15:17:00 -08:00
layout.tsx Add homepage wall of love, FAQ, blog post, footer redesign, and SEO improvements 2026-02-21 06:16:38 -08:00
page.tsx Add Nick Schrock testimonial and subtitles to wall of love (#297) 2026-02-22 01:48:29 -08:00
posthog.tsx Remove docs-site, add PostHog analytics to web (#66) 2026-02-18 04:00:04 -08:00
providers.tsx Remove docs-site, add PostHog analytics to web (#66) 2026-02-18 04:00:04 -08:00
robots.ts Add docs, blog, community pages and polish landing page layout 2026-02-09 23:38:05 -08:00
sitemap.ts Add homepage wall of love, FAQ, blog post, footer redesign, and SEO improvements 2026-02-21 06:16:38 -08:00
testimonials.tsx Add Reddit testimonial from u/afruth to wall of love (#314) 2026-02-22 15:37:22 -08:00
theme.tsx CSS-only theme icon toggle, iOS status bar theme-color 2026-02-10 01:27:15 -08:00
typing.tsx Add docs, blog, community pages and polish landing page layout 2026-02-09 23:38:05 -08:00