[PR #4367] feat(setup): add IBM Bob client registration #6207

Open
opened 2026-10-31 01:12:41 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/4367
Author: @filiplou
Created: 10/16/2026
Status: 🔄 Open

Base: main ← Head: feat/ibm-bob-client


📝 Commits (6)

  • 932af46 feat(setup): add IBM Bob client registration
  • f2efc71 docs(setup): record Bob Shell 2.0.5 verification of settings/mcp.json
  • 2316c92 fix(setup): default IBM Bob to the compact input-schema profile
  • 2ee84ba docs(skill): add bob to supported-client lists in skill and recovery guide
  • 2acb417 fix(setup): disclose Bob compact schema default in dry-run plan detail
  • c2a67ee fix(setup): build plan disclosure from merged registration environment

📊 Changes

13 files changed (+449 additions, -10 deletions)

View changed files

📝 .agents/skills/reverse-engineer-anything/SKILL.md (+1 -1)
📝 .agents/skills/reverse-engineer-anything/references/connection-and-recovery.md (+1 -1)
📝 README.md (+4 -2)
📝 docs/client-configuration.md (+51 -0)
📝 docs/installation.md (+3 -0)
📝 src/application/Setup.fixture.ts (+1 -1)
📝 src/application/SetupClientConfiguration.ts (+42 -2)
📝 src/application/SetupPlan.ts (+7 -3)
📝 src/application/SetupTypes.ts (+6 -0)
📝 src/application/SupportedClients.ts (+10 -0)
➕ tests/acceptance/setup/bobClientSetup.test.ts (+145 -0)
➕ tests/boundary/filesystem/bobClientConfiguration.test.ts (+177 -0)
📝 tests/boundary/filesystem/clientLifecycle.test.ts (+1 -0)

📄 Description

Summary

Adds IBM Bob as a supported client for rea setup, so Bob users can register REA's MCP server and install the skill without editing config by hand.

Problem and expected behavior

rea setup doesn't offer IBM Bob. After this change, selecting bob writes mcpServers.rea into ~/.bob/settings/mcp.json and installs the skill into ~/.bob/skills/reverse-engineer-anything. Other servers and top-level keys are preserved, and uninstall removes only the rea entry.

Change and scope

  • New bob entry in SUPPORTED_CLIENT_DEFINITIONS (JSON format, same dialect as other mcpServers clients).
  • New boundary tests: path resolution, upsert preserving other servers, empty mcpServers, uninstall.
  • README, docs/installation.md and docs/client-configuration.md updated.
  • Not included: project-level .bob/mcp.json registration.

Follow the contribution scope. This is client registration only, within existing boundaries (not applicable for a maintainer scope decision).

Contract and boundary impact

  • Semantic owner and earliest changed stage: client registry (SupportedClients.ts)
  • Contribution scope fit and linked maintainer decision: client registration only; not applicable
  • CLI and MCP/tool-catalog contract: none changed
  • Provider, bridge, target-format, or platform compatibility: adds bob as a new setup client value
  • Evidence, artifact, provenance, or reconstruction contract: not applicable
  • Target selection, authority, upstream behavior, and cleanup details: not applicable
  • Generated metadata, package, or installation impact: none known

Expected effects:

  • Change process memory, registers, files, or configuration (writes the user's Bob MCP config, with backups like other clients).

Evidence and regression coverage

  • Tests added or updated: tests/boundary/filesystem/bobClientConfiguration.test.ts (6 tests); bob added to the client list in clientLifecycle.test.ts.
  • Remaining proof gap: ~/.bob/settings/mcp.json is the path my working Bob install uses and the Bob marketplace writes. Bob's published docs instead name ~/.bob/mcp.json (IDE) and ~/.bob/mcp_settings.json (Bob Shell). The docs added here say loading is unverified. I'd welcome maintainer guidance on the preferred path.

Validation performed

  • npx tsc --noEmit — passed
  • npx vitest run tests/boundary/filesystem/bobClientConfiguration.test.ts — 6 passed
  • npx oxfmt --check on changed files — passed
  • On Windows, 5 unrelated Cursor/TOML symlink tests in clientLifecycle.test.ts fail with EPERM; none involve Bob.
  • npm run check — passed; npm run docs:check — passed
  • npm pack --dry-run — passed
  • npm run verify:package — not run locally (stale local node_modules, tsx missing); relying on CI.

Compatibility, safety, and release

  • Breaking changes or migration steps: none
  • Real Hopper/Ghidra, browser, or OS coverage: none needed; Windows only for unit tests
  • Package or release metadata impact: npx rea-agents setup offers Bob only after a release containing this
  • Security, privacy, process, or containment review: writes only the user's own Bob config, backed up like other clients

Author readiness

Human owner: @filiplou

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/4367 **Author:** [@filiplou](https://github.com/filiplou) **Created:** 10/16/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `feat/ibm-bob-client` --- ### 📝 Commits (6) - [`932af46`](https://github.com/morluto/rea/commit/932af4645600ce2792f9199d5d29ca749a9fc199) feat(setup): add IBM Bob client registration - [`f2efc71`](https://github.com/morluto/rea/commit/f2efc711d4086217ff682c78550c01953787d9b6) docs(setup): record Bob Shell 2.0.5 verification of settings/mcp.json - [`2316c92`](https://github.com/morluto/rea/commit/2316c92f9e83793a607a07053946153dd109cf70) fix(setup): default IBM Bob to the compact input-schema profile - [`2ee84ba`](https://github.com/morluto/rea/commit/2ee84bae6ccfac7d93539b6f76bfcbd9841befb5) docs(skill): add bob to supported-client lists in skill and recovery guide - [`2acb417`](https://github.com/morluto/rea/commit/2acb4175028f791463b3f95186ca1255395161b5) fix(setup): disclose Bob compact schema default in dry-run plan detail - [`c2a67ee`](https://github.com/morluto/rea/commit/c2a67ee9ef0d2f82683831e86e41520beeaf9a97) fix(setup): build plan disclosure from merged registration environment ### 📊 Changes **13 files changed** (+449 additions, -10 deletions) <details> <summary>View changed files</summary> 📝 `.agents/skills/reverse-engineer-anything/SKILL.md` (+1 -1) 📝 `.agents/skills/reverse-engineer-anything/references/connection-and-recovery.md` (+1 -1) 📝 `README.md` (+4 -2) 📝 `docs/client-configuration.md` (+51 -0) 📝 `docs/installation.md` (+3 -0) 📝 `src/application/Setup.fixture.ts` (+1 -1) 📝 `src/application/SetupClientConfiguration.ts` (+42 -2) 📝 `src/application/SetupPlan.ts` (+7 -3) 📝 `src/application/SetupTypes.ts` (+6 -0) 📝 `src/application/SupportedClients.ts` (+10 -0) ➕ `tests/acceptance/setup/bobClientSetup.test.ts` (+145 -0) ➕ `tests/boundary/filesystem/bobClientConfiguration.test.ts` (+177 -0) 📝 `tests/boundary/filesystem/clientLifecycle.test.ts` (+1 -0) </details> ### 📄 Description ## Summary Adds IBM Bob as a supported client for `rea setup`, so Bob users can register REA's MCP server and install the skill without editing config by hand. ## Problem and expected behavior `rea setup` doesn't offer IBM Bob. After this change, selecting `bob` writes `mcpServers.rea` into `~/.bob/settings/mcp.json` and installs the skill into `~/.bob/skills/reverse-engineer-anything`. Other servers and top-level keys are preserved, and uninstall removes only the `rea` entry. ## Change and scope - New `bob` entry in `SUPPORTED_CLIENT_DEFINITIONS` (JSON format, same dialect as other `mcpServers` clients). - New boundary tests: path resolution, upsert preserving other servers, empty `mcpServers`, uninstall. - README, `docs/installation.md` and `docs/client-configuration.md` updated. - Not included: project-level `.bob/mcp.json` registration. Follow the [contribution scope](https://github.com/morluto/rea/blob/main/CONTRIBUTING.md#contribution-scope). This is client registration only, within existing boundaries (not applicable for a maintainer scope decision). ## Contract and boundary impact - Semantic owner and earliest changed stage: client registry (`SupportedClients.ts`) - Contribution scope fit and linked maintainer decision: client registration only; not applicable - CLI and MCP/tool-catalog contract: none changed - Provider, bridge, target-format, or platform compatibility: adds `bob` as a new `setup` client value - Evidence, artifact, provenance, or reconstruction contract: not applicable - Target selection, authority, upstream behavior, and cleanup details: not applicable - Generated metadata, package, or installation impact: none known Expected effects: - [x] Change process memory, registers, files, or configuration (writes the user's Bob MCP config, with backups like other clients). ## Evidence and regression coverage - Tests added or updated: `tests/boundary/filesystem/bobClientConfiguration.test.ts` (6 tests); `bob` added to the client list in `clientLifecycle.test.ts`. - Remaining proof gap: `~/.bob/settings/mcp.json` is the path my working Bob install uses and the Bob marketplace writes. Bob's published docs instead name `~/.bob/mcp.json` (IDE) and `~/.bob/mcp_settings.json` (Bob Shell). The docs added here say loading is unverified. I'd welcome maintainer guidance on the preferred path. ## Validation performed - `npx tsc --noEmit` — passed - `npx vitest run tests/boundary/filesystem/bobClientConfiguration.test.ts` — 6 passed - `npx oxfmt --check` on changed files — passed - On Windows, 5 unrelated Cursor/TOML symlink tests in `clientLifecycle.test.ts` fail with EPERM; none involve Bob. - npm run check — passed; npm run docs:check — passed - npm pack --dry-run — passed - npm run verify:package — not run locally (stale local node_modules, tsx missing); relying on CI. ## Compatibility, safety, and release - Breaking changes or migration steps: none - Real Hopper/Ghidra, browser, or OS coverage: none needed; Windows only for unit tests - Package or release metadata impact: `npx rea-agents setup` offers Bob only after a release containing this - Security, privacy, process, or containment review: writes only the user's own Bob config, backed up like other clients ## Author readiness Human owner: @filiplou - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
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#6207
No description provided.