[GH-ISSUE #3243] [Feature] Support FreeBuff as a setup client #1163

Closed
opened 2026-10-15 18:31:39 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @0xLLVEL on GitHub (Oct 14, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/3243

Before submitting

  • I searched the open and closed issues and pull requests for a related proposal.
  • I understand the contribution scope must be reviewed before integration; open questions are welcome here.
  • This request does not include credentials, private samples, or sensitive target data.

Area

MCP or agent integration

Current limitation

FreeBuff is not among REA's supported setup clients, so FreeBuff users must hand-edit the shared user-agents file at ~/.agents/mcp.json to add the rea MCP entry and copy the skill into ~/.agents/skills manually. rea setup, rea doctor, and rea uninstall are unaware of FreeBuff, so the registration cannot be created, refreshed, or removed through the managed lifecycle.

Use cases

  • Run rea setup --client freebuff (or plain rea setup with a FreeBuff profile present) and get the rea MCP server plus the bundled skill installed where FreeBuff Desktop loads them.
  • Have rea doctor report and rea uninstall remove the FreeBuff registration like any other supported agent, without disturbing unrelated entries in the shared configuration.

Desired outcome and success criteria

rea setup --client freebuff writes mcpServers.rea into the shared ~/.agents/mcp.json (standard mcpServers JSON, stdio transport), preserving existing servers and top-level keys, and installs the bundled skill under ~/.agents/skills. Product detection uses FreeBuff's own profile directory (~/.config/freebuff-desktop), never the shared folder itself, since REA's own skill installs and other agents also create it. The documentation lists FreeBuff in the supported-agents table. A prototype is available in #2736.

Expected interaction with targets

No target interaction (documentation or usability only)

Target and scope details (optional)

Setup only writes the user's local agent configuration and skill files when the user opts in; no analysis provider or target-facing behavior changes. The shared ~/.agents/mcp.json doubles as ZCode's user-scope fallback, so the implementation must preserve foreign rows (including ZCode's disabled registrations) and only manage REA-owned entries.

Verification available so far

I have a prototype or observed results

Verification details (optional)

A working branch (PR #2736) registers a freebuff entry in SUPPORTED_CLIENT_DEFINITIONS with product-specific discovery paths, shared-registration ownership evidence, and boundary tests covering path resolution, profile-only detection, upsert preserving unrelated entries, registration into existing/empty configs, uninstall removing only rea, and doctor/update behavior with and without the FreeBuff profile. Focused suites (freebuffClientConfiguration, zcodeClientConfiguration, updateMaintenance) pass; typecheck and lint are clean.

References (optional)

  • PR #2736 (prototype implementation)
Originally created by @0xLLVEL on GitHub (Oct 14, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/3243 ### Before submitting - [x] I searched the open and closed issues and pull requests for a related proposal. - [x] I understand the [contribution scope](https://github.com/morluto/rea/blob/main/CONTRIBUTING.md#contribution-scope) must be reviewed before integration; open questions are welcome here. - [x] This request does not include credentials, private samples, or sensitive target data. ### Area MCP or agent integration ### Current limitation FreeBuff is not among REA's supported setup clients, so FreeBuff users must hand-edit the shared user-agents file at `~/.agents/mcp.json` to add the `rea` MCP entry and copy the skill into `~/.agents/skills` manually. `rea setup`, `rea doctor`, and `rea uninstall` are unaware of FreeBuff, so the registration cannot be created, refreshed, or removed through the managed lifecycle. ### Use cases - Run `rea setup --client freebuff` (or plain `rea setup` with a FreeBuff profile present) and get the `rea` MCP server plus the bundled skill installed where FreeBuff Desktop loads them. - Have `rea doctor` report and `rea uninstall` remove the FreeBuff registration like any other supported agent, without disturbing unrelated entries in the shared configuration. ### Desired outcome and success criteria `rea setup --client freebuff` writes `mcpServers.rea` into the shared `~/.agents/mcp.json` (standard `mcpServers` JSON, stdio transport), preserving existing servers and top-level keys, and installs the bundled skill under `~/.agents/skills`. Product detection uses FreeBuff's own profile directory (`~/.config/freebuff-desktop`), never the shared folder itself, since REA's own skill installs and other agents also create it. The documentation lists FreeBuff in the supported-agents table. A prototype is available in #2736. ### Expected interaction with targets No target interaction (documentation or usability only) ### Target and scope details (optional) Setup only writes the user's local agent configuration and skill files when the user opts in; no analysis provider or target-facing behavior changes. The shared `~/.agents/mcp.json` doubles as ZCode's user-scope fallback, so the implementation must preserve foreign rows (including ZCode's disabled registrations) and only manage REA-owned entries. ### Verification available so far I have a prototype or observed results ### Verification details (optional) A working branch (PR #2736) registers a `freebuff` entry in `SUPPORTED_CLIENT_DEFINITIONS` with product-specific discovery paths, shared-registration ownership evidence, and boundary tests covering path resolution, profile-only detection, upsert preserving unrelated entries, registration into existing/empty configs, uninstall removing only `rea`, and doctor/update behavior with and without the FreeBuff profile. Focused suites (`freebuffClientConfiguration`, `zcodeClientConfiguration`, `updateMaintenance`) pass; typecheck and lint are clean. ### References (optional) - PR #2736 (prototype implementation)
bsakaguchi 2026-10-31 00:29:58 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#1163
No description provided.