Skip to content

Add Qoder IDE installer target with global and local options#1277

Open
liuwenji007 wants to merge 1 commit into
colbymchenry:mainfrom
liuwenji007:feat/qoder-installer-target
Open

Add Qoder IDE installer target with global and local options#1277
liuwenji007 wants to merge 1 commit into
colbymchenry:mainfrom
liuwenji007:feat/qoder-installer-target

Conversation

@liuwenji007

Copy link
Copy Markdown

This pull request adds first-class support for the Qoder agent to CodeGraph, enabling automatic detection and configuration via codegraph install. The installer now manages both global and project-local integration for Qoder, handling several agent-specific behaviors, and includes comprehensive tests to ensure correct setup, idempotency, and clean uninstallation. Documentation has been updated to reflect Qoder support throughout.

Qoder Agent Integration:

  • Added Qoder as a supported agent in the installer registry (qoderTarget) and updated the TargetId type to include 'qoder'. [1] [2] [3]
  • Implemented Qoder-specific installation logic:
    • Global install writes the MCP entry to Qoder's shared mcp.json in the platform config directory, ensuring idempotency and leaving sibling servers intact.
    • Local install writes both the shared MCP entry and a project-scoped .qoder/rules/codegraph.md rule file with Qoder-specific guidance and frontmatter, handling legacy migration and uninstall semantics.
  • Comprehensive tests ensure correct file placement, argument handling (no --path or ${workspaceFolder}), idempotency, and proper uninstall behavior.

Documentation Updates:

  • Updated all relevant sections of README.md to include Qoder as a supported agent, reflecting its presence in badges, install instructions, agent lists, and feature descriptions. [1] [2] [3] [4] [5] [6] [7]
  • Added a detailed entry to the CHANGELOG.md describing the Qoder integration, agent-specific behaviors, and migration/compatibility notes.

Code Maintenance:

  • Refactored the instructions template to centralize the CodeGraph guidance body for easier reuse and to clarify agent-specific customization. [1] [2]Supports --location=global (writes MCP entry to Qoder's shared mcp.json under ~/Library/Application Support/Qoder/SharedClientCache/) and --location=local (superset: additionally writes a project-scoped .qoder/rules/codegraph.md rule file with trigger: always_on frontmatter).

Key design decisions:

  • Rule file at .qoder/rules/codegraph.md (higher precedence than AGENTS.md, filename codegraph fully owns — no marker fence needed)
  • Qoder-specific playbook inlined (not the minimal shared block) because Qoder's client consumes MCP initialize.instructions weakly
  • No --path argument: relies on MCP roots/list handshake instead of workspaceFolder substitution (older Qoder builds don't expand it)
  • macOS absolute command resolution via login shell (same as Antigravity — handles stripped PATH from Dock/launchd)
  • Self-heals legacy AGENTS.md CodeGraph fence on upgrade
  • Atomic writes via atomicWriteFileSync for crash safety
  • Local uninstall preserves shared MCP entry (cross-project safe)

Includes 10 test cases covering install/uninstall/idempotency/ self-heal/printConfig/detect across both locations.

Supports --location=global (writes MCP entry to Qoder's shared
mcp.json under ~/Library/Application Support/Qoder/SharedClientCache/)
and --location=local (superset: additionally writes a project-scoped
.qoder/rules/codegraph.md rule file with trigger: always_on
frontmatter).

Key design decisions:
- Rule file at .qoder/rules/codegraph.md (higher precedence than
  AGENTS.md, filename codegraph fully owns — no marker fence needed)
- Qoder-specific playbook inlined (not the minimal shared block)
  because Qoder's client consumes MCP initialize.instructions weakly
- No --path argument: relies on MCP roots/list handshake instead of
  workspaceFolder substitution (older Qoder builds don't expand it)
- macOS absolute command resolution via login shell (same as
  Antigravity — handles stripped PATH from Dock/launchd)
- Self-heals legacy AGENTS.md CodeGraph fence on upgrade
- Atomic writes via atomicWriteFileSync for crash safety
- Local uninstall preserves shared MCP entry (cross-project safe)

Includes 10 test cases covering install/uninstall/idempotency/
self-heal/printConfig/detect across both locations.
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