Skip to content

feat: add Factory Droid installer target#674

Open
Rubyj wants to merge 1 commit into
colbymchenry:mainfrom
Rubyj:feat/factory-droid-installer-target
Open

feat: add Factory Droid installer target#674
Rubyj wants to merge 1 commit into
colbymchenry:mainfrom
Rubyj:feat/factory-droid-installer-target

Conversation

@Rubyj
Copy link
Copy Markdown

@Rubyj Rubyj commented Jun 3, 2026

What

Adds Factory Droid (the Factory CLI) as a first-class installer target, so codegraph install auto-detects and configures it — no manual droid mcp add needed.

Factory Droid supports stdio MCP servers via ~/.factory/mcp.json (global, user-wide) and .factory/mcp.json (project-local), using the same mcpServers.codegraph shape that Claude Code, Cursor, Gemini, and Kiro already use.

Changes

Follows the "one new file in targets/ + one registry entry" convention from CLAUDE.md.

File Change
src/installer/targets/droid.ts New FactoryDroidTarget — writes mcp.json, idempotent, surgical uninstall, no instructions file (guidance ships via MCP initialize per #529)
src/installer/targets/types.ts Adds 'droid' to TargetId union
src/installer/targets/registry.ts Imports and registers droidTarget
src/installer/index.ts Adds ~/.factory / ./.factory to the install/uninstall location hint strings
__tests__/installer-targets.test.ts Parameterized contract suite auto-covers droid; adds 4 dedicated tests (global/local paths, no instructions file, sibling preservation, surgical uninstall)
CHANGELOG.md Entry under [Unreleased] → New Features
README.md Badge + all agent-list mentions updated
site/src/content/docs/reference/integrations.md Supported agents list
site/src/content/docs/getting-started/installation.md Auto-detect list + restart note

Verification

  • npm run build — clean TypeScript compile
  • npx vitest run __tests__/installer-targets.test.ts151/151 tests pass (up from 109, the parameterized suite auto-ran all contract checks for the new target)
  • codegraph install --print-config droid — outputs the correct ~/.factory/mcp.json snippet

Adds Factory Droid (the Factory CLI) as a first-class installer target
so `codegraph install` auto-detects and configures it instead of
requiring the manual `droid mcp add codegraph` workaround.

Changes:
- src/installer/targets/droid.ts (new): FactoryDroidTarget writes
  ~/.factory/mcp.json (global) or ./.factory/mcp.json (local) with
  the standard mcpServers.codegraph stdio entry. No permissions
  concept, no instructions file (guidance ships via MCP initialize
  per issue colbymchenry#529). Idempotent installs, surgical uninstall preserving
  sibling servers.
- src/installer/targets/types.ts: adds 'droid' to TargetId union.
- src/installer/targets/registry.ts: imports and registers droidTarget.
- src/installer/index.ts: adds ~/.factory / ./.factory to the
  install/uninstall location hint strings.
- __tests__/installer-targets.test.ts: droidTarget is automatically
  covered by the parameterized contract suite; adds four dedicated
  tests for the global/local mcp.json path, no instructions file,
  sibling preservation, and surgical uninstall.
- Docs: README.md, site integrations.md, site installation.md, and
  CHANGELOG.md [Unreleased] updated to include Factory Droid.
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