Skip to content

feat: Add Bob (IBM) AI assistant support#515

Closed
aseelert wants to merge 7 commits into
abhigyanpatwari:mainfrom
aseelert:feat/bob-skills-support
Closed

feat: Add Bob (IBM) AI assistant support#515
aseelert wants to merge 7 commits into
abhigyanpatwari:mainfrom
aseelert:feat/bob-skills-support

Conversation

@aseelert

Copy link
Copy Markdown

Summary

Adds first-class support for Bob, IBM's AI coding assistant, as a GitNexus-integrated editor — on par with Cursor and Claude Code.

Bob is IBM's AI-powered IDE assistant that supports MCP servers, skills, and rules. It runs in VS Code and JetBrains IDEs, and can connect to external tools via the Model Context Protocol. This PR gives Bob users full access to GitNexus's knowledge graph through MCP tools, plus 7 purpose-built skills and a core rules file that teach Bob how to use GitNexus effectively.

What is Bob?

Bob is IBM's AI coding assistant. Key features relevant to this integration:

  • MCP support — Bob connects to MCP servers via ~/.bob/mcp_config.json, giving it access to external tools and resources
  • Skills — Structured prompts in .bob/skills/ that teach Bob domain-specific workflows (similar to Claude Code's .claude/skills/)
  • Rules — Behavioral guidelines in .bob/rules/ that shape how Bob approaches tasks
  • Advanced mode — Enables skill activation and MCP tool usage

Skills included

Skill What it teaches Bob
gitnexus-cli Run GitNexus CLI commands — analyze, status, clean, wiki generation
gitnexus-debugging Trace bugs and errors through call chains using the knowledge graph
gitnexus-exploring Navigate unfamiliar code, understand architecture and execution flows
gitnexus-guide Discover available GitNexus tools, graph schema, and MCP resources
gitnexus-impact-analysis Assess blast radius and risk before changing code
gitnexus-pr-review Review pull requests with graph-aware context and dependency analysis
gitnexus-refactoring Rename, extract, split, or move code safely using dependency mapping

Rules included

  • gitnexus-core.md — Core behavioral rules ensuring Bob queries the knowledge graph before making changes, checks impact before edits, and keeps the index fresh

Tested Environment

Successfully verified end-to-end with the following versions:

Component Version
Bob (IBM) 1.0.1
GitNexus 1.4.8
Node.js v25.6.1
npm 11.9.0
npx 11.9.0

All MCP tools, skills, and resources confirmed working in Bob Advanced mode.

Changes

Path Purpose
README.md Added Bob to editor support table (MCP + Skills) and manual MCP config section
.bob/README.md Setup guide: install GitNexus, configure MCP, install skills/rules, restart Bob, verify
.bob/image.png, .bob/image-1.png Screenshots showing Bob's MCP settings and GitNexus resources
.bob/mcp-config-example.json Example MCP server configuration
.bob/skills/gitnexus-*/SKILL.md 7 skill definitions
.bob/rules/gitnexus-core.md Core rules for GitNexus-aware behavior

Test plan

  • Configure MCP server in Bob using ~/.bob/mcp_config.json
  • Restart Bob and verify GitNexus resources appear in MCP settings
  • Index a repo with npx gitnexus analyze --embeddings
  • In Bob Advanced mode, ask "List all indexed repositories" — triggers gitnexus_list_repos
  • Ask "What breaks if I change function X?" — activates gitnexus-impact-analysis skill
  • Confirm no changes to existing editor configs (Claude Code, Cursor, etc.)

References

- Add 7 Bob-compatible skills (gitnexus-*)
- Add Bob rules for GitNexus workflows
- Skills use YAML front matter format
- Compatible with Bob's Advanced mode
- Global scope (~/.bob/skills/) support

Skills included:
- gitnexus-exploring
- gitnexus-impact-analysis
- gitnexus-debugging
- gitnexus-refactoring
- gitnexus-guide
- gitnexus-cli
- gitnexus-pr-review
Merged README and SETUP into a single guide covering installation,
MCP configuration, skills/rules setup, and troubleshooting.
@vercel

vercel Bot commented Mar 25, 2026

Copy link
Copy Markdown

@aseelert is attempting to deploy a commit to the NexusCore Team on Vercel.

A member of the Team first needs to authorize it.

@abhigyanpatwari

Copy link
Copy Markdown
Owner

@claude review this? also lookup bob docs to verify.

@github-actions

github-actions Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Claude finished @abhigyanpatwari's task in 2m 31s —— View job


PR Review: feat/bob-skills-support

Tasks

  • Gather context
  • Read all changed files
  • Attempt Bob documentation lookup (blocked — see note below)
  • Analyze skills and rules for correctness
  • Provide comprehensive review

Summary

This is a well-structured, entirely-additive PR. It follows the same integration pattern as Cursor and Claude Code, which gives it a strong baseline. All 7 skills are internally consistent, the MCP config format is correct, and the setup guide is clear. A few issues worth addressing before merge:


Issues

1. Undocumented rules-advanced/ path in gitnexus-cli/SKILL.md (minor, but confusing)

.bob/skills/gitnexus-cli/SKILL.md lines 243–248:

Bob automatically loads GitNexus rules from:
- `~/.bob/rules/gitnexus-core.md` (global)
- `~/.bob/rules-advanced/gitnexus-core.md` (advanced mode)
- `.bob/rules/project-context.md` (project-specific)

But .bob/README.md Step 3 only tells users to copy the rules file to ~/.bob/rules/. The rules-advanced/ directory is never mentioned in the setup guide, and project-context.md doesn't exist anywhere in this PR. A user reading the setup guide wouldn't know to create ~/.bob/rules-advanced/. Either document this in the setup guide, or remove the undocumented paths from the skill. Fix this →

2. Pre-existing duplicate "Codex" row in README.md editor table

The editor support table now has two Codex entries (lines 95 and 99 in the current README) — one with Skills, one without. This was pre-existing before this PR (the PR only added the Bob row), but it's now more visible. Not a blocker, but worth cleaning up in a follow-up.

3. gitnexus wiki skill note could mention --skills flag

.bob/skills/gitnexus-cli/SKILL.md line 95:

"Note: Bob uses .bob/skills/ instead of .claude/skills/, so this command is less relevant for Bob users. Skills are manually created in this project."

This is accurate but gitnexus analyze --skills also auto-generates skills to .claude/skills/ (same limitation). Worth mentioning both in the note so Bob users understand neither auto-generates to .bob/skills/.


Doc Lookup Note

WebFetch was not authorized in this run, so I couldn't directly cross-check claims against https://bob.ibm.com/docs/ide (e.g., exact config file path ~/.bob/mcp_config.json, skill directory convention .bob/skills/*/SKILL.md, Advanced mode requirements). The PR author has tested against Bob 1.0.1 and the patterns are structurally consistent with similar editors. If you want me to verify against the docs, grant WebFetch in allowed tools and re-trigger.


What Looks Good

  • MCP config (~/.bob/mcp_config.json) format is exactly consistent with all other editors in this repo — correct.
  • All 7 skills have proper YAML frontmatter (name, description) and well-structured workflow content. They're comprehensive without being redundant.
  • Rules file (gitnexus-core.md) is correctly derived from the canonical AGENTS.md content — no drift.
  • Setup guide is well-organized: 5 clear steps with a troubleshooting table and multiple repo support section.
  • README changes are minimal and correct — Bob correctly appears in the MCP + Skills tier, matching Cursor and Codex.
  • No changes to existing editor configs — purely additive, zero regression risk.

Verdict: Ready to merge pending the rules-advanced/ path inconsistency fix (issue #1). Issues #2 and #3 are minor/non-blocking.

@cnighut

cnighut commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Currently, gitnexus supports cursor cli for wiki generation (ref - #381). Could we add support for the same via bob?
@abhigyanpatwari any opinion?

@cnighut

cnighut commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Missing setupBob() in gitnexus/src/cli/setup.ts — users running gitnexus setup won't get Bob configured automatically like Cursor/Claude Code. Should add MCP config + skills installation for ~/.bob/

…config

Adds Bob (IBM) to the gitnexus setup command alongside Cursor, Claude
Code, OpenCode, and Codex. Running gitnexus setup now automatically:
- Writes MCP config to ~/.bob/mcp_settings.json
- Installs skills to ~/.bob/skills/
- Installs rules from *-rules.md files to ~/.bob/rules/
- Generates project-level Bob context during analyze

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@aseelert aseelert force-pushed the feat/bob-skills-support branch from 557b2e4 to 22473ab Compare March 27, 2026 09:07
@aseelert

aseelert commented Mar 27, 2026

Copy link
Copy Markdown
Author

All issues from the review have been addressed in the latest commits:

@cnighut's feedback:

Missing setupBob() in setup.ts — Fixed. Added setupBob(), installBobSkills(), and installBobRules() to gitnexus/src/cli/setup.ts. Running gitnexus setup now automatically configures ~/.bob/mcp_settings.json, installs 7 skills to ~/.bob/skills/, and installs rules to ~/.bob/rules/.

MCP config filename was wrong — Fixed. Updated from mcp_config.json to mcp_settings.json (global) and .bob/mcp.json (project-level) per Bob docs.

Additional improvements since initial PR:

Project-level parity with other editors — gitnexus analyze now generates .bob/rules/gitnexus-project.md (repo-specific context with project name baked into resource URIs) and installs skills to .bob/skills/, matching what AGENTS.md/CLAUDE.md/.claude/skills/ provide for Cursor and Claude Code.

Rules stored in shared skills directory — Bob rules ship as *-rules.md files in gitnexus/skills/ (no separate gitnexus/bob/ directory). During setup, the -rules suffix is stripped and files are copied to ~/.bob/rules/.

Multi-repo support — Bob's global rules (gitnexus-core-rules.md) include full multi-repo discovery pattern with repo: parameter guidance, ensuring correct behavior when multiple repos are indexed.

Tested with: Bob 1.0.1, GitNexus 1.4.8, Node.js v25.6.1, npm/npx 11.9.0

@cnighut

cnighut commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

Are .bob/skills different than .claude/.skills?

If not can we have just one and then then the same skill s get installed in .bob folder if bob is installed in the device where gitnexus setup is running?

Could we avoid writing a .bob folder all together as part of this PR?

@aseelert

Copy link
Copy Markdown
Author

Are .bob/skills different than .claude/.skills?

If not can we have just one and then then the same skill s get installed in .bob folder if bob is installed in the device where gitnexus setup is running?

Could we avoid writing a .bob folder all together as part of this PR?

yes they are equal so for the install script we can use the same!

@magyargergo

Copy link
Copy Markdown
Collaborator

⚠️ Upcoming Prettier formatting — rebase instructions

PR #563 adds Prettier as the code formatter for the repo. When it merges, the bulk format commit will touch ~350 files (style-only: whitespace, quotes, trailing commas). Your branch will likely conflict.

After #563 merges, rebase your branch:

git fetch origin
git checkout <your-branch>
git rebase origin/main

# Conflicts will be formatting-only — accept your version:
git checkout --theirs .
git add .
git rebase --continue

# Then re-format your branch to match the new style:
npx prettier --write .
git add -A
git commit -m "style: apply prettier formatting"
git push --force-with-lease

New setup step: Run npm install at the repo root (not just in gitnexus/) to get prettier + activate the pre-commit hook. The hook auto-formats staged files on every commit going forward.

@magyargergo

Copy link
Copy Markdown
Collaborator

Please submit a new PR if this is still relevant

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.

4 participants