Repository navigation
feat(shared): add fx by Vercel as a built-in terminal agent - #6768
Conversation
|
Warning Review limit reachedNext included review available in 12 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (9)
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 10 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughFX is added as a supported terminal coding agent. The change includes command configuration, command tests, light and dark preset icons, settings integration, documentation, README coverage, and compatibility demo registration. ChangesFX agent support
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR adds fx as an optional built-in terminal agent without changing default terminal presets; no actionable merge-blocking risk remains. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 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 |
🚀 Preview Deployment🔗 Preview Links
Preview updates automatically with new commits |
860b6ac to
aed6d68
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
Adds Vercel's fx to BUILTIN_TERMINAL_AGENTS, with light/dark preset icons, README row, docs bullet, and marketing demo entry. Prompt launches run fx ask --auto and continue the saved session via fx resume last; resume is fx resume <id>. Verified end-to-end against an installed fx 0.0.5. Claude-Session: https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
471e3c2 to
f34c5dc
Compare
What
Adds fx (Vercel's terminal coding agent) as a built-in terminal agent, with everything the other builtins have.
packages/shared/src/builtin-terminal-agents.ts:fxentrypackages/ui/src/assets/icons/preset-icons/fx.svg+fx-white.svg, registered inindex.ts(the fx wordmark glyph from fx.sh, monochrome)apps/docs/content/docs/agent-integration.mdxbullet,UniversalCompatibilityDemoentry +apps/marketing/public/app-icons/fx.svgagent-command.test.ts(prompt shape, preset args, resume args)Manifest
Flags verified against the fx docs (installation, CLI commands, fx ask, sessions, permissions) on 2026-08-22. Install is
curl -fsSL https://fx.sh/setup.sh | bash.commandfxautois fx's default permission mode, and the mode is set viaFX_PERMISSION_MODE/ settings rather than a launch flag, so there is nothing to addpromptCommandfx ask --autofxtakes no prompt argument;fx ask <prompt>is the documented way to hand it one, and--autokeeps the run from blocking on an approval it cannot showpromptCommandSuffix; fx resume lastfx asksaves a workspace-scoped session, so this drops the user into the interactive TUI on that session once the one-shot answer lands, same shape askimi's; kimi --auto --continueresumeCommandfx resume(+ session id)fx resume <session-id>per the sessions docnonInteractiveCommandfx ask --auto--json/--yoloare available for callers that want themLive-tested against an installed fx 0.0.5 on macOS (2026-08-23), signed into Vercel:
fx ask --auto "..."answered and saved a session (fx sessionslists it); the exact launch string Superset generates -fx ask --auto "$(cat <<'...')" ; fx resume last- ran the one-shot and then dropped into the interactive TUI showing "Session resumed" on that same session, which is the behaviourpromptCommandSuffixis there for; top-levelfx resume [last|<id>]exists as documented (fx resume --help), alongside thefx --resume <id>spelling fx itself prints on exit. Two setup notes for users:fx loginis a browser device flow followed by a Vercel-team picker in the terminal, and fx errors cleanly with instructions when run before login.Design note: I went with the
fx ask+fx resume lastpair rather than a stdin transport. fx documents stdin only forfx ask(printf ... | fx ask), not for the interactive launcher, so piping the prompt intofxitself would be a guess. If you would rather keep prompt launches one-shot, droppingpromptCommandSuffixdoes that.Not added to the default terminal presets, matching
droid/pi/polygraph; happy to flipincludeInDefaultTerminalPresets.fx runs as a plain terminal agent, same shape as Pi / Cursor Agent, so no
packages/agent-setuptarget or wrapper is needed.Testing
bun run typecheckcleanbun run lintcleanbun test packages/shared778 passhttps://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f
Summary by cubic
Adds Vercel’s
fxas a built-in terminal agent and preset so users can prompt, resume, or runfxfrom Superset. Previouslyfxwas not available; now prompt launches runfx ask --auto <prompt>then resume in the TUI viafx resume last, resume runsfx resume <id>, and one-shots usefx ask --auto.fxinpackages/shared/src/builtin-terminal-agents.tswithcommand,promptCommand,promptCommandSuffix,resumeCommand, andnonInteractiveCommand.packages/shared/src/agent-command.test.tsto cover registration, prompt/resume composition, and preset args.packages/ui/src/assets/icons/preset-iconsand exports them inindex.ts.fxin the desktop agent icon picker and settings search (keywords: “fx”, “vercel”).apps/docs/.../agent-integration.mdx,.../terminal-presets.mdx), and marketing demo (apps/marketing/.../UniversalCompatibilityDemo.tsxwithapp-icons/fx.svg).Rollout
fxis installed on PATH and the user is logged in (fx login).Written for commit f34c5dc. Summary will update on new commits.
Summary by CodeRabbit
New Features
Tests