@zigrivers/scaffold 3.32.0 → 3.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -19
- package/content/guides/knowledge-freshness/.diagrams/diagram-0.svg +1 -1
- package/content/guides/knowledge-freshness/.diagrams/manifest.json +1 -1
- package/content/guides/knowledge-freshness/index.html +9 -5
- package/content/guides/knowledge-freshness/index.md +5 -4
- package/content/guides/multi-agent/index.html +16 -15
- package/content/guides/multi-agent/index.md +16 -15
- package/content/guides/pipeline/index.html +2 -2
- package/content/guides/pipeline/index.md +2 -2
- package/content/knowledge/execution/worktree-management.md +4 -4
- package/content/knowledge/mcp-server/mcp-authentication.md +100 -0
- package/content/knowledge/mcp-server/mcp-deployment-patterns.md +119 -0
- package/content/knowledge/mcp-server/mcp-error-handling.md +131 -0
- package/content/knowledge/mcp-server/mcp-observability.md +125 -0
- package/content/knowledge/mcp-server/mcp-prompt-primitives.md +119 -0
- package/content/knowledge/mcp-server/mcp-protocol-fundamentals.md +130 -0
- package/content/knowledge/mcp-server/mcp-resource-design.md +111 -0
- package/content/knowledge/mcp-server/mcp-sdk-selection.md +136 -0
- package/content/knowledge/mcp-server/mcp-testing-strategies.md +127 -0
- package/content/knowledge/mcp-server/mcp-tool-design.md +125 -0
- package/content/knowledge/mcp-server/mcp-transport-patterns.md +122 -0
- package/content/knowledge/mcp-server/mcp-versioning.md +115 -0
- package/content/methodology/custom-defaults.yml +2 -0
- package/content/methodology/deep.yml +2 -0
- package/content/methodology/mcp-server-overlay.yml +88 -0
- package/content/methodology/mvp.yml +2 -0
- package/content/pipeline/build/multi-agent-resume.md +107 -11
- package/content/pipeline/build/multi-agent-start.md +104 -11
- package/content/pipeline/build/single-agent-resume.md +74 -8
- package/content/pipeline/build/single-agent-start.md +69 -12
- package/content/pipeline/environment/git-workflow.md +8 -2
- package/content/pipeline/finalization/materialize-plan-to-beads.md +473 -0
- package/content/pipeline/foundation/beads.md +6 -0
- package/content/pipeline/planning/implementation-plan-review.md +25 -0
- package/content/pipeline/planning/implementation-plan.md +75 -1
- package/content/pipeline/specification/mcp-tool-resource-contract.md +77 -0
- package/dist/cli/commands/adopt.d.ts.map +1 -1
- package/dist/cli/commands/adopt.js +33 -1
- package/dist/cli/commands/adopt.js.map +1 -1
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +46 -3
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/init-flag-families.d.ts +6 -1
- package/dist/cli/init-flag-families.d.ts.map +1 -1
- package/dist/cli/init-flag-families.js +59 -2
- package/dist/cli/init-flag-families.js.map +1 -1
- package/dist/cli/init-flag-families.test.js +86 -1
- package/dist/cli/init-flag-families.test.js.map +1 -1
- package/dist/config/schema.d.ts +2310 -126
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +26 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/schema.test.js +75 -2
- package/dist/config/schema.test.js.map +1 -1
- package/dist/config/validators/index.d.ts.map +1 -1
- package/dist/config/validators/index.js +2 -0
- package/dist/config/validators/index.js.map +1 -1
- package/dist/config/validators/mcp-server.d.ts +4 -0
- package/dist/config/validators/mcp-server.d.ts.map +1 -0
- package/dist/config/validators/mcp-server.js +37 -0
- package/dist/config/validators/mcp-server.js.map +1 -0
- package/dist/config/validators/mcp-server.test.d.ts +2 -0
- package/dist/config/validators/mcp-server.test.d.ts.map +1 -0
- package/dist/config/validators/mcp-server.test.js +47 -0
- package/dist/config/validators/mcp-server.test.js.map +1 -0
- package/dist/core/assembly/materialize-plan-to-beads-assembly.test.d.ts +2 -0
- package/dist/core/assembly/materialize-plan-to-beads-assembly.test.d.ts.map +1 -0
- package/dist/core/assembly/materialize-plan-to-beads-assembly.test.js +75 -0
- package/dist/core/assembly/materialize-plan-to-beads-assembly.test.js.map +1 -0
- package/dist/e2e/project-type-overlays.test.js +83 -0
- package/dist/e2e/project-type-overlays.test.js.map +1 -1
- package/dist/project/adopt.d.ts.map +1 -1
- package/dist/project/adopt.js +3 -1
- package/dist/project/adopt.js.map +1 -1
- package/dist/project/detectors/coverage.test.js +1 -0
- package/dist/project/detectors/coverage.test.js.map +1 -1
- package/dist/project/detectors/disambiguate.d.ts.map +1 -1
- package/dist/project/detectors/disambiguate.js +6 -1
- package/dist/project/detectors/disambiguate.js.map +1 -1
- package/dist/project/detectors/disambiguate.test.js +18 -0
- package/dist/project/detectors/disambiguate.test.js.map +1 -1
- package/dist/project/detectors/index.d.ts.map +1 -1
- package/dist/project/detectors/index.js +2 -1
- package/dist/project/detectors/index.js.map +1 -1
- package/dist/project/detectors/mcp-server.d.ts +4 -0
- package/dist/project/detectors/mcp-server.d.ts.map +1 -0
- package/dist/project/detectors/mcp-server.js +91 -0
- package/dist/project/detectors/mcp-server.js.map +1 -0
- package/dist/project/detectors/mcp-server.test.d.ts +2 -0
- package/dist/project/detectors/mcp-server.test.d.ts.map +1 -0
- package/dist/project/detectors/mcp-server.test.js +115 -0
- package/dist/project/detectors/mcp-server.test.js.map +1 -0
- package/dist/project/detectors/types.d.ts +6 -2
- package/dist/project/detectors/types.d.ts.map +1 -1
- package/dist/project/detectors/types.js.map +1 -1
- package/dist/project/gitignore.d.ts.map +1 -1
- package/dist/project/gitignore.js +4 -0
- package/dist/project/gitignore.js.map +1 -1
- package/dist/project/gitignore.test.js +1 -0
- package/dist/project/gitignore.test.js.map +1 -1
- package/dist/types/config.d.ts +8 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/wizard/copy/core.d.ts.map +1 -1
- package/dist/wizard/copy/core.js +4 -0
- package/dist/wizard/copy/core.js.map +1 -1
- package/dist/wizard/copy/index.d.ts.map +1 -1
- package/dist/wizard/copy/index.js +2 -0
- package/dist/wizard/copy/index.js.map +1 -1
- package/dist/wizard/copy/mcp-server.d.ts +3 -0
- package/dist/wizard/copy/mcp-server.d.ts.map +1 -0
- package/dist/wizard/copy/mcp-server.js +40 -0
- package/dist/wizard/copy/mcp-server.js.map +1 -0
- package/dist/wizard/copy/types.d.ts +5 -1
- package/dist/wizard/copy/types.d.ts.map +1 -1
- package/dist/wizard/flags.d.ts +9 -1
- package/dist/wizard/flags.d.ts.map +1 -1
- package/dist/wizard/questions.d.ts +4 -2
- package/dist/wizard/questions.d.ts.map +1 -1
- package/dist/wizard/questions.js +37 -0
- package/dist/wizard/questions.js.map +1 -1
- package/dist/wizard/questions.test.js +107 -0
- package/dist/wizard/questions.test.js.map +1 -1
- package/dist/wizard/wizard.d.ts +3 -2
- package/dist/wizard/wizard.d.ts.map +1 -1
- package/dist/wizard/wizard.js +3 -1
- package/dist/wizard/wizard.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/project/adopt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAiB,MAAM,MAAM,CAAA;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EACL,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAC7E,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAC/D,4BAA4B,EAAE,gBAAgB,EAAE,oBAAoB,EACpE,uBAAuB,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/project/adopt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAiB,MAAM,MAAM,CAAA;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EACL,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAC7E,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAC/D,4BAA4B,EAAE,gBAAgB,EAAE,oBAAoB,EACpE,uBAAuB,EAAE,gBAAgB,EAAE,qBAAqB,GACjE,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGtE,yFAAyF;AACzF,iEAAiE;AACjE,MAAM,QAAQ,GAAgC;IAC5C,SAAS,EAAY,cAAc;IACnC,YAAY,EAAS,iBAAiB;IACtC,SAAS,EAAY,eAAe;IACpC,KAAK,EAAgB,WAAW;IAChC,SAAS,EAAY,eAAe;IACpC,MAAM,EAAe,YAAY;IACjC,eAAe,EAAM,oBAAoB;IACzC,IAAI,EAAiB,UAAU;IAC/B,mBAAmB,EAAE,wBAAwB;IAC7C,UAAU,EAAW,gBAAgB;IACrC,cAAc,EAAO,mBAAmB;IACxC,MAAM,EAAe,YAAY;IACjC,YAAY,EAAS,iBAAiB;CACvC,CAAA;AAED,wDAAwD;AACxD,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,0DAA0D;AAC1D,SAAS,aAAa,CAAC,IAAiB;IACtC,QAAQ,IAAI,EAAE,CAAC;QACf,KAAK,SAAS,CAAC,CAAW,OAAO,kBAAkB,CAAA;QACnD,KAAK,SAAS,CAAC,CAAW,OAAO,mBAAmB,CAAA;QACpD,KAAK,KAAK,CAAC,CAAe,OAAO,eAAe,CAAA;QAChD,KAAK,SAAS,CAAC,CAAW,OAAO,mBAAmB,CAAA;QACpD,KAAK,YAAY,CAAC,CAAQ,OAAO,qBAAqB,CAAA;QACtD,KAAK,eAAe,CAAC,CAAK,OAAO,wBAAwB,CAAA;QACzD,KAAK,IAAI,CAAC,CAAgB,OAAO,cAAc,CAAA;QAC/C,KAAK,mBAAmB,CAAC,CAAC,OAAO,4BAA4B,CAAA;QAC7D,KAAK,MAAM,CAAC,CAAc,OAAO,gBAAgB,CAAA;QACjD,KAAK,UAAU,CAAC,CAAU,OAAO,oBAAoB,CAAA;QACrD,KAAK,cAAc,CAAC,CAAM,OAAO,uBAAuB,CAAA;QACxD,KAAK,MAAM,CAAC,CAAc,OAAO,gBAAgB,CAAA;QACjD,KAAK,YAAY,CAAC,CAAQ,OAAO,qBAAqB,CAAA;QACtD,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,IAAa,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC;AA2BD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAUjC;IACC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAA;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAA;IACpC,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;IACvD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAE3C,yBAAyB;IACzB,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAEhD,4DAA4D;IAC5D,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAEtD,MAAM,iBAAiB,GAAoB,EAAE,CAAA;IAC7C,MAAM,cAAc,GAAa,EAAE,CAAA;IACnC,MAAM,cAAc,GAAa,EAAE,CAAA;IAEnC,wDAAwD;IACxD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAA;QAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QAEnC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/C,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;QAEF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,0DAA0D;YAC1D,MAAM,QAAQ,GACZ,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAA;YAE/E,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,iBAAiB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC1E,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,cAAc,EAAE,iBAAiB,CAAC,MAAM;QACxC,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,WAAW;QACX,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAA;IAED,4FAA4F;IAE5F,sCAAsC;IACtC,MAAM,GAAG,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAC5C,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAEzC,0EAA0E;IAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IACpE,IAAI,WAAiC,CAAA;IACrC,IAAI,mBAA4C,CAAA;IAChD,IAAI,sBAA2D,CAAA;IAE/D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAChD,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;YAC/E,OAAO,MAAM,CAAA;QACf,CAAC;QACD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QACpD,mFAAmF;QACnF,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;YAC/C,OAAO,MAAM,CAAA;QACf,CAAC;QACD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,OAA8C,CAAA;QACpF,mBAAmB,GAAG,SAAS,EAAE,WAAsC,CAAA;QACvE,IAAI,mBAAmB,EAAE,CAAC;YACxB,sBAAsB,GAAG,SAAS,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAwC,CAAA;QAC5G,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,mBAAmB,IAAI,CAAC,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,iEAAiE;QACjE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,+BAA+B,mBAAmB,KAAK;kBAC5D,yDAAyD;SAC9D,CAAC,CAAA;QACF,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAA;QACxC,iCAAiC;QACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAA;QACrC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,8BAA8B;IAC9B,IAAI,mBAAmB,IAAI,mBAAmB;WACvC,mBAAmB,KAAK,mBAAmB;WAC3C,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,4BAA4B,mBAAmB,QAAQ;kBAC5D,kBAAkB,mBAAmB,eAAe;kBACpD,mCAAmC;YACvC,QAAQ,EAAE,QAAQ,CAAC,SAAS;SAC7B,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;QACtC,OAAO,EAAE,eAAe;QACxB,mBAAmB;QACnB,IAAI,EAAE;YACJ,WAAW,EAAE,CAAC,IAAI;YAClB,mBAAmB,EAAE,KAAK;SAC3B;KACF,CAAC,CAAA;IAEF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAE3D,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,8DAA8D;QAC9D,IAAI,mBAAmB,IAAI,mBAAmB,KAAK,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,yCAAyC,mBAAmB,SAAS,QAAQ,CAAC,MAAM,CAAC,WAAW,GAAG;gBAC5G,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;aACxE,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,uBAAuB,CACvC,QAAQ,CAAC,MAAM,EACf,aAAa;YACb,oEAAoE;YACpE,mBAAmB,KAAK,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CACzF,CAAA;YAED,8CAA8C;YAC9C,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAC/C,SAAS,CAAC,SAAS,EACnB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CACtC,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAA;YAChD,MAAM,CAAC,cAAc,GAAG;gBACtB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;gBACjC,MAAM,EAAE,SAAS,CAAC,MAAM;aACP,CAAA;YACnB,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAA;YACnD,MAAM,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAA;YAEvD,yDAAyD;YACzD,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC3C,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,MAA6B,CAAA;gBAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,8BAA8B;oBACpC,OAAO,EAAE,0CAA0C;0BAC/C,mEAAmE;iBACxE,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,+BAA+B;oBACrC,OAAO,EAAE,gCAAgC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI;0BACpE,8BAA8B,OAAO,KAAK;0BAC1C,0DAA0D;oBAC9D,QAAQ,EAAE,QAAQ,CAAC,eAAe;oBAClC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE;iBACxD,CAAC,CAAA;gBACF,OAAO,MAAM,CAAA;YACf,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAWD,SAAS,uBAAuB,CAC9B,KAAqB,EACrB,aAAiD,EACjD,sBAA2D;IAE3D,wDAAwD;IACxD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,CAC1C,KAAK,CAAC,aAAwC,EAC9C,sBAAsB,CACvB,CAAA;IAED,wEAAwE;IACxE,MAAM,eAAe,GAAG,aAAa,EAAE,IAAI,KAAK,KAAK,CAAC,WAAW;QAC/D,CAAC,CAAE,aAAa,CAAC,OAAmC;QACpD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAE3D,6DAA6D;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEpC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAoB,EACpB,QAA6C;IAE7C,MAAM,SAAS,GAAoB,EAAE,CAAA;IACrC,MAAM,MAAM,GAA4B,EAAE,GAAG,QAAQ,EAAE,CAAA;IAEvD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAc,CAAC,CAAA;YAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,yEAAyE;gBACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;gBACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;gBACtD,IAAI,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;oBAC9C,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;gBAC9E,CAAC;YACH,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA,CAAI,gBAAgB;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAA6B,EAC7B,SAAiC;IAEjC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3B,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAA,CAAG,yCAAyC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAAmC,EACnC,SAAiB;IAEjB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,GAAG,SAAS,IAAI,CAAC,CAAC,KAAK,mBAAmB;YACjD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB;YACrD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,6DAA6D;QAC7F,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;KACxF,CAAC,CAAC,CAAA;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage.test.js","sourceRoot":"","sources":["../../../src/project/detectors/coverage.test.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAGtD,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,GAAG,GAAG,uBAAuB,CAAC;YAClC,WAAW,EAAE;gBACX,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE;gBAC3B,YAAY,EAAE;oBACZ,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,SAAS;oBACf,cAAc,EAAE,SAAS;oBACzB,SAAS,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"coverage.test.js","sourceRoot":"","sources":["../../../src/project/detectors/coverage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disambiguate.d.ts","sourceRoot":"","sources":["../../../src/project/detectors/disambiguate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,gBAAgB,GAAG,qBAAqB,CAAA;IACxF,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAClC;AAQD,eAAO,MAAM,uBAAuB,EAAE,SAAS,WAAW,
|
|
1
|
+
{"version":3,"file":"disambiguate.d.ts","sourceRoot":"","sources":["../../../src/project/detectors/disambiguate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,gBAAgB,GAAG,qBAAqB,CAAA;IACxF,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAClC;AAQD,eAAO,MAAM,uBAAuB,EAAE,SAAS,WAAW,EASzD,CAAA;AAiCD,wBAAsB,YAAY,CAChC,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAsD7B"}
|
|
@@ -4,7 +4,12 @@
|
|
|
4
4
|
// 'user-cancelled' — user Ctrl-C'd the prompt (ExitPromptError)
|
|
5
5
|
// 'no-eligible-matches' — disambiguate() called with empty matches
|
|
6
6
|
export const PROJECT_TYPE_PREFERENCE = [
|
|
7
|
-
'web-app', 'backend',
|
|
7
|
+
'web-app', 'backend',
|
|
8
|
+
// mcp-server ranks just after backend and above cli/library because it is
|
|
9
|
+
// a service-like type. A repo with both an MCP SDK dep + registration and a
|
|
10
|
+
// generic CLI entrypoint should resolve to mcp-server rather than cli.
|
|
11
|
+
'mcp-server',
|
|
12
|
+
'cli', 'library', 'mobile-app',
|
|
8
13
|
'data-pipeline', 'ml', 'research', 'data-science',
|
|
9
14
|
'browser-extension', 'game', 'web3',
|
|
10
15
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disambiguate.js","sourceRoot":"","sources":["../../../src/project/detectors/disambiguate.ts"],"names":[],"mappings":"AAeA,qBAAqB;AACrB,8EAA8E;AAC9E,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AAErE,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"disambiguate.js","sourceRoot":"","sources":["../../../src/project/detectors/disambiguate.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,4 +120,22 @@ describe('PROJECT_TYPE_PREFERENCE completeness', () => {
|
|
|
120
120
|
}
|
|
121
121
|
});
|
|
122
122
|
});
|
|
123
|
+
describe('PROJECT_TYPE_PREFERENCE mcp-server vs cli ordering', () => {
|
|
124
|
+
it('mcp-server ranks before cli when confidence and evidence are equal', async () => {
|
|
125
|
+
const { select } = await import('@inquirer/prompts');
|
|
126
|
+
let choicesArg = [];
|
|
127
|
+
vi.mocked(select).mockImplementationOnce(async ({ choices }) => {
|
|
128
|
+
choicesArg = choices;
|
|
129
|
+
return choices[0].value;
|
|
130
|
+
});
|
|
131
|
+
// Two matches with identical confidence and evidence count — only preference order differs
|
|
132
|
+
await disambiguate([
|
|
133
|
+
mockMatch('cli', 'high', 2),
|
|
134
|
+
mockMatch('mcp-server', 'high', 2),
|
|
135
|
+
], { interactive: true, acceptLowConfidence: false });
|
|
136
|
+
// mcp-server must appear before cli in the sorted choices
|
|
137
|
+
const types = choicesArg.filter(c => c.value !== null).map((c) => c.value.projectType);
|
|
138
|
+
expect(types.indexOf('mcp-server')).toBeLessThan(types.indexOf('cli'));
|
|
139
|
+
});
|
|
140
|
+
});
|
|
123
141
|
//# sourceMappingURL=disambiguate.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disambiguate.test.js","sourceRoot":"","sources":["../../../src/project/detectors/disambiguate.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"disambiguate.test.js","sourceRoot":"","sources":["../../../src/project/detectors/disambiguate.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/project/detectors/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/project/detectors/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAiB1D,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAS5C,CAAA;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,SAAS,GAAE,SAAS,QAAQ,EAAkB,GAC7C,cAAc,EAAE,CAOlB"}
|
|
@@ -6,6 +6,7 @@ import { detectWebApp } from './web-app.js';
|
|
|
6
6
|
import { detectBackend } from './backend.js';
|
|
7
7
|
import { detectMl } from './ml.js';
|
|
8
8
|
import { detectResearch } from './research.js';
|
|
9
|
+
import { detectMcpServer } from './mcp-server.js';
|
|
9
10
|
import { detectDataScience } from './data-science.js';
|
|
10
11
|
import { detectWeb3 } from './web3.js';
|
|
11
12
|
import { detectCli } from './cli.js';
|
|
@@ -16,7 +17,7 @@ export const ALL_DETECTORS = [
|
|
|
16
17
|
// Tier 1: distinctive root-file detectors (cheap distinctive failures)
|
|
17
18
|
detectGame, detectBrowserExtension, detectMobileApp, detectDataPipeline,
|
|
18
19
|
// Tier 2: dep-heavy detectors
|
|
19
|
-
detectWebApp, detectBackend, detectMl, detectResearch, detectCli,
|
|
20
|
+
detectWebApp, detectBackend, detectMl, detectResearch, detectMcpServer, detectCli,
|
|
20
21
|
// Tier 3: catch-all
|
|
21
22
|
detectDataScience,
|
|
22
23
|
detectWeb3,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/project/detectors/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,iFAAiF;AACjF,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,uEAAuE;IACvE,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB;IACvE,8BAA8B;IAC9B,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/project/detectors/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,iFAAiF;AACjF,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,uEAAuE;IACvE,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB;IACvE,8BAA8B;IAC9B,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS;IACjF,oBAAoB;IACpB,iBAAiB;IACjB,UAAU;IACV,aAAa;CACd,CAAA;AAED,MAAM,UAAU,YAAY,CAC1B,GAAkB,EAClB,YAAiC,aAAa;IAE9C,MAAM,OAAO,GAAqB,EAAE,CAAA;IACpC,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/project/detectors/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAA;AA8CnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,cAAc,GAAG,IAAI,CA6CzE"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { evidence } from './types.js';
|
|
2
|
+
const TS_SDK_DEPS = ['@modelcontextprotocol/sdk'];
|
|
3
|
+
const PY_MCP_DEPS = ['mcp', 'fastmcp'];
|
|
4
|
+
const TS_ENTRYPOINTS = [
|
|
5
|
+
// TypeScript sources
|
|
6
|
+
'src/index.ts', 'src/server.ts', 'index.ts', 'server.ts', 'src/mcp.ts',
|
|
7
|
+
'src/mcp/index.ts', 'mcp.ts', 'src/cli.ts', 'src/main.ts', 'main.ts',
|
|
8
|
+
// Plain / built JavaScript (the @modelcontextprotocol/sdk API + registration
|
|
9
|
+
// markers are identical in JS, so a JS MCP server should also reach high).
|
|
10
|
+
'src/index.js', 'index.js', 'server.js', 'src/server.js',
|
|
11
|
+
'dist/index.js', 'build/index.js', 'bin/server.js',
|
|
12
|
+
];
|
|
13
|
+
const PY_ENTRYPOINTS = [
|
|
14
|
+
'server.py', 'main.py', 'src/server.py', 'app.py', 'mcp_server.py',
|
|
15
|
+
'src/main.py', '__main__.py', 'src/__main__.py', 'app/main.py',
|
|
16
|
+
];
|
|
17
|
+
// MCP-specific markers only. Bare `new Server(` is intentionally excluded — it
|
|
18
|
+
// is generic (Socket.IO, Apollo, http) and would false-positive when the SDK is
|
|
19
|
+
// merely a dependency. Low-level MCP servers still match via `setRequestHandler`.
|
|
20
|
+
// eslint-disable-next-line max-len
|
|
21
|
+
const TS_REGISTER = /McpServer\s*\(|\.registerTool\s*\(|\.registerResource\s*\(|\.registerPrompt\s*\(|setRequestHandler\s*\(/;
|
|
22
|
+
// eslint-disable-next-line max-len
|
|
23
|
+
const PY_REGISTER = /FastMCP\s*\(|@\w+\.tool|@\w+\.resource|@\w+\.prompt|@\w+\.(call_tool|list_tools|read_resource|list_resources|get_prompt|list_prompts)/;
|
|
24
|
+
function inferTransport(text) {
|
|
25
|
+
if (/StreamableHTTP|streamableHttp|streamable_http/.test(text))
|
|
26
|
+
return 'streamable-http';
|
|
27
|
+
if (/SSEServerTransport/.test(text))
|
|
28
|
+
return 'sse';
|
|
29
|
+
if (/StdioServerTransport/.test(text))
|
|
30
|
+
return 'stdio';
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
function inferPrimitives(text) {
|
|
34
|
+
const p = [];
|
|
35
|
+
if (/registerTool|@\w+\.tool|list_tools|call_tool|\.tool\s*\(/.test(text))
|
|
36
|
+
p.push('tools');
|
|
37
|
+
if (/registerResource|@\w+\.resource|list_resources|read_resource/.test(text))
|
|
38
|
+
p.push('resources');
|
|
39
|
+
if (/registerPrompt|@\w+\.prompt|list_prompts|get_prompt/.test(text))
|
|
40
|
+
p.push('prompts');
|
|
41
|
+
return p;
|
|
42
|
+
}
|
|
43
|
+
export function detectMcpServer(ctx) {
|
|
44
|
+
const ev = [];
|
|
45
|
+
const hasTsDep = ctx.hasAnyDep([...TS_SDK_DEPS], 'npm');
|
|
46
|
+
const hasPyDep = ctx.hasAnyDep([...PY_MCP_DEPS], 'py');
|
|
47
|
+
if (!hasTsDep && !hasPyDep)
|
|
48
|
+
return null;
|
|
49
|
+
const language = hasTsDep ? 'typescript' : 'python';
|
|
50
|
+
ev.push(evidence('mcp-sdk-dep', undefined, language === 'typescript' ? '@modelcontextprotocol/sdk' : 'mcp/fastmcp'));
|
|
51
|
+
const entrypoints = language === 'typescript' ? TS_ENTRYPOINTS : PY_ENTRYPOINTS;
|
|
52
|
+
const marker = language === 'typescript' ? TS_REGISTER : PY_REGISTER;
|
|
53
|
+
let registeredText;
|
|
54
|
+
let registeredFile;
|
|
55
|
+
for (const f of entrypoints) {
|
|
56
|
+
if (!ctx.hasFile(f))
|
|
57
|
+
continue;
|
|
58
|
+
const text = ctx.readFileText(f, 8192) ?? '';
|
|
59
|
+
if (marker.test(text)) {
|
|
60
|
+
registeredText = text;
|
|
61
|
+
registeredFile = f;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const partialConfig = { language };
|
|
66
|
+
let confidence;
|
|
67
|
+
if (registeredText && registeredFile) {
|
|
68
|
+
// High confidence: SDK server class instantiation (McpServer/FastMCP/Server)
|
|
69
|
+
// is strong evidence this is an MCP server project. Either bare instantiation
|
|
70
|
+
// OR a primitive-registration call (registerTool/registerResource/registerPrompt
|
|
71
|
+
// and their decorator equivalents) justifies high confidence. When no
|
|
72
|
+
// primitives are inferred from source, the schema default (['tools']) applies.
|
|
73
|
+
confidence = 'high';
|
|
74
|
+
ev.push(evidence('mcp-registration', registeredFile, 'registers MCP primitives'));
|
|
75
|
+
const transport = inferTransport(registeredText);
|
|
76
|
+
if (transport)
|
|
77
|
+
partialConfig.transport = transport;
|
|
78
|
+
const primitives = inferPrimitives(registeredText);
|
|
79
|
+
if (primitives.length > 0)
|
|
80
|
+
partialConfig.primitives = primitives;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
// Dep-alone is LOW, not medium: MCP *client* projects also depend on the SDK
|
|
84
|
+
// but don't register anything. Low confidence routes to interactive
|
|
85
|
+
// disambiguation rather than auto-adopt, which is the correct conservative
|
|
86
|
+
// behaviour when we cannot distinguish a server from a client.
|
|
87
|
+
confidence = 'low';
|
|
88
|
+
}
|
|
89
|
+
return { projectType: 'mcp-server', confidence, partialConfig, evidence: ev };
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../src/project/detectors/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.test.d.ts","sourceRoot":"","sources":["../../../src/project/detectors/mcp-server.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { createFakeSignalContext } from './context.js';
|
|
3
|
+
import { detectMcpServer } from './mcp-server.js';
|
|
4
|
+
describe('detectMcpServer', () => {
|
|
5
|
+
it('high: TS SDK dep + entrypoint registering a tool', () => {
|
|
6
|
+
const ctx = createFakeSignalContext({
|
|
7
|
+
packageJson: { name: 's', dependencies: { '@modelcontextprotocol/sdk': '^1.0.0' } },
|
|
8
|
+
files: {
|
|
9
|
+
'src/index.ts': 'import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"\n'
|
|
10
|
+
+ 'const server = new McpServer({ name: "s", version: "1" })\n'
|
|
11
|
+
+ 'server.registerTool("greet", {}, async () => ({ content: [] }))\n',
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
const m = detectMcpServer(ctx);
|
|
15
|
+
expect(m).not.toBeNull();
|
|
16
|
+
expect(m.projectType).toBe('mcp-server');
|
|
17
|
+
expect(m.confidence).toBe('high');
|
|
18
|
+
expect(m.partialConfig.language).toBe('typescript');
|
|
19
|
+
expect(m.partialConfig.primitives).toContain('tools');
|
|
20
|
+
});
|
|
21
|
+
it('high: SDK dep + built JS entrypoint registering a tool (dist/index.js)', () => {
|
|
22
|
+
const ctx = createFakeSignalContext({
|
|
23
|
+
packageJson: { name: 's', dependencies: { '@modelcontextprotocol/sdk': '^1.0.0' } },
|
|
24
|
+
files: {
|
|
25
|
+
'dist/index.js': 'const { McpServer } = require("@modelcontextprotocol/sdk/server/mcp.js")\n'
|
|
26
|
+
+ 'const server = new McpServer({ name: "s", version: "1" })\n'
|
|
27
|
+
+ 'server.registerTool("greet", {}, async () => ({ content: [] }))\n',
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
const m = detectMcpServer(ctx);
|
|
31
|
+
expect(m).not.toBeNull();
|
|
32
|
+
expect(m.confidence).toBe('high');
|
|
33
|
+
expect(m.partialConfig.language).toBe('typescript');
|
|
34
|
+
expect(m.partialConfig.primitives).toContain('tools');
|
|
35
|
+
});
|
|
36
|
+
it('high: Python fastmcp dep + FastMCP entrypoint', () => {
|
|
37
|
+
const ctx = createFakeSignalContext({
|
|
38
|
+
pyprojectToml: { project: { name: 's', dependencies: ['fastmcp'] } },
|
|
39
|
+
files: { 'server.py': 'from fastmcp import FastMCP\nmcp = FastMCP("s")\n@mcp.tool\ndef greet(): ...\n' },
|
|
40
|
+
});
|
|
41
|
+
const m = detectMcpServer(ctx);
|
|
42
|
+
expect(m).not.toBeNull();
|
|
43
|
+
expect(m.confidence).toBe('high');
|
|
44
|
+
expect(m.partialConfig.language).toBe('python');
|
|
45
|
+
});
|
|
46
|
+
it('low: SDK dep present but no registration (could be a client or unusual layout)', () => {
|
|
47
|
+
const ctx = createFakeSignalContext({
|
|
48
|
+
packageJson: { name: 'c', dependencies: { '@modelcontextprotocol/sdk': '^1.0.0' } },
|
|
49
|
+
});
|
|
50
|
+
const m = detectMcpServer(ctx);
|
|
51
|
+
expect(m).not.toBeNull();
|
|
52
|
+
expect(m.confidence).toBe('low');
|
|
53
|
+
expect(m.partialConfig.language).toBe('typescript');
|
|
54
|
+
});
|
|
55
|
+
it('infers streamable-http transport from entrypoint text', () => {
|
|
56
|
+
const ctx = createFakeSignalContext({
|
|
57
|
+
packageJson: { name: 's', dependencies: { '@modelcontextprotocol/sdk': '^1.0.0' } },
|
|
58
|
+
files: {
|
|
59
|
+
'src/server.ts': [
|
|
60
|
+
'import { StreamableHTTPServerTransport } from',
|
|
61
|
+
' "@modelcontextprotocol/sdk/server/streamableHttp.js"',
|
|
62
|
+
'\nconst server = new McpServer({})',
|
|
63
|
+
'\nserver.registerTool("x", {}, async () => ({content:[]}))\n',
|
|
64
|
+
].join(''),
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
const m = detectMcpServer(ctx);
|
|
68
|
+
expect(m.partialConfig.transport).toBe('streamable-http');
|
|
69
|
+
expect(m.confidence).toBe('high');
|
|
70
|
+
});
|
|
71
|
+
it('null: no MCP deps and no markers', () => {
|
|
72
|
+
const ctx = createFakeSignalContext({
|
|
73
|
+
packageJson: { name: 'x', dependencies: { express: '^4' } },
|
|
74
|
+
});
|
|
75
|
+
expect(detectMcpServer(ctx)).toBeNull();
|
|
76
|
+
});
|
|
77
|
+
it('high: TS SDK dep + expanded entrypoint src/mcp/index.ts', () => {
|
|
78
|
+
const ctx = createFakeSignalContext({
|
|
79
|
+
packageJson: { name: 's', dependencies: { '@modelcontextprotocol/sdk': '^1.0.0' } },
|
|
80
|
+
files: {
|
|
81
|
+
'src/mcp/index.ts': 'const s = new McpServer({})\ns.registerTool("x", {}, async () => ({content:[]}))\n',
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
const m = detectMcpServer(ctx);
|
|
85
|
+
expect(m).not.toBeNull();
|
|
86
|
+
expect(m.confidence).toBe('high');
|
|
87
|
+
});
|
|
88
|
+
it('high: Python mcp dep + __main__.py entrypoint', () => {
|
|
89
|
+
const ctx = createFakeSignalContext({
|
|
90
|
+
pyprojectToml: { project: { name: 's', dependencies: ['mcp'] } },
|
|
91
|
+
files: {
|
|
92
|
+
'__main__.py': 'from mcp.server import Server\nserver = Server("s")\n'
|
|
93
|
+
+ '@server.list_tools()\nasync def list(): ...\n',
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
const m = detectMcpServer(ctx);
|
|
97
|
+
expect(m).not.toBeNull();
|
|
98
|
+
expect(m.confidence).toBe('high');
|
|
99
|
+
expect(m.partialConfig.language).toBe('python');
|
|
100
|
+
});
|
|
101
|
+
it('high: Python fastmcp dep + custom variable name @app.tool', () => {
|
|
102
|
+
const ctx = createFakeSignalContext({
|
|
103
|
+
pyprojectToml: { project: { name: 's', dependencies: ['fastmcp'] } },
|
|
104
|
+
files: {
|
|
105
|
+
'server.py': 'from fastmcp import FastMCP\napp = FastMCP("s")\n@app.tool\ndef greet(): ...\n',
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
const m = detectMcpServer(ctx);
|
|
109
|
+
expect(m).not.toBeNull();
|
|
110
|
+
expect(m.confidence).toBe('high');
|
|
111
|
+
expect(m.partialConfig.language).toBe('python');
|
|
112
|
+
expect(m.partialConfig.primitives).toContain('tools');
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=mcp-server.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.test.js","sourceRoot":"","sources":["../../../src/project/detectors/mcp-server.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
-
import type { WebAppConfigSchema, BackendConfigSchema, CliConfigSchema, LibraryConfigSchema, MobileAppConfigSchema, DataPipelineConfigSchema, MlConfigSchema, ResearchConfigSchema, BrowserExtensionConfigSchema, GameConfigSchema, DataScienceConfigSchema, Web3ConfigSchema } from '../../config/schema.js';
|
|
2
|
+
import type { WebAppConfigSchema, BackendConfigSchema, CliConfigSchema, LibraryConfigSchema, MobileAppConfigSchema, DataPipelineConfigSchema, MlConfigSchema, ResearchConfigSchema, BrowserExtensionConfigSchema, GameConfigSchema, DataScienceConfigSchema, Web3ConfigSchema, McpServerConfigSchema } from '../../config/schema.js';
|
|
3
3
|
export type Confidence = 'high' | 'medium' | 'low';
|
|
4
4
|
export interface DetectionEvidence {
|
|
5
5
|
readonly signal: string;
|
|
@@ -58,7 +58,11 @@ export interface Web3Match extends BaseMatch {
|
|
|
58
58
|
readonly projectType: 'web3';
|
|
59
59
|
readonly partialConfig: Partial<z.infer<typeof Web3ConfigSchema>>;
|
|
60
60
|
}
|
|
61
|
-
export
|
|
61
|
+
export interface McpServerMatch extends BaseMatch {
|
|
62
|
+
readonly projectType: 'mcp-server';
|
|
63
|
+
readonly partialConfig: Partial<z.infer<typeof McpServerConfigSchema>>;
|
|
64
|
+
}
|
|
65
|
+
export type DetectionMatch = WebAppMatch | BackendMatch | CliMatch | LibraryMatch | MobileAppMatch | DataPipelineMatch | MlMatch | ResearchMatch | BrowserExtensionMatch | GameMatch | DataScienceMatch | Web3Match | McpServerMatch;
|
|
62
66
|
export type Detector = (ctx: import('./context.js').SignalContext) => DetectionMatch | null;
|
|
63
67
|
/** Exhaustiveness helper for discriminated-union routing. */
|
|
64
68
|
export declare function assertNever(value: never): never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/project/detectors/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACV,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAC7E,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAAE,oBAAoB,EACrF,4BAA4B,EAAE,gBAAgB,EAAE,uBAAuB,EACvE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/project/detectors/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/project/detectors/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/project/detectors/types.ts"],"names":[],"mappings":"AAkFA,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CAAC,KAAY;IACtC,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAChF,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,IAAa,EAAE,IAAa;IACnE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/project/gitignore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/project/gitignore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAuBxD,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,6BAA6B,CAiB1F;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBxE"}
|
|
@@ -9,6 +9,10 @@ const MANAGED_LINES = [
|
|
|
9
9
|
'.scaffold/lock.json',
|
|
10
10
|
'.scaffold/*.tmp',
|
|
11
11
|
'.scaffold/**/*.tmp',
|
|
12
|
+
// Parallel-agent worktrees live at <repo>/.worktrees/<agent>; ignore so a
|
|
13
|
+
// worktree's full checkout is never accidentally committed (see
|
|
14
|
+
// scripts/setup-agent-worktree.sh and docs/git-workflow.md §7).
|
|
15
|
+
'.worktrees/',
|
|
12
16
|
];
|
|
13
17
|
const DANGEROUS_RULES = new Set([
|
|
14
18
|
'.scaffold/',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/project/gitignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,cAAc,GAAG,YAAY,CAAA;AACnC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AAC9C,MAAM,WAAW,GAAG,wBAAwB,CAAA;AAC5C,MAAM,aAAa,GAAG;IACpB,sBAAsB;IACtB,qBAAqB;IACrB,iBAAiB;IACjB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/project/gitignore.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ describe('ensureScaffoldGitignore', () => {
|
|
|
29
29
|
expect(content).toContain('.scaffold/lock.json');
|
|
30
30
|
expect(content).toContain('.scaffold/*.tmp');
|
|
31
31
|
expect(content).toContain('.scaffold/**/*.tmp');
|
|
32
|
+
expect(content).toContain('.worktrees/');
|
|
32
33
|
});
|
|
33
34
|
it('updates existing managed block idempotently without changing user content', () => {
|
|
34
35
|
const root = makeTempDir();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.test.js","sourceRoot":"","sources":["../../src/project/gitignore.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAEpF,MAAM,OAAO,GAAa,EAAE,CAAA;AAE5B,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC/E,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,CAAC,GAAG,EAAE;IACb,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;QAE1B,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;QAE5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAEnC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;QACtE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAA;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAA;QACjD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAA;QAChD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"gitignore.test.js","sourceRoot":"","sources":["../../src/project/gitignore.test.ts"],"names":[],"mappings":"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"}
|