Skip to content

Tool compatibility matrix — tools.json registry with README table and TUI compat screen #86

Description

@canoo

Problem

There is no maintained record of which AI tools NEXUS supports, at what version, or in what state. As new tools ship and existing tools update their config formats, NEXUS projections can silently break with no warning to the user.

Solution

A three-part compatibility system:

1. tools/compat/tools.json — community-maintained registry

A JSON file committed to the repo describing every supported tool:

{
  "schema_version": 1,
  "updated_at": "2026-04-28",
  "tools": [
    {
      "id": "claude-code",
      "name": "Claude Code",
      "vendor": "Anthropic",
      "detect_cmd": "claude --version",
      "version_regex": "([\\d]+\\.[\\d]+\\.[\\d]+)",
      "nexus_support": "full",
      "min_supported_version": "1.0.0"
    }
  ]
}

This file is fetched on nexus update so compatibility data updates without reinstalling NEXUS.

2. README compatibility table (static)

A clearly maintained table in README.md showing current support status for all tools.

3. TUI compat screen (dynamic)

A new screen in the TUI that detects installed tools, shows detected versions, support level, and flags when a tool's installed version is outside the tested range:

┌─ Tool Compatibility ────────────────────────────────────────┐
│                                                             │
│  ✓ Claude Code   v1.2.1   Full      config synced today    │
│  ✓ Gemini CLI    v0.4.0   Full      config synced today    │
│  ✓ Kiro          v0.3.1   Full      config synced today    │
│  ~ Cursor        v0.42    Partial   run: nexus sync        │
│  ✗ Windsurf      v3.1.0   Planned   not configured         │
│  –               –        –         not installed          │
│                                                             │
│  [s] sync now   [u] update compat db   [esc] back          │
└─────────────────────────────────────────────────────────────┘

Dependencies

Requires #17 (driver system, which defines the detection logic this displays).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions