Repository navigation
Add emacsification of coding agents blog post - #6424
lawrencecchen wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughA new blog post, "The Emacsification of Coding Agents," is added as a Next.js locale-aware page. The change includes the page component with ChangesEmacsification of Coding Agents Blog Post
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 1 warning)
✅ Passed checks (20 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Greptile SummaryThis PR adds a new "Emacsification of Coding Agents" blog post, wiring it into the blog index, sitemap, agent-readable page list, and the
Confidence Score: 3/5Not safe to merge until the 18 missing locale message files are updated. The blog index page iterates every entry in blogPosts and calls t() for title, date, and summary. Because the new post is first in the array, a missing-key in any of the 18 untouched locale files will break the entire blog index for those users — not just the new post's card. Both the index and the new post's metadata page are affected. All 18 non-en/ja locale files under web/messages/ need emacsificationOfCodingAgents entries in both the blog.posts and blog namespaces. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User visits /blog or /blog/emacsification-of-coding-agents] --> B{Locale?}
B -->|en| C[en.json complete]
B -->|ja| D[ja.json complete]
B -->|18 other locales| E[locale files missing keys]
C --> F[Blog index renders correctly]
D --> F
E --> G[next-intl missing-key error or blank title/date/summary]
F --> H[Page renders]
G --> I[Broken page for 18 locales]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[User visits /blog or /blog/emacsification-of-coding-agents] --> B{Locale?}
B -->|en| C[en.json complete]
B -->|ja| D[ja.json complete]
B -->|18 other locales| E[locale files missing keys]
C --> F[Blog index renders correctly]
D --> F
E --> G[next-intl missing-key error or blank title/date/summary]
F --> H[Page renders]
G --> I[Broken page for 18 locales]
Reviews (1): Last reviewed commit: "Add emacsification blog post" | Re-trigger Greptile |
| "metaDescription": "A native macOS terminal built on Ghostty, designed for running multiple AI coding agents side by side." | ||
| }, | ||
| "posts": { | ||
| "emacsificationOfCodingAgents": { | ||
| "title": "The Emacsification of Coding Agents", | ||
| "summary": "Why open, terminal-native agent interfaces let developers compose their own workflows instead of waiting for one IDE to own them.", | ||
| "date": "June 19, 2026", | ||
| "p1": "Agent tools are moving into terminals because terminals are the shared interface every provider can support.", | ||
| "p2": "Claude Code, Codex, OpenCode, Gemini CLI, Aider, and custom SDK agents should not require a different dashboard for every run. The useful layer is a programmable terminal where panes, browsers, notifications, and workspace state are scriptable.", | ||
| "p3": "That is the emacsification: providers keep interfaces open, developers compose their own workflows, and the best patterns become reusable scripts instead of product lock-in.", | ||
| "p4": "cmux exists for that world. It stays close to the shell, adds native macOS panes and an embedded browser, and exposes a CLI/socket API so background agents can be launched, watched, resumed, and rearranged by code.", | ||
| "p5": "Source: <sourceLink>May 14, 2026 tweet</sourceLink>." | ||
| }, | ||
| "passkeyAuth": { | ||
| "title": "Passkey auth in the cmux browser", | ||
| "summary": "cmux's embedded browser supports passkey authentication and can import cookies from other browsers with cmux browser import.", |
There was a problem hiding this comment.
Missing translations for 18 locales
web/i18n/routing.ts defines 20 supported locales, but this PR only adds blog.posts.emacsificationOfCodingAgents (and the matching meta-level blog.emacsificationOfCodingAgents) to en.json and ja.json. The remaining 18 locale files — zh-CN, zh-TW, ko, de, es, fr, it, da, pl, ru, bs, ar, no, pt-BR, th, tr, km, uk — are missing both the blog-index keys (blog.posts.emacsificationOfCodingAgents.title, .date, .summary) and the post-page meta keys (blog.emacsificationOfCodingAgents.metaTitle, etc.).
The blog index (web/app/[locale]/blog/page.tsx) calls t('posts.${post.key}.title'), t('posts.${post.key}.date'), and t('posts.${post.key}.summary') for every entry in blogPosts. Because emacsificationOfCodingAgents is now first in that array, any user hitting /zh-CN/blog (or any of the other 18 locale paths) will see a missing-key error or blank content for all three fields on the very first article card.
Rule Used: Flag production user-facing text that is not fully... (source)
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
Source
/Users/lawrence/fun/cmuxterm-hq/skills/marketing/data/lawrencecchen-tweets.md/Users/lawrence/Library/Mobile Documents/com~apple~CloudDocs/Documents/Untitled-2022-01-23-1656.excalidrawand/Users/lawrence/Library/Mobile Documents/com~apple~CloudDocs/Documents/lmao.excalidrawVerification
jq empty web/messages/en.json && jq empty web/messages/ja.jsonbun run lint(passes with existing warnings)VERCEL_ENV=preview bun run buildDocs-only change, so no tagged runtime reload.
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.Note
Low Risk
Content and routing-only changes with no runtime, auth, or data-handling impact.
Overview
Adds a new blog article The Emacsification of Coding Agents at
/blog/emacsification-of-coding-agents, following the same localized Next.js page pattern as other posts (metadata, back link, body fromnext-intl).The post is registered as the newest entry in
blogPosts, included inagentReadablePagesand the sitemap (with/bloglastModifiedbumped to 2026-06-19). English and Japanese message catalogs gain SEO meta plus post copy, with a rich-text link to the source tweet.Reviewed by Cursor Bugbot for commit f63e1d4. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Adds the “The Emacsification of Coding Agents” blog post at /blog/emacsification-of-coding-agents with SEO metadata and translations (en, ja). Wired into the blog index, sitemap, and
agentReadablePages, with Open Graph/Twitter tags set.Written for commit f63e1d4. Summary will update on new commits.
Summary by CodeRabbit
Release Notes