Skip to content

Lead homepage with a CLI link, rename API Reference to CLI Reference - #4990

Merged
lawrencecchen merged 2 commits into
mainfrom
feat-cli-reference
May 29, 2026
Merged

lawrencecchen merged 2 commits into
mainfrom
feat-cli-reference

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented May 29, 2026 •

Copy link
Copy Markdown
Contributor

Reframes the homepage around the CLI and renames the docs "API Reference" to "CLI Reference".

Homepage

The subtitle's trailing clause changes from and a socket API for automation. to and a CLI for programmability., with CLI linking to https://cmux.com/docs/api (rendered via t.rich, matching the existing cliLink pattern in the FAQ).

Rename

API Reference becomes CLI Reference in the doc page title, sidebar nav, related-docs link, and agent-page-paths (drives /docs/api.md + .txt). Applied across all 20 locales.

SEO

  • URL stays /docs/api so there are no 301s and no lost backlinks. The page legitimately documents the socket API too, so the slug is still accurate.
  • metaDescription is left untouched (cmux CLI and Unix socket API reference...) and the socket/JSON-RPC body content stays, so the page keeps ranking for both CLI and API queries while the <title> now leads with the more-searched "CLI" term.
  • Added a descriptive internal link (anchor text "CLI") from the homepage to the CLI reference.
  • Added CLI reference / cmux CLI / command line aliases to the in-site (pagefind) search index.

Translations needing a native eyeball

The four label keys are a mechanical API to CLI token-swap (e.g. Référence API to Référence CLI, APIリファレンス to CLIリファレンス). The subtitle clause was hand-translated per locale (reusing each existing sentence, swapping only the final clause, keeping CLI as the Latin anchor). Please sanity-check these:

locale new subtitle
ar تطبيق macOS أصلي مبني على Ghostty. علامات تبويب عمودية، حلقات إشعار عندما يحتاج الوكلاء انتباهك، ألواح مقسمة، وCLI للبرمجة.
bs Nativna macOS aplikacija izgrađena na Ghostty-ju. Vertikalni tabovi, notifikacijski prstenovi kada agenti trebaju pažnju, podijeljeni paneli i CLI za programabilnost.
da Native macOS-app bygget på Ghostty. Vertikale faner, notifikationsringe når agenter har brug for opmærksomhed, opdelte paneler og en CLI til programmerbarhed.
de Native macOS-App auf Basis von Ghostty. Vertikale Tabs, Benachrichtigungsringe wenn Agenten Aufmerksamkeit benötigen, geteilte Bereiche und eine CLI für Programmierbarkeit.
en Native macOS app built on Ghostty. Vertical tabs, notification rings when agents need attention, split panes, and a CLI for programmability.
es App nativa de macOS basada en Ghostty. Pestañas verticales, anillos de notificación cuando los agentes necesitan atención, paneles divididos y una CLI para programabilidad.
fr Application macOS native basée sur Ghostty. Onglets verticaux, notifications quand les agents ont besoin d'attention, panneaux divisés et une CLI pour la programmabilité.
it App macOS nativa basata su Ghostty. Tab verticali, notifiche quando gli agenti hanno bisogno di attenzione, pannelli divisi e una CLI per la programmabilità.
ja GhosttyベースのネイティブmacOSアプリ。縦タブ、エージェントが注意を必要とするときの通知リング、分割ペイン、プログラマビリティのためのCLIを搭載。
km កម្មវិធី macOS ដើមដែលបង្កើតលើ Ghostty។ ផ្ទាំងបញ្ឈរ, រង្វង់ជូនដំណឹងពេល agent ត្រូវការការយកចិត្តទុកដាក់, បន្ទះបំបែក, និង CLI សម្រាប់ការសរសេរកម្មវិធី។
ko Ghostty 기반 네이티브 macOS 앱. 세로 탭, 에이전트가 주의를 필요로 할 때 알림 링, 분할 패널, 프로그래밍을 위한 CLI를 제공합니다.
no Nativ macOS-app bygget på Ghostty. Vertikale faner, varselsringer når agenter trenger oppmerksomhet, delte paneler og en CLI for programmerbarhet.
pl Natywna aplikacja macOS zbudowana na Ghostty. Pionowe karty, pierścienie powiadomień gdy agenci potrzebują uwagi, dzielone panele i CLI do programowania.
pt-BR App nativo para macOS construído sobre o Ghostty. Abas verticais, anéis de notificação quando agentes precisam de atenção, painéis divididos e uma CLI para programabilidade.
ru Нативное macOS-приложение на базе Ghostty. Вертикальные вкладки, кольца уведомлений когда агенты ждут внимания, разделённые панели и CLI для программируемости.
th แอป macOS เนทีฟที่สร้างบน Ghostty แท็บแนวตั้ง, วงแหวนแจ้งเตือนเมื่อ agent ต้องการความสนใจ, แยกหน้าจอ และ CLI สำหรับการเขียนโปรแกรม
tr Ghostty üzerine kurulu yerel macOS uygulaması. Dikey sekmeler, ajanlar dikkat istediğinde bildirim halkaları, bölünmüş paneller ve programlanabilirlik için CLI.
uk Нативний застосунок для macOS на базі Ghostty. Вертикальні вкладки, кільця сповіщень, коли агенти потребують уваги, розділені панелі та CLI для програмованості.
zh-CN 基于 Ghostty 构建的原生 macOS 终端应用。开源免费。支持垂直标签页、agent 需要关注时的通知提醒环、分屏面板,以及用于可编程性的 CLI。
zh-TW 基於 Ghostty 的原生 macOS 終端應用程式。開源免費。垂直分頁、代理需要注意時的通知環、分割窗格,以及用於可程式化的 CLI。

🤖 Generated with Claude Code


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.


Note

Low Risk
Copy, i18n, and search-index updates only; no routing, auth, or runtime behavior changes beyond new internal links and labels.

Overview
The homepage hero subtitle now ends with a CLI link to /docs/api via t.rich and <cliLink>, replacing the old “socket API for automation” wording in every locale.

Across 20 locale message files, user-facing API Reference labels become CLI Reference (docs page title/meta, sidebar apiReference, skills relatedApi). agent-page-paths uses the same title for agent-readable /docs/api exports. /docs/api URL and meta descriptions are unchanged; socket/API doc body content stays.

Pagefind search aliases gain CLI reference, cmux CLI, and command line (alongside existing API/socket terms).

Reviewed by Cursor Bugbot for commit fe6bc0a. Bugbot is set up for automated code reviews on this repo. Configure here.


Summary by cubic

Lead the homepage with a linked CLI and rename “API Reference” to “CLI Reference” across the app to emphasize the CLI. Keep /docs/api and API content unchanged while improving findability.

  • New Features

    • Homepage subtitle adds a cliLink to /docs/api.
    • Renamed to “CLI Reference” in doc title, sidebar, related-doc link, agent-page-paths, and SEO title (metaTitle) across locales; fixed title/metaTitle mismatches in es, km, bs, and tr.
  • SEO

    • /docs/api slug and meta description unchanged to preserve backlinks and dual (CLI + socket API) relevance.
    • Added internal “CLI” link from the homepage and CLI-focused aliases to in-site search.

Written for commit fe6bc0a. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • New Features

    • Added a homepage hero CLI link for programmability.
  • Documentation

    • Rebranded docs from "API Reference" to "CLI Reference" across UI navigation, page titles, and metadata in 25+ languages.
    • Expanded docs search aliases to include CLI-related terms (e.g., "CLI reference", "command line").

Review Change Stack

The homepage subtitle now ends "a CLI for programmability", with CLI linking
to /docs/api. Rename the doc page title, sidebar nav, and related-doc label
from "API Reference" to "CLI Reference" across all 20 locales.

Keep the /docs/api URL (no slug change, so no 301s or lost backlinks) and keep
the dual "cmux CLI and Unix socket API reference" meta description plus the
socket API body content, so the page still ranks for both CLI and API queries.
Add CLI aliases to the in-site search index.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@vercel

vercel Bot commented May 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment May 29, 2026 11:03am
cmux-staging Building Building Preview, Comment May 29, 2026 11:03am

@coderabbitai

coderabbitai Bot commented May 29, 2026 •

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

This PR replaces "API Reference" with "CLI Reference" across navigation data, all locale message files, and search aliases, and updates the homepage subtitle to render a rich <cliLink> pointing to /docs/api.

Changes

API to CLI Rebranding

Layer / File(s) Summary
Hero subtitle with rich-text CLI link
web/app/[locale]/page.tsx
Page subtitle rendering switches from plain text to a rich translation with a cliLink placeholder that renders a Next.js Link to /docs/api.
Navigation and routing data model
web/app/lib/agent-page-paths.ts
Update /docs/api entry title from "API Reference" to "CLI Reference" in exported agentReadablePages.
Translate homepage subtitle across all locales
web/messages/*.json
Update home.subtitle in locale files to replace "socket API" wording with a <cliLink>CLI</cliLink> rich-text reference.
Translate CLI reference section titles across locales
web/messages/*.json
Update docs.api.title values from API Reference variants to CLI Reference variants across locales.
Translate CLI reference meta titles across locales
web/messages/*.json
Update docs.api.metaTitle metadata entries to CLI Reference wording across locales.
Translate related documentation links across locales
web/messages/*.json
Update docs.skills.relatedApi labels to "CLI Reference" across locales.
Translate navigation item labels across locales
web/messages/*.json
Update docs.navItems.apiReference labels to "CLI Reference" across locales.
Search indexing CLI aliases
web/tools/build-docs-search.mjs
Add CLI-related alias strings to searchAliases.apiReference used for docs search indexing.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • Ari4ka

Poem

🐰 From API to CLI I hop and sing,
Links refreshed and labels spring,
Twenty tongues now point the way,
Search learns new words for users' play,
A tiny hop for docs—hip hooray!


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (1 error, 1 warning)

Check name Status Explanation Resolution
Cmux Full Internationalization ❌ Error agentReadablePages export contains hardcoded "CLI Reference" title that's user-facing (served to agents via /llms.txt); not sourced from next-intl or messages. Move the "CLI Reference" title to web/messages/*.json files for all 20 locales and dynamically fetch it in agent-page-paths.ts or buildLlmsText function.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (16 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Swift Actor Isolation ✅ Passed PR contains no Swift files. All changes are web/frontend (TypeScript, JavaScript, JSON translations). Check for Swift actor isolation is not applicable.
Cmux Swift Blocking Runtime ✅ Passed PR contains no Swift files; only web/TypeScript/JSON changes. Custom check is for production Swift blocking synchronization constructs and is not applicable here.
Cmux No Hacky Sleeps ✅ Passed No sleep/timer patterns found. PR contains only UI text updates, i18n strings, and configuration changes for CLI Reference branding.
Cmux Algorithmic Complexity ✅ Passed PR changes (UI strings, translations, tiny constant alias arrays, and existing code) do not violate algorithmic complexity rules; no scalable collection scans or nested loops on user data.
Cmux Swift Concurrency ✅ Passed PR contains only web/TypeScript/JSON changes (homepage CLI link, message translations). No Swift code is modified, so the Swift concurrency check does not apply.
Cmux Swift @Concurrent ✅ Passed No Swift files are modified in this PR; all changes are web/frontend code (TypeScript, JSON, JavaScript). The Swift @concurrent annotation check is not applicable.
Cmux Swift File And Package Boundaries ✅ Passed PR contains only web/TypeScript/JSON/JavaScript changes (homepage, translations, build tools). No Swift files modified, so swift-file-package-boundaries check is not applicable.
Cmux Swift Logging ✅ Passed No Swift files were modified in this PR. The check applies only to production Swift changes; all changes are TypeScript, JSON localization, and JavaScript build files.
Cmux User-Facing Error Privacy ✅ Passed PR contains only marketing copy, UI labels, and localization updates with no error messages, alerts, sensitive data, or implementation details exposed. Rule applies to errors/alerts only.
Cmux Swiftui State Layout ✅ Passed This PR contains no SwiftUI or Swift code changes—only web/TypeScript/React/JSON files. The SwiftUI state layout check is not applicable to web application updates.
Cmux Architecture Rethink ✅ Passed PR contains zero Swift architectural changes—only web/TypeScript/JSON/JavaScript modifications for branding CLI Reference across frontend and translations; check is inapplicable.
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed PR contains no Swift code changes—only web/frontend modifications (TypeScript, JavaScript, JSON). The custom check for Swift auxiliary window close shortcuts is not applicable.
Title check ✅ Passed The title clearly and concisely summarizes the main changes: adding a CLI link to the homepage and renaming API Reference to CLI Reference throughout the docs.
Description check ✅ Passed The pull request description is comprehensive and well-structured, covering all key aspects of the changes.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat-cli-reference

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps

greptile-apps Bot commented May 29, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR reframes the cmux homepage around the CLI by adding a linked "CLI" anchor in the subtitle and renames the docs section from "API Reference" to "CLI Reference" across all surfaces, while keeping the /docs/api URL intact.

  • Homepage (page.tsx): Subtitle switches from t() to t.rich() with an inline cliLink renderer (locale-aware Link to /docs/api); Link and linkClass were already present in the component.
  • All 20 locales (web/messages/*.json): subtitle clause updated with <cliLink>CLI</cliLink>, and four label keys (title, metaTitle, relatedApi, apiReference) renamed from "API Reference" to "CLI Reference". Every locale listed in web/i18n/routing.ts is covered.
  • Search aliases (build-docs-search.mjs) and agent page paths (agent-page-paths.ts) updated to reflect the new CLI-first naming.

Confidence Score: 5/5

Safe to merge — changes are limited to copy, i18n strings, an internal link, and search aliases with no routing, auth, or runtime logic touched.

All 20 locales in routing.ts are updated, the t.rich pattern and cliLink component follow an already-established convention in the codebase, and the /docs/api URL is unchanged. No logic paths are affected.

No files require special attention.

Important Files Changed

Filename Overview
web/app/[locale]/page.tsx Switches subtitle from plain t() to t.rich() with an inline cliLink component pointing to /docs/api; Link was already imported and linkClass already defined.
web/app/lib/agent-page-paths.ts Single label rename from 'API Reference' to 'CLI Reference' for /docs/api; no logic changes.
web/messages/en.json Updates subtitle to include CLI tag and renames four API Reference label keys to CLI Reference.
web/tools/build-docs-search.mjs Prepends CLI-focused search aliases ('CLI reference', 'cmux CLI', 'command line') to the apiReference search alias list; existing API/socket aliases are preserved.

Reviews (2): Last reviewed commit: "Make docs.api metaTitle match title in e..." | Re-trigger Greptile

coderabbitai[bot]
coderabbitai Bot previously requested changes May 29, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@web/messages/es.json`:
- Line 754: Update the Spanish localization string for the docs API meta title:
change the value of the JSON key docs.api.metaTitle from "Referencia CLI" to
"Referencia de CLI" so it matches the enforced locale copy; locate the entry
with the key docs.api.metaTitle in the es.json messages file and replace the
current value accordingly.

In `@web/messages/km.json`:
- Line 754: Update the Khmer locale entry for docs.api.metaTitle so it uses the
same label string as the other CLI Reference occurrences in this file (match the
text used at the other keys around lines where the CLI Reference appears);
locate the docs.api.metaTitle key in web/messages/km.json and replace its value
to exactly match the CLI Reference label used elsewhere to ensure consistency
with the locale registry and routing (reference key: docs.api.metaTitle and
existing CLI Reference entries in the same file).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 11cfedd2-8e7f-4dfd-96b4-99cd348431fc

📥 Commits

Reviewing files that changed from the base of the PR and between 8ea91b1 and caa9254.

📒 Files selected for processing (23)
  • web/app/[locale]/page.tsx
  • web/app/lib/agent-page-paths.ts
  • web/messages/ar.json
  • web/messages/bs.json
  • web/messages/da.json
  • web/messages/de.json
  • web/messages/en.json
  • web/messages/es.json
  • web/messages/fr.json
  • web/messages/it.json
  • web/messages/ja.json
  • web/messages/km.json
  • web/messages/ko.json
  • web/messages/no.json
  • web/messages/pl.json
  • web/messages/pt-BR.json
  • web/messages/ru.json
  • web/messages/th.json
  • web/messages/tr.json
  • web/messages/uk.json
  • web/messages/zh-CN.json
  • web/messages/zh-TW.json
  • web/tools/build-docs-search.mjs

Comment thread web/messages/es.json Outdated
Comment thread web/messages/km.json Outdated
The API->CLI token swap carried over a pre-existing mismatch where metaTitle
used a different word form than the page title in these locales. The SEO title
and the H1 describe the same page, so align them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lawrencecchen
lawrencecchen dismissed coderabbitai[bot]’s stale review May 29, 2026 22:36

Addressed in fe6bc0a: docs.api.metaTitle now matches the page title in es and km (and bs, tr). Both flagged threads are resolved.

@lawrencecchen
lawrencecchen merged commit ae76c3b into main May 29, 2026
19 checks passed
@lawrencecchen
lawrencecchen deleted the feat-cli-reference branch May 29, 2026 22:36
@coderabbitai coderabbitai Bot mentioned this pull request Jun 3, 2026

This branch was successfully deployed

1 active deployment
Preview – cmux — fe6bc0ac Deployed May 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant