feat: add Factory Droid installer target#674
Open
Rubyj wants to merge 1 commit into
Open
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds Factory Droid (the Factory CLI) as a first-class installer target, so
codegraph installauto-detects and configures it — no manualdroid mcp addneeded.Factory Droid supports stdio MCP servers via
~/.factory/mcp.json(global, user-wide) and.factory/mcp.json(project-local), using the samemcpServers.codegraphshape that Claude Code, Cursor, Gemini, and Kiro already use.Changes
Follows the "one new file in
targets/+ one registry entry" convention fromCLAUDE.md.src/installer/targets/droid.tsFactoryDroidTarget— writesmcp.json, idempotent, surgical uninstall, no instructions file (guidance ships via MCPinitializeper #529)src/installer/targets/types.ts'droid'toTargetIdunionsrc/installer/targets/registry.tsdroidTargetsrc/installer/index.ts~/.factory/./.factoryto the install/uninstall location hint strings__tests__/installer-targets.test.tsdroid; adds 4 dedicated tests (global/local paths, no instructions file, sibling preservation, surgical uninstall)CHANGELOG.md[Unreleased] → New FeaturesREADME.mdsite/src/content/docs/reference/integrations.mdsite/src/content/docs/getting-started/installation.mdVerification
npm run build— clean TypeScript compilenpx vitest run __tests__/installer-targets.test.ts— 151/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.jsonsnippet