Skip to content

feat(shared): add fx by Vercel as a built-in terminal agent - #6768

Merged
Kitenite merged 2 commits into
mainfrom
feat/agent-fx
Aug 24, 2026
Merged

Kitenite merged 2 commits into
mainfrom
feat/agent-fx

Conversation

@Kitenite

@Kitenite Kitenite commented Aug 22, 2026 •

Copy link
Copy Markdown
Member

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: fx entry
  • packages/ui/src/assets/icons/preset-icons/fx.svg + fx-white.svg, registered in index.ts (the fx wordmark glyph from fx.sh, monochrome)
  • README "Supported Agents" row, apps/docs/content/docs/agent-integration.mdx bullet, UniversalCompatibilityDemo entry + apps/marketing/public/app-icons/fx.svg
  • Registration test in agent-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.

Field Value Why
command fx interactive launch; auto is fx's default permission mode, and the mode is set via FX_PERMISSION_MODE / settings rather than a launch flag, so there is nothing to add
promptCommand fx ask --auto interactive fx takes no prompt argument; fx ask <prompt> is the documented way to hand it one, and --auto keeps the run from blocking on an approval it cannot show
promptCommandSuffix ; fx resume last fx ask saves a workspace-scoped session, so this drops the user into the interactive TUI on that session once the one-shot answer lands, same shape as kimi's ; kimi --auto --continue
resumeCommand fx resume (+ session id) fx resume <session-id> per the sessions doc
nonInteractiveCommand fx ask --auto one-shot headless; --json / --yolo are available for callers that want them

Live-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 sessions lists 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 behaviour promptCommandSuffix is there for; top-level fx resume [last|<id>] exists as documented (fx resume --help), alongside the fx --resume <id> spelling fx itself prints on exit. Two setup notes for users: fx login is 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 last pair rather than a stdin transport. fx documents stdin only for fx ask (printf ... | fx ask), not for the interactive launcher, so piping the prompt into fx itself would be a guess. If you would rather keep prompt launches one-shot, dropping promptCommandSuffix does that.

Not added to the default terminal presets, matching droid/pi/polygraph; happy to flip includeInDefaultTerminalPresets.

fx runs as a plain terminal agent, same shape as Pi / Cursor Agent, so no packages/agent-setup target or wrapper is needed.

Testing

  • bun run typecheck clean
  • bun run lint clean
  • bun test packages/shared 778 pass

https://claude.ai/code/session_01DuAhw6Ao5Cru3acdkrzx9f


Summary by cubic

Adds Vercel’s fx as a built-in terminal agent and preset so users can prompt, resume, or run fx from Superset. Previously fx was not available; now prompt launches run fx ask --auto <prompt> then resume in the TUI via fx resume last, resume runs fx resume <id>, and one-shots use fx ask --auto.

  • Registers fx in packages/shared/src/builtin-terminal-agents.ts with command, promptCommand, promptCommandSuffix, resumeCommand, and nonInteractiveCommand.
  • Extends packages/shared/src/agent-command.test.ts to cover registration, prompt/resume composition, and preset args.
  • Adds light/dark preset icons in packages/ui/src/assets/icons/preset-icons and exports them in index.ts.
  • Exposes fx in the desktop agent icon picker and settings search (keywords: “fx”, “vercel”).
  • Updates README, docs (apps/docs/.../agent-integration.mdx, .../terminal-presets.mdx), and marketing demo (apps/marketing/.../UniversalCompatibilityDemo.tsx with app-icons/fx.svg).

Rollout

  • Ensure fx is installed on PATH and the user is logged in (fx login).
  • No configuration changes or migrations required.

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

Review in cubic

Summary by CodeRabbit

  • New Features

    • Added fx as a supported terminal coding agent.
    • Added fx to agent integration documentation and the compatibility demo.
    • Added light- and dark-mode fx icons throughout the interface.
    • Added support for prompting, interactive sessions, and resuming previous fx sessions.
    • Added fx to quick-add templates, agent icon options, and settings search.
  • Tests

    • Added coverage for fx registration and command behavior.

@coderabbitai

coderabbitai Bot commented Aug 22, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

Next included review available in 12 minutes.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 71e3a701-1561-4093-b95d-598303b3813c

📥 Commits

Reviewing files that changed from the base of the PR and between 471e3c2 and f34c5dc.

📒 Files selected for processing (9)
  • README.md
  • apps/desktop/src/renderer/routes/_authenticated/settings/agents/components/V2AgentsSettings/components/AgentIconPicker/agent-icon-options.ts
  • apps/desktop/src/renderer/routes/_authenticated/settings/utils/settings-search/settings-search.ts
  • apps/docs/content/docs/agent-integration.mdx
  • apps/docs/content/docs/terminal-presets.mdx
  • apps/marketing/src/app/components/FeaturesSection/components/UniversalCompatibilityDemo/UniversalCompatibilityDemo.tsx
  • packages/shared/src/agent-command.test.ts
  • packages/shared/src/builtin-terminal-agents.ts
  • packages/ui/src/assets/icons/preset-icons/index.ts

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5bd73ffd-d29e-426d-8917-70bb10083b21

📥 Commits

Reviewing files that changed from the base of the PR and between aed6d68 and 471e3c2.

📒 Files selected for processing (3)
  • apps/desktop/src/renderer/routes/_authenticated/settings/agents/components/V2AgentsSettings/components/AgentIconPicker/agent-icon-options.ts
  • apps/desktop/src/renderer/routes/_authenticated/settings/utils/settings-search/settings-search.ts
  • apps/docs/content/docs/terminal-presets.mdx

Included review availability: Your plan provides up to 10 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

FX 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.

Changes

FX agent support

Layer / File(s) Summary
Terminal agent registration
packages/shared/src/builtin-terminal-agents.ts, packages/shared/src/agent-command.test.ts
Adds FX command variants for prompting and resuming. Tests validate registration, labels, and host preset arguments.
FX icon registration
packages/ui/src/assets/icons/preset-icons/index.ts, apps/desktop/.../AgentIconPicker/agent-icon-options.ts
Registers and exports the light and dark FX icons. Adds FX as a selectable custom-agent icon.
Settings and support surfaces
apps/desktop/.../settings-search.ts, apps/marketing/.../UniversalCompatibilityDemo.tsx, README.md, apps/docs/content/docs/agent-integration.mdx, apps/docs/content/docs/terminal-presets.mdx
Adds FX and Vercel search keywords. Lists FX in supported-agent surfaces and documents its Quick-Add Template and commands.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 471e3

This PR adds fx as an optional built-in terminal agent without changing default terminal presets; no actionable merge-blocking risk remains.

Suggested reviewers: saddlepaddle

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title uses conventional commit format and clearly identifies adding fx as a built-in terminal agent.
Description check ✅ Passed The description explains the changes, configuration, testing, and rollout; it omits the template checklist but remains mostly complete.
Docstring Coverage ✅ Passed Docstring check was indeterminate for this PR — some files could not be analyzed in time. Not blocking.
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.
✨ 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/agent-fx

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.

@github-actions

github-actions Bot commented Aug 22, 2026 •

Copy link
Copy Markdown
Contributor

🚀 Preview Deployment

🔗 Preview Links

Service Status Link
Neon Database (Neon) ✅ View Branch
Vercel API (Vercel) ✅ Open Preview
Vercel Web (Vercel) ✅ Open Preview
Vercel Marketing (Vercel) ✅ Open Preview
Vercel Admin (Vercel) ✅ Open Preview
Vercel Docs (Vercel) ✅ Open Preview

Preview updates automatically with new commits

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

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

This branch was previously deployed

1 inactive deployment
preview — f34c5dc2 Deployed Aug 24, 2026 by Kitenite via Deploy Web #8382
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