@cubis/foundry 0.3.34 → 0.3.35

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.
Files changed (590) hide show
  1. package/README.md +56 -11
  2. package/bin/cubis.js +2809 -965
  3. package/mcp/.dockerignore +5 -0
  4. package/mcp/Dockerfile +19 -0
  5. package/mcp/README.md +550 -11
  6. package/mcp/config.json +18 -0
  7. package/mcp/dist/index.d.ts +1 -0
  8. package/mcp/dist/index.js +1488 -0
  9. package/mcp/package.json +36 -0
  10. package/mcp/src/cbxConfig/index.ts +23 -0
  11. package/mcp/src/cbxConfig/paths.ts +45 -0
  12. package/mcp/src/cbxConfig/reader.ts +149 -0
  13. package/mcp/src/cbxConfig/readerWriter.test.ts +147 -0
  14. package/mcp/src/cbxConfig/serviceConfig.test.ts +42 -0
  15. package/mcp/src/cbxConfig/serviceConfig.ts +157 -0
  16. package/mcp/src/cbxConfig/types.ts +44 -0
  17. package/mcp/src/cbxConfig/writer.ts +90 -0
  18. package/mcp/src/config/index.test.ts +81 -0
  19. package/mcp/src/config/index.ts +45 -0
  20. package/mcp/src/config/schema.ts +55 -0
  21. package/mcp/src/gateway/catalog.ts +37 -0
  22. package/mcp/src/gateway/config.ts +247 -0
  23. package/mcp/src/gateway/manager.ts +255 -0
  24. package/mcp/src/gateway/types.ts +54 -0
  25. package/mcp/src/gateway/upstreamClient.ts +80 -0
  26. package/mcp/src/index.ts +211 -0
  27. package/mcp/src/server.ts +219 -0
  28. package/mcp/src/tools/configTools.test.ts +166 -0
  29. package/mcp/src/tools/future/README.md +21 -0
  30. package/mcp/src/tools/future/index.ts +8 -0
  31. package/mcp/src/tools/index.ts +76 -0
  32. package/mcp/src/tools/mcpGateway.ts +44 -0
  33. package/mcp/src/tools/postmanGetMode.ts +82 -0
  34. package/mcp/src/tools/postmanGetStatus.ts +65 -0
  35. package/mcp/src/tools/postmanModes.ts +28 -0
  36. package/mcp/src/tools/postmanSetMode.ts +71 -0
  37. package/mcp/src/tools/skillBrowseCategory.ts +54 -0
  38. package/mcp/src/tools/skillGet.ts +43 -0
  39. package/mcp/src/tools/skillListCategories.ts +40 -0
  40. package/mcp/src/tools/skillSearch.ts +72 -0
  41. package/mcp/src/tools/skillTools.test.ts +126 -0
  42. package/mcp/src/tools/stitchGetMode.ts +58 -0
  43. package/mcp/src/tools/stitchGetStatus.ts +70 -0
  44. package/mcp/src/tools/stitchSetProfile.ts +82 -0
  45. package/mcp/src/transports/stdio.ts +9 -0
  46. package/mcp/src/transports/streamableHttp.ts +43 -0
  47. package/mcp/src/upstream/passthrough.ts +273 -0
  48. package/mcp/src/utils/errors.ts +38 -0
  49. package/mcp/src/utils/logger.ts +63 -0
  50. package/mcp/src/vault/manifest.test.ts +126 -0
  51. package/mcp/src/vault/manifest.ts +99 -0
  52. package/mcp/src/vault/scanner.test.ts +70 -0
  53. package/mcp/src/vault/scanner.ts +145 -0
  54. package/mcp/src/vault/types.ts +21 -0
  55. package/package.json +9 -2
  56. package/workflows/scripts/generate-powers.mjs +27 -18
  57. package/workflows/skills/skills_index.json +0 -102
  58. package/workflows/workflows/agent-environment-setup/manifest.json +0 -24
  59. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/nextjs-react-expert/SKILL.md +1 -1
  60. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/skills_index.json +0 -102
  61. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/nextjs-react-expert/SKILL.md +1 -1
  62. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/skills_index.json +0 -102
  63. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/nextjs-react-expert/SKILL.md +1 -1
  64. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/skills_index.json +0 -102
  65. package/mcp/catalogs/default.json +0 -14
  66. package/mcp/powers/atlassian-mcp/POWER.md +0 -91
  67. package/mcp/powers/atlassian-mcp/SKILL.md +0 -88
  68. package/mcp/powers/atlassian-mcp/steering/authentication-patterns.md +0 -520
  69. package/mcp/powers/atlassian-mcp/steering/common-workflows.md +0 -660
  70. package/mcp/powers/atlassian-mcp/steering/confluence-operations.md +0 -528
  71. package/mcp/powers/atlassian-mcp/steering/jira-queries.md +0 -421
  72. package/mcp/powers/atlassian-mcp/steering/mcp-server-setup.md +0 -292
  73. package/mcp/powers/building-mcp-server-on-cloudflare/POWER.md +0 -261
  74. package/mcp/powers/building-mcp-server-on-cloudflare/SKILL.md +0 -258
  75. package/mcp/powers/building-mcp-server-on-cloudflare/steering/examples.md +0 -115
  76. package/mcp/powers/building-mcp-server-on-cloudflare/steering/oauth-setup.md +0 -338
  77. package/mcp/powers/building-mcp-server-on-cloudflare/steering/troubleshooting.md +0 -317
  78. package/mcp/powers/datadog-automation/POWER.md +0 -238
  79. package/mcp/powers/datadog-automation/SKILL.md +0 -235
  80. package/mcp/powers/github-automation/POWER.md +0 -230
  81. package/mcp/powers/github-automation/SKILL.md +0 -227
  82. package/mcp/powers/mcp-builder/LICENSE.txt +0 -202
  83. package/mcp/powers/mcp-builder/POWER.md +0 -179
  84. package/mcp/powers/mcp-builder/SKILL.md +0 -176
  85. package/mcp/powers/mcp-builder/reference/evaluation.md +0 -602
  86. package/mcp/powers/mcp-builder/reference/mcp_best_practices.md +0 -915
  87. package/mcp/powers/mcp-builder/reference/node_mcp_server.md +0 -916
  88. package/mcp/powers/mcp-builder/reference/python_mcp_server.md +0 -752
  89. package/mcp/powers/mcp-builder/scripts/connections.py +0 -151
  90. package/mcp/powers/mcp-builder/scripts/evaluation.py +0 -373
  91. package/mcp/powers/mcp-builder/scripts/example_evaluation.xml +0 -22
  92. package/mcp/powers/mcp-builder/scripts/requirements.txt +0 -2
  93. package/mcp/powers/mcp-developer/POWER.md +0 -88
  94. package/mcp/powers/mcp-developer/SKILL.md +0 -85
  95. package/mcp/powers/mcp-developer/steering/protocol.md +0 -244
  96. package/mcp/powers/mcp-developer/steering/python-sdk.md +0 -367
  97. package/mcp/powers/mcp-developer/steering/resources.md +0 -554
  98. package/mcp/powers/mcp-developer/steering/tools.md +0 -480
  99. package/mcp/powers/mcp-developer/steering/typescript-sdk.md +0 -350
  100. package/mcp/powers/postman/POWER.md +0 -243
  101. package/mcp/powers/postman/SKILL.md +0 -240
  102. package/mcp/powers/postman/flutter-expert/POWER.md +0 -89
  103. package/mcp/powers/postman/flutter-expert/SKILL.md +0 -77
  104. package/mcp/powers/postman/flutter-expert/steering/bloc-state.md +0 -259
  105. package/mcp/powers/postman/flutter-expert/steering/engineering-principles.md +0 -82
  106. package/mcp/powers/postman/flutter-expert/steering/gorouter-navigation.md +0 -157
  107. package/mcp/powers/postman/flutter-expert/steering/performance.md +0 -99
  108. package/mcp/powers/postman/flutter-expert/steering/project-structure.md +0 -77
  109. package/mcp/powers/postman/flutter-expert/steering/riverpod-state.md +0 -404
  110. package/mcp/powers/postman/flutter-expert/steering/widget-patterns.md +0 -123
  111. package/mcp/powers/postman/flutter-security-reviewer/POWER.md +0 -204
  112. package/mcp/powers/postman/flutter-security-reviewer/SKILL.md +0 -180
  113. package/mcp/powers/postman/flutter-security-reviewer/steering/log_redaction.md +0 -17
  114. package/mcp/powers/postman/flutter-security-reviewer/steering/network_hardening.md +0 -13
  115. package/mcp/powers/postman/flutter-security-reviewer/steering/secret-scanning.md +0 -123
  116. package/mcp/powers/postman/flutter-security-reviewer/steering/secure_storage_policy.md +0 -16
  117. package/mcp/powers/postman/flutter-security-reviewer/steering/vulnerability-patterns.md +0 -189
  118. package/mcp/powers/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
  119. package/mcp/powers/postman/flutter-test-master/POWER.md +0 -527
  120. package/mcp/powers/postman/flutter-test-master/SKILL.md +0 -513
  121. package/mcp/powers/postman/flutter-test-master/steering/golden-testing.md +0 -444
  122. package/mcp/powers/postman/flutter-test-master/steering/integration-testing.md +0 -688
  123. package/mcp/powers/postman/flutter-test-master/steering/property-testing.md +0 -408
  124. package/mcp/powers/postman/flutter-test-master/steering/riverpod-testing.md +0 -606
  125. package/mcp/powers/postman/flutter-test-master/steering/test-utilities.md +0 -566
  126. package/mcp/powers/postman/flutter-test-master/steering/unit-testing.md +0 -511
  127. package/mcp/powers/postman/flutter-test-master/steering/widget-testing.md +0 -601
  128. package/mcp/powers/postman/git-commit/POWER.md +0 -47
  129. package/mcp/powers/postman/git-commit/SKILL.md +0 -46
  130. package/mcp/powers/postman/gorouter-restoration/POWER.md +0 -227
  131. package/mcp/powers/postman/gorouter-restoration/SKILL.md +0 -217
  132. package/mcp/powers/postman/gorouter-restoration/steering/guard_patterns.md +0 -14
  133. package/mcp/powers/postman/gorouter-restoration/steering/tab_preservation.md +0 -12
  134. package/mcp/powers/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
  135. package/mcp/powers/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
  136. package/mcp/powers/postman/mcp.json +0 -11
  137. package/mcp/powers/postman/microservices-architect/POWER.md +0 -109
  138. package/mcp/powers/postman/microservices-architect/SKILL.md +0 -93
  139. package/mcp/powers/postman/microservices-architect/steering/communication.md +0 -499
  140. package/mcp/powers/postman/microservices-architect/steering/data.md +0 -721
  141. package/mcp/powers/postman/microservices-architect/steering/decomposition.md +0 -344
  142. package/mcp/powers/postman/microservices-architect/steering/observability.md +0 -805
  143. package/mcp/powers/postman/microservices-architect/steering/patterns.md +0 -603
  144. package/mcp/powers/postman/nestjs-expert/POWER.md +0 -130
  145. package/mcp/powers/postman/nestjs-expert/SKILL.md +0 -114
  146. package/mcp/powers/postman/nestjs-expert/steering/authentication.md +0 -461
  147. package/mcp/powers/postman/nestjs-expert/steering/controllers-routing.md +0 -114
  148. package/mcp/powers/postman/nestjs-expert/steering/dtos-validation.md +0 -156
  149. package/mcp/powers/postman/nestjs-expert/steering/migration-from-express.md +0 -1240
  150. package/mcp/powers/postman/nestjs-expert/steering/secure-sessions.md +0 -56
  151. package/mcp/powers/postman/nestjs-expert/steering/services-di.md +0 -143
  152. package/mcp/powers/postman/nestjs-expert/steering/strangler-fig-pattern.md +0 -47
  153. package/mcp/powers/postman/nestjs-expert/steering/testing-patterns.md +0 -189
  154. package/mcp/powers/postman/oneup-design/POWER.md +0 -72
  155. package/mcp/powers/postman/oneup-design/SKILL.md +0 -71
  156. package/mcp/powers/postman/oneup-design/steering/colors.md +0 -41
  157. package/mcp/powers/postman/oneup-design/steering/components.md +0 -53
  158. package/mcp/powers/postman/oneup-design/steering/spacing.md +0 -84
  159. package/mcp/powers/postman/openapi-docs/POWER.md +0 -78
  160. package/mcp/powers/postman/openapi-docs/SKILL.md +0 -68
  161. package/mcp/powers/postman/openapi-docs/steering/crud-templates.md +0 -43
  162. package/mcp/powers/postman/openapi-docs/steering/framework-express.md +0 -19
  163. package/mcp/powers/postman/openapi-docs/steering/framework-fastapi.md +0 -20
  164. package/mcp/powers/postman/openapi-docs/steering/framework-nestjs.md +0 -20
  165. package/mcp/powers/postman/openapi-docs/steering/framework-raw-openapi.md +0 -14
  166. package/mcp/powers/postman/openapi-docs/steering/openapi-checklist.md +0 -33
  167. package/mcp/powers/postman/openapi-docs/steering/stoplight-ui.md +0 -21
  168. package/mcp/powers/postman/steering/steering.md +0 -26
  169. package/mcp/powers/sentry-automation/POWER.md +0 -235
  170. package/mcp/powers/sentry-automation/SKILL.md +0 -232
  171. package/mcp/skills/atlassian-mcp/SKILL.md +0 -88
  172. package/mcp/skills/atlassian-mcp/references/authentication-patterns.md +0 -520
  173. package/mcp/skills/atlassian-mcp/references/common-workflows.md +0 -660
  174. package/mcp/skills/atlassian-mcp/references/confluence-operations.md +0 -528
  175. package/mcp/skills/atlassian-mcp/references/jira-queries.md +0 -421
  176. package/mcp/skills/atlassian-mcp/references/mcp-server-setup.md +0 -292
  177. package/mcp/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -258
  178. package/mcp/skills/building-mcp-server-on-cloudflare/references/examples.md +0 -115
  179. package/mcp/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +0 -338
  180. package/mcp/skills/building-mcp-server-on-cloudflare/references/tool-patterns.md +0 -29
  181. package/mcp/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +0 -317
  182. package/mcp/skills/datadog-automation/SKILL.md +0 -235
  183. package/mcp/skills/github-automation/SKILL.md +0 -227
  184. package/mcp/skills/mcp-builder/LICENSE.txt +0 -202
  185. package/mcp/skills/mcp-builder/SKILL.md +0 -176
  186. package/mcp/skills/mcp-builder/reference/evaluation.md +0 -602
  187. package/mcp/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
  188. package/mcp/skills/mcp-builder/reference/node_mcp_server.md +0 -916
  189. package/mcp/skills/mcp-builder/reference/python_mcp_server.md +0 -752
  190. package/mcp/skills/mcp-builder/scripts/connections.py +0 -151
  191. package/mcp/skills/mcp-builder/scripts/evaluation.py +0 -373
  192. package/mcp/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  193. package/mcp/skills/mcp-builder/scripts/requirements.txt +0 -2
  194. package/mcp/skills/mcp-developer/SKILL.md +0 -85
  195. package/mcp/skills/mcp-developer/references/protocol.md +0 -244
  196. package/mcp/skills/mcp-developer/references/python-sdk.md +0 -367
  197. package/mcp/skills/mcp-developer/references/resources.md +0 -554
  198. package/mcp/skills/mcp-developer/references/tools.md +0 -480
  199. package/mcp/skills/mcp-developer/references/typescript-sdk.md +0 -350
  200. package/mcp/skills/postman/POWER.md +0 -242
  201. package/mcp/skills/postman/SKILL.md +0 -240
  202. package/mcp/skills/postman/flutter-expert/POWER.md +0 -89
  203. package/mcp/skills/postman/flutter-expert/SKILL.md +0 -77
  204. package/mcp/skills/postman/flutter-expert/references/bloc-state.md +0 -259
  205. package/mcp/skills/postman/flutter-expert/references/engineering-principles.md +0 -82
  206. package/mcp/skills/postman/flutter-expert/references/gorouter-navigation.md +0 -157
  207. package/mcp/skills/postman/flutter-expert/references/performance.md +0 -99
  208. package/mcp/skills/postman/flutter-expert/references/project-structure.md +0 -77
  209. package/mcp/skills/postman/flutter-expert/references/riverpod-state.md +0 -404
  210. package/mcp/skills/postman/flutter-expert/references/widget-patterns.md +0 -123
  211. package/mcp/skills/postman/flutter-security-reviewer/POWER.md +0 -204
  212. package/mcp/skills/postman/flutter-security-reviewer/SKILL.md +0 -180
  213. package/mcp/skills/postman/flutter-security-reviewer/references/log_redaction.md +0 -17
  214. package/mcp/skills/postman/flutter-security-reviewer/references/network_hardening.md +0 -13
  215. package/mcp/skills/postman/flutter-security-reviewer/references/secret-scanning.md +0 -123
  216. package/mcp/skills/postman/flutter-security-reviewer/references/secure_storage_policy.md +0 -16
  217. package/mcp/skills/postman/flutter-security-reviewer/references/vulnerability-patterns.md +0 -189
  218. package/mcp/skills/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
  219. package/mcp/skills/postman/flutter-test-master/POWER.md +0 -527
  220. package/mcp/skills/postman/flutter-test-master/SKILL.md +0 -513
  221. package/mcp/skills/postman/flutter-test-master/references/golden-testing.md +0 -444
  222. package/mcp/skills/postman/flutter-test-master/references/integration-testing.md +0 -688
  223. package/mcp/skills/postman/flutter-test-master/references/property-testing.md +0 -408
  224. package/mcp/skills/postman/flutter-test-master/references/riverpod-testing.md +0 -606
  225. package/mcp/skills/postman/flutter-test-master/references/test-utilities.md +0 -566
  226. package/mcp/skills/postman/flutter-test-master/references/unit-testing.md +0 -511
  227. package/mcp/skills/postman/flutter-test-master/references/widget-testing.md +0 -601
  228. package/mcp/skills/postman/git-commit/POWER.md +0 -47
  229. package/mcp/skills/postman/git-commit/SKILL.md +0 -46
  230. package/mcp/skills/postman/gorouter-restoration/POWER.md +0 -227
  231. package/mcp/skills/postman/gorouter-restoration/SKILL.md +0 -217
  232. package/mcp/skills/postman/gorouter-restoration/references/guard_patterns.md +0 -14
  233. package/mcp/skills/postman/gorouter-restoration/references/tab_preservation.md +0 -12
  234. package/mcp/skills/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
  235. package/mcp/skills/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
  236. package/mcp/skills/postman/mcp.json +0 -11
  237. package/mcp/skills/postman/microservices-architect/POWER.md +0 -109
  238. package/mcp/skills/postman/microservices-architect/SKILL.md +0 -93
  239. package/mcp/skills/postman/microservices-architect/references/communication.md +0 -499
  240. package/mcp/skills/postman/microservices-architect/references/data.md +0 -721
  241. package/mcp/skills/postman/microservices-architect/references/decomposition.md +0 -344
  242. package/mcp/skills/postman/microservices-architect/references/observability.md +0 -805
  243. package/mcp/skills/postman/microservices-architect/references/patterns.md +0 -603
  244. package/mcp/skills/postman/nestjs-expert/POWER.md +0 -130
  245. package/mcp/skills/postman/nestjs-expert/SKILL.md +0 -114
  246. package/mcp/skills/postman/nestjs-expert/references/authentication.md +0 -461
  247. package/mcp/skills/postman/nestjs-expert/references/controllers-routing.md +0 -114
  248. package/mcp/skills/postman/nestjs-expert/references/dtos-validation.md +0 -156
  249. package/mcp/skills/postman/nestjs-expert/references/migration-from-express.md +0 -1240
  250. package/mcp/skills/postman/nestjs-expert/references/secure-sessions.md +0 -56
  251. package/mcp/skills/postman/nestjs-expert/references/services-di.md +0 -143
  252. package/mcp/skills/postman/nestjs-expert/references/strangler-fig-pattern.md +0 -47
  253. package/mcp/skills/postman/nestjs-expert/references/testing-patterns.md +0 -189
  254. package/mcp/skills/postman/oneup-design/POWER.md +0 -72
  255. package/mcp/skills/postman/oneup-design/SKILL.md +0 -71
  256. package/mcp/skills/postman/oneup-design/references/colors.md +0 -41
  257. package/mcp/skills/postman/oneup-design/references/components.md +0 -53
  258. package/mcp/skills/postman/oneup-design/references/spacing.md +0 -84
  259. package/mcp/skills/postman/openapi-docs/POWER.md +0 -78
  260. package/mcp/skills/postman/openapi-docs/SKILL.md +0 -68
  261. package/mcp/skills/postman/openapi-docs/references/crud-templates.md +0 -43
  262. package/mcp/skills/postman/openapi-docs/references/framework-express.md +0 -19
  263. package/mcp/skills/postman/openapi-docs/references/framework-fastapi.md +0 -20
  264. package/mcp/skills/postman/openapi-docs/references/framework-nestjs.md +0 -20
  265. package/mcp/skills/postman/openapi-docs/references/framework-raw-openapi.md +0 -14
  266. package/mcp/skills/postman/openapi-docs/references/openapi-checklist.md +0 -33
  267. package/mcp/skills/postman/openapi-docs/references/stoplight-ui.md +0 -21
  268. package/mcp/skills/postman/references/steering.md +0 -26
  269. package/mcp/skills/sentry-automation/SKILL.md +0 -232
  270. package/workflows/powers/atlassian-mcp/POWER.md +0 -21
  271. package/workflows/powers/atlassian-mcp/SKILL.md +0 -18
  272. package/workflows/powers/building-mcp-server-on-cloudflare/POWER.md +0 -21
  273. package/workflows/powers/building-mcp-server-on-cloudflare/SKILL.md +0 -18
  274. package/workflows/powers/datadog-automation/POWER.md +0 -21
  275. package/workflows/powers/datadog-automation/SKILL.md +0 -18
  276. package/workflows/powers/github-automation/POWER.md +0 -21
  277. package/workflows/powers/github-automation/SKILL.md +0 -18
  278. package/workflows/powers/mcp-builder/POWER.md +0 -21
  279. package/workflows/powers/mcp-builder/SKILL.md +0 -18
  280. package/workflows/powers/mcp-developer/POWER.md +0 -21
  281. package/workflows/powers/mcp-developer/SKILL.md +0 -18
  282. package/workflows/powers/postman/POWER.md +0 -21
  283. package/workflows/powers/postman/SKILL.md +0 -18
  284. package/workflows/powers/sentry-automation/POWER.md +0 -21
  285. package/workflows/powers/sentry-automation/SKILL.md +0 -18
  286. package/workflows/skills/atlassian-mcp/SKILL.md +0 -18
  287. package/workflows/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -18
  288. package/workflows/skills/datadog-automation/SKILL.md +0 -18
  289. package/workflows/skills/github-automation/SKILL.md +0 -18
  290. package/workflows/skills/mcp-builder/SKILL.md +0 -18
  291. package/workflows/skills/mcp-developer/SKILL.md +0 -18
  292. package/workflows/skills/postman/SKILL.md +0 -18
  293. package/workflows/skills/sentry-automation/SKILL.md +0 -18
  294. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/SKILL.md +0 -88
  295. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/authentication-patterns.md +0 -520
  296. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/common-workflows.md +0 -660
  297. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/confluence-operations.md +0 -528
  298. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/jira-queries.md +0 -421
  299. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/mcp-server-setup.md +0 -292
  300. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -258
  301. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/references/examples.md +0 -115
  302. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +0 -338
  303. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/references/tool-patterns.md +0 -29
  304. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +0 -317
  305. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/datadog-automation/SKILL.md +0 -235
  306. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/github-automation/SKILL.md +0 -227
  307. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/LICENSE.txt +0 -202
  308. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/SKILL.md +0 -176
  309. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/reference/evaluation.md +0 -602
  310. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
  311. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/reference/node_mcp_server.md +0 -916
  312. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/reference/python_mcp_server.md +0 -752
  313. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/scripts/connections.py +0 -151
  314. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/scripts/evaluation.py +0 -373
  315. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  316. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/scripts/requirements.txt +0 -2
  317. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/SKILL.md +0 -85
  318. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/protocol.md +0 -244
  319. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/python-sdk.md +0 -367
  320. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/resources.md +0 -554
  321. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/tools.md +0 -480
  322. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/typescript-sdk.md +0 -350
  323. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/POWER.md +0 -242
  324. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/SKILL.md +0 -240
  325. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/POWER.md +0 -89
  326. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/SKILL.md +0 -77
  327. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/bloc-state.md +0 -259
  328. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/engineering-principles.md +0 -82
  329. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/gorouter-navigation.md +0 -157
  330. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/performance.md +0 -99
  331. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/project-structure.md +0 -77
  332. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/riverpod-state.md +0 -404
  333. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/widget-patterns.md +0 -123
  334. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/POWER.md +0 -204
  335. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/SKILL.md +0 -180
  336. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/log_redaction.md +0 -17
  337. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/network_hardening.md +0 -13
  338. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/secret-scanning.md +0 -123
  339. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/secure_storage_policy.md +0 -16
  340. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/vulnerability-patterns.md +0 -189
  341. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
  342. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/POWER.md +0 -527
  343. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/SKILL.md +0 -513
  344. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/golden-testing.md +0 -444
  345. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/integration-testing.md +0 -688
  346. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/property-testing.md +0 -408
  347. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/riverpod-testing.md +0 -606
  348. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/test-utilities.md +0 -566
  349. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/unit-testing.md +0 -511
  350. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/widget-testing.md +0 -601
  351. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/git-commit/POWER.md +0 -47
  352. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/git-commit/SKILL.md +0 -46
  353. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/POWER.md +0 -227
  354. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/SKILL.md +0 -217
  355. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/references/guard_patterns.md +0 -14
  356. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/references/tab_preservation.md +0 -12
  357. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
  358. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
  359. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/mcp.json +0 -11
  360. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/POWER.md +0 -109
  361. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/SKILL.md +0 -93
  362. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/communication.md +0 -499
  363. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/data.md +0 -721
  364. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/decomposition.md +0 -344
  365. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/observability.md +0 -805
  366. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/patterns.md +0 -603
  367. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/POWER.md +0 -130
  368. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/SKILL.md +0 -114
  369. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/authentication.md +0 -461
  370. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/controllers-routing.md +0 -114
  371. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/dtos-validation.md +0 -156
  372. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/migration-from-express.md +0 -1240
  373. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/secure-sessions.md +0 -56
  374. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/services-di.md +0 -143
  375. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/strangler-fig-pattern.md +0 -47
  376. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/testing-patterns.md +0 -189
  377. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/POWER.md +0 -72
  378. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/SKILL.md +0 -71
  379. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/references/colors.md +0 -41
  380. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/references/components.md +0 -53
  381. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/references/spacing.md +0 -84
  382. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/POWER.md +0 -78
  383. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/SKILL.md +0 -68
  384. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/crud-templates.md +0 -43
  385. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/framework-express.md +0 -19
  386. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/framework-fastapi.md +0 -20
  387. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/framework-nestjs.md +0 -20
  388. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/framework-raw-openapi.md +0 -14
  389. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/openapi-checklist.md +0 -33
  390. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/stoplight-ui.md +0 -21
  391. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/references/steering.md +0 -26
  392. package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/sentry-automation/SKILL.md +0 -232
  393. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/SKILL.md +0 -88
  394. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/authentication-patterns.md +0 -520
  395. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/common-workflows.md +0 -660
  396. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/confluence-operations.md +0 -528
  397. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/jira-queries.md +0 -421
  398. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/mcp-server-setup.md +0 -292
  399. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -258
  400. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/references/examples.md +0 -115
  401. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +0 -338
  402. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/references/tool-patterns.md +0 -29
  403. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +0 -317
  404. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/datadog-automation/SKILL.md +0 -235
  405. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/github-automation/SKILL.md +0 -227
  406. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/LICENSE.txt +0 -202
  407. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/SKILL.md +0 -176
  408. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/reference/evaluation.md +0 -602
  409. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
  410. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/reference/node_mcp_server.md +0 -916
  411. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/reference/python_mcp_server.md +0 -752
  412. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/scripts/connections.py +0 -151
  413. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/scripts/evaluation.py +0 -373
  414. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  415. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/scripts/requirements.txt +0 -2
  416. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/SKILL.md +0 -85
  417. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/protocol.md +0 -244
  418. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/python-sdk.md +0 -367
  419. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/resources.md +0 -554
  420. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/tools.md +0 -480
  421. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/typescript-sdk.md +0 -350
  422. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/POWER.md +0 -242
  423. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/SKILL.md +0 -240
  424. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/POWER.md +0 -89
  425. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/SKILL.md +0 -77
  426. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/bloc-state.md +0 -259
  427. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/engineering-principles.md +0 -82
  428. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/gorouter-navigation.md +0 -157
  429. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/performance.md +0 -99
  430. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/project-structure.md +0 -77
  431. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/riverpod-state.md +0 -404
  432. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/widget-patterns.md +0 -123
  433. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/POWER.md +0 -204
  434. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/SKILL.md +0 -180
  435. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/log_redaction.md +0 -17
  436. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/network_hardening.md +0 -13
  437. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/secret-scanning.md +0 -123
  438. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/secure_storage_policy.md +0 -16
  439. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/vulnerability-patterns.md +0 -189
  440. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
  441. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/POWER.md +0 -527
  442. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/SKILL.md +0 -513
  443. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/golden-testing.md +0 -444
  444. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/integration-testing.md +0 -688
  445. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/property-testing.md +0 -408
  446. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/riverpod-testing.md +0 -606
  447. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/test-utilities.md +0 -566
  448. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/unit-testing.md +0 -511
  449. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/widget-testing.md +0 -601
  450. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/git-commit/POWER.md +0 -47
  451. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/git-commit/SKILL.md +0 -46
  452. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/POWER.md +0 -227
  453. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/SKILL.md +0 -217
  454. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/references/guard_patterns.md +0 -14
  455. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/references/tab_preservation.md +0 -12
  456. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
  457. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
  458. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/mcp.json +0 -11
  459. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/POWER.md +0 -109
  460. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/SKILL.md +0 -93
  461. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/communication.md +0 -499
  462. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/data.md +0 -721
  463. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/decomposition.md +0 -344
  464. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/observability.md +0 -805
  465. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/patterns.md +0 -603
  466. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/POWER.md +0 -130
  467. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/SKILL.md +0 -114
  468. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/authentication.md +0 -461
  469. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/controllers-routing.md +0 -114
  470. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/dtos-validation.md +0 -156
  471. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/migration-from-express.md +0 -1240
  472. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/secure-sessions.md +0 -56
  473. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/services-di.md +0 -143
  474. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/strangler-fig-pattern.md +0 -47
  475. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/testing-patterns.md +0 -189
  476. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/POWER.md +0 -72
  477. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/SKILL.md +0 -71
  478. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/references/colors.md +0 -41
  479. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/references/components.md +0 -53
  480. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/references/spacing.md +0 -84
  481. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/POWER.md +0 -78
  482. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/SKILL.md +0 -68
  483. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/crud-templates.md +0 -43
  484. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/framework-express.md +0 -19
  485. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/framework-fastapi.md +0 -20
  486. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/framework-nestjs.md +0 -20
  487. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/framework-raw-openapi.md +0 -14
  488. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/openapi-checklist.md +0 -33
  489. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/stoplight-ui.md +0 -21
  490. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/references/steering.md +0 -26
  491. package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/sentry-automation/SKILL.md +0 -232
  492. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/SKILL.md +0 -88
  493. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/authentication-patterns.md +0 -520
  494. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/common-workflows.md +0 -660
  495. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/confluence-operations.md +0 -528
  496. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/jira-queries.md +0 -421
  497. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/mcp-server-setup.md +0 -292
  498. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -258
  499. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/references/examples.md +0 -115
  500. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +0 -338
  501. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/references/tool-patterns.md +0 -29
  502. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +0 -317
  503. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/datadog-automation/SKILL.md +0 -235
  504. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/github-automation/SKILL.md +0 -227
  505. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/LICENSE.txt +0 -202
  506. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/SKILL.md +0 -176
  507. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/reference/evaluation.md +0 -602
  508. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
  509. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/reference/node_mcp_server.md +0 -916
  510. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/reference/python_mcp_server.md +0 -752
  511. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/scripts/connections.py +0 -151
  512. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/scripts/evaluation.py +0 -373
  513. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  514. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/scripts/requirements.txt +0 -2
  515. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/SKILL.md +0 -85
  516. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/protocol.md +0 -244
  517. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/python-sdk.md +0 -367
  518. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/resources.md +0 -554
  519. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/tools.md +0 -480
  520. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/typescript-sdk.md +0 -350
  521. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/POWER.md +0 -242
  522. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/SKILL.md +0 -240
  523. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/POWER.md +0 -89
  524. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/SKILL.md +0 -77
  525. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/bloc-state.md +0 -259
  526. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/engineering-principles.md +0 -82
  527. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/gorouter-navigation.md +0 -157
  528. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/performance.md +0 -99
  529. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/project-structure.md +0 -77
  530. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/riverpod-state.md +0 -404
  531. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/widget-patterns.md +0 -123
  532. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/POWER.md +0 -204
  533. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/SKILL.md +0 -180
  534. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/log_redaction.md +0 -17
  535. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/network_hardening.md +0 -13
  536. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/secret-scanning.md +0 -123
  537. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/secure_storage_policy.md +0 -16
  538. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/vulnerability-patterns.md +0 -189
  539. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
  540. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/POWER.md +0 -527
  541. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/SKILL.md +0 -513
  542. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/golden-testing.md +0 -444
  543. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/integration-testing.md +0 -688
  544. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/property-testing.md +0 -408
  545. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/riverpod-testing.md +0 -606
  546. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/test-utilities.md +0 -566
  547. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/unit-testing.md +0 -511
  548. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/widget-testing.md +0 -601
  549. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/git-commit/POWER.md +0 -47
  550. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/git-commit/SKILL.md +0 -46
  551. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/POWER.md +0 -227
  552. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/SKILL.md +0 -217
  553. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/references/guard_patterns.md +0 -14
  554. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/references/tab_preservation.md +0 -12
  555. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
  556. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
  557. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/mcp.json +0 -11
  558. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/POWER.md +0 -109
  559. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/SKILL.md +0 -93
  560. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/communication.md +0 -499
  561. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/data.md +0 -721
  562. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/decomposition.md +0 -344
  563. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/observability.md +0 -805
  564. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/patterns.md +0 -603
  565. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/POWER.md +0 -130
  566. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/SKILL.md +0 -114
  567. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/authentication.md +0 -461
  568. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/controllers-routing.md +0 -114
  569. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/dtos-validation.md +0 -156
  570. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/migration-from-express.md +0 -1240
  571. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/secure-sessions.md +0 -56
  572. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/services-di.md +0 -143
  573. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/strangler-fig-pattern.md +0 -47
  574. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/testing-patterns.md +0 -189
  575. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/POWER.md +0 -72
  576. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/SKILL.md +0 -71
  577. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/references/colors.md +0 -41
  578. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/references/components.md +0 -53
  579. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/references/spacing.md +0 -84
  580. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/POWER.md +0 -78
  581. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/SKILL.md +0 -68
  582. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/crud-templates.md +0 -43
  583. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/framework-express.md +0 -19
  584. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/framework-fastapi.md +0 -20
  585. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/framework-nestjs.md +0 -20
  586. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/framework-raw-openapi.md +0 -14
  587. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/openapi-checklist.md +0 -33
  588. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/stoplight-ui.md +0 -21
  589. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/references/steering.md +0 -26
  590. package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/sentry-automation/SKILL.md +0 -232
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@cubis/foundry-mcp",
3
+ "version": "0.1.0",
4
+ "description": "Cubis Foundry MCP Server – SkillPointer vault, Postman mode, and Stitch profile tools",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "cubis-mcp": "dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "dev": "nodemon --watch src --ext ts --exec 'tsx src/index.ts -- --transport stdio'",
12
+ "build": "tsup src/index.ts --format esm --dts --clean",
13
+ "start": "node dist/index.js",
14
+ "test": "vitest run",
15
+ "test:watch": "vitest",
16
+ "scan": "tsx src/index.ts --scan-only",
17
+ "mcp:inspect": "npx @modelcontextprotocol/inspector -- tsx src/index.ts"
18
+ },
19
+ "engines": {
20
+ "node": ">=18.17"
21
+ },
22
+ "dependencies": {
23
+ "@modelcontextprotocol/sdk": "^1.27.0",
24
+ "jsonc-parser": "^3.3.1",
25
+ "zod": "^3.25.0"
26
+ },
27
+ "devDependencies": {
28
+ "@types/node": "^20.14.0",
29
+ "nodemon": "^3.1.0",
30
+ "tsup": "^8.1.0",
31
+ "tsx": "^4.16.0",
32
+ "typescript": "^5.5.0",
33
+ "vitest": "^2.0.0"
34
+ },
35
+ "license": "MIT"
36
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Cubis Foundry MCP Server – cbxConfig barrel export.
3
+ */
4
+ export type {
5
+ ConfigScope,
6
+ PostmanConfig,
7
+ StitchConfig,
8
+ CbxConfig,
9
+ EffectiveConfig,
10
+ } from "./types.js";
11
+
12
+ export {
13
+ globalConfigPath,
14
+ projectConfigPath,
15
+ resolveConfigPath,
16
+ } from "./paths.js";
17
+ export {
18
+ readEffectiveConfig,
19
+ readScopedConfig,
20
+ redactConfig,
21
+ } from "./reader.js";
22
+ export { writeConfigField, ensureConfigExists } from "./writer.js";
23
+ export { parsePostmanState, parseStitchState } from "./serviceConfig.js";
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Cubis Foundry MCP Server – cbxConfig path resolution.
3
+ *
4
+ * Global: ~/.cbx/cbx_config.json
5
+ * Project: <workspace>/cbx_config.json
6
+ * Auto-effective: project if exists, else global.
7
+ */
8
+
9
+ import path from "node:path";
10
+ import os from "node:os";
11
+ import { existsSync } from "node:fs";
12
+ import type { ConfigScope } from "./types.js";
13
+
14
+ export function globalConfigPath(): string {
15
+ return path.join(os.homedir(), ".cbx", "cbx_config.json");
16
+ }
17
+
18
+ export function projectConfigPath(workspaceRoot?: string): string {
19
+ const root = workspaceRoot ?? process.cwd();
20
+ return path.join(root, "cbx_config.json");
21
+ }
22
+
23
+ /**
24
+ * Resolve the effective config path.
25
+ * If scope is explicit, use that. Otherwise auto-detect:
26
+ * project config if exists, else global.
27
+ */
28
+ export function resolveConfigPath(
29
+ scope?: ConfigScope | "auto",
30
+ workspaceRoot?: string,
31
+ ): { path: string; scope: ConfigScope } {
32
+ if (scope === "global") {
33
+ return { path: globalConfigPath(), scope: "global" };
34
+ }
35
+ if (scope === "project") {
36
+ return { path: projectConfigPath(workspaceRoot), scope: "project" };
37
+ }
38
+
39
+ // Auto-effective: project if exists, else global
40
+ const projectPath = projectConfigPath(workspaceRoot);
41
+ if (existsSync(projectPath)) {
42
+ return { path: projectPath, scope: "project" };
43
+ }
44
+ return { path: globalConfigPath(), scope: "global" };
45
+ }
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Cubis Foundry MCP Server – cbxConfig reader.
3
+ *
4
+ * Reads and merges global + project configs.
5
+ * Project values override global values.
6
+ * Never exposes or logs apiKey.
7
+ */
8
+
9
+ import { readFileSync, existsSync } from "node:fs";
10
+ import { parse as parseJsonc } from "jsonc-parser";
11
+ import {
12
+ globalConfigPath,
13
+ projectConfigPath,
14
+ resolveConfigPath,
15
+ } from "./paths.js";
16
+ import type { CbxConfig, ConfigScope, EffectiveConfig } from "./types.js";
17
+ import { logger } from "../utils/logger.js";
18
+
19
+ function readConfigFile(filePath: string): CbxConfig | null {
20
+ if (!existsSync(filePath)) return null;
21
+ try {
22
+ const raw = readFileSync(filePath, "utf8");
23
+ return parseJsonc(raw) as CbxConfig;
24
+ } catch (err) {
25
+ logger.warn(`Failed to parse config at ${filePath}: ${err}`);
26
+ return null;
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Deep merge two config objects. `override` values take precedence.
32
+ */
33
+ function mergeConfigs(base: CbxConfig, override: CbxConfig): CbxConfig {
34
+ const result: CbxConfig = { ...base };
35
+ for (const [key, value] of Object.entries(override)) {
36
+ if (
37
+ value !== undefined &&
38
+ value !== null &&
39
+ typeof value === "object" &&
40
+ !Array.isArray(value)
41
+ ) {
42
+ result[key] = mergeConfigs(
43
+ (result[key] as CbxConfig) ?? {},
44
+ value as CbxConfig,
45
+ );
46
+ } else {
47
+ result[key] = value;
48
+ }
49
+ }
50
+ return result;
51
+ }
52
+
53
+ /**
54
+ * Read config for a specific scope only.
55
+ */
56
+ export function readScopedConfig(
57
+ scope: ConfigScope,
58
+ workspaceRoot?: string,
59
+ ): EffectiveConfig | null {
60
+ const configPath =
61
+ scope === "global" ? globalConfigPath() : projectConfigPath(workspaceRoot);
62
+
63
+ const config = readConfigFile(configPath);
64
+ if (!config) return null;
65
+
66
+ return { config, scope, path: configPath };
67
+ }
68
+
69
+ /**
70
+ * Read the effective config (merged global + project, project overrides).
71
+ * If scope is explicit ("global" or "project"), reads that scope only.
72
+ * If scope is "auto" or omitted, merges both with project taking precedence.
73
+ */
74
+ export function readEffectiveConfig(
75
+ scope?: ConfigScope | "auto",
76
+ workspaceRoot?: string,
77
+ ): EffectiveConfig | null {
78
+ // Explicit scope = read that scope only
79
+ if (scope === "global" || scope === "project") {
80
+ return readScopedConfig(scope, workspaceRoot);
81
+ }
82
+
83
+ // Auto: merge global + project
84
+ const globalConf = readConfigFile(globalConfigPath());
85
+ const projectPath = projectConfigPath(workspaceRoot);
86
+ const projectConf = readConfigFile(projectPath);
87
+
88
+ if (!globalConf && !projectConf) return null;
89
+
90
+ const base = globalConf ?? {};
91
+ const override = projectConf ?? {};
92
+ const config = mergeConfigs(base, override);
93
+
94
+ // Determine which scope is "effective"
95
+ const resolved = resolveConfigPath("auto", workspaceRoot);
96
+
97
+ return {
98
+ config,
99
+ scope: resolved.scope,
100
+ path: resolved.path,
101
+ };
102
+ }
103
+
104
+ /**
105
+ * Redact apiKey values from config for safe logging/display.
106
+ */
107
+ export function redactConfig(config: CbxConfig): CbxConfig {
108
+ const redacted = JSON.parse(JSON.stringify(config)) as CbxConfig;
109
+ if (redacted.postman && typeof redacted.postman === "object") {
110
+ const postman = redacted.postman as Record<string, unknown>;
111
+ if (typeof postman.apiKey === "string") {
112
+ postman.apiKey = "***REDACTED***";
113
+ }
114
+ if (Array.isArray(postman.profiles)) {
115
+ for (const rawProfile of postman.profiles) {
116
+ if (!rawProfile || typeof rawProfile !== "object") continue;
117
+ const profile = rawProfile as Record<string, unknown>;
118
+ if (typeof profile.apiKey === "string") {
119
+ profile.apiKey = "***REDACTED***";
120
+ }
121
+ }
122
+ }
123
+ }
124
+
125
+ if (redacted.stitch && typeof redacted.stitch === "object") {
126
+ const stitch = redacted.stitch as Record<string, unknown>;
127
+ if (typeof stitch.apiKey === "string") {
128
+ stitch.apiKey = "***REDACTED***";
129
+ }
130
+ if (Array.isArray(stitch.profiles)) {
131
+ for (const rawProfile of stitch.profiles) {
132
+ if (!rawProfile || typeof rawProfile !== "object") continue;
133
+ const profile = rawProfile as Record<string, unknown>;
134
+ if (typeof profile.apiKey === "string") {
135
+ profile.apiKey = "***REDACTED***";
136
+ }
137
+ }
138
+ } else if (stitch.profiles && typeof stitch.profiles === "object") {
139
+ for (const profile of Object.values(
140
+ stitch.profiles as Record<string, Record<string, unknown>>,
141
+ )) {
142
+ if (typeof profile.apiKey === "string") {
143
+ profile.apiKey = "***REDACTED***";
144
+ }
145
+ }
146
+ }
147
+ }
148
+ return redacted;
149
+ }
@@ -0,0 +1,147 @@
1
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
2
+ import { mkdtempSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import {
6
+ ensureConfigExists,
7
+ readEffectiveConfig,
8
+ redactConfig,
9
+ resolveConfigPath,
10
+ writeConfigField,
11
+ } from "./index.js";
12
+
13
+ let tempHomeDir = "";
14
+ let workspaceDir = "";
15
+ const originalHome = process.env.HOME;
16
+ const originalCwd = process.cwd();
17
+
18
+ function writeJson(filePath: string, value: unknown): void {
19
+ mkdirSync(path.dirname(filePath), { recursive: true });
20
+ writeFileSync(filePath, JSON.stringify(value, null, 2) + "\n", "utf8");
21
+ }
22
+
23
+ function readJson(filePath: string): Record<string, unknown> {
24
+ return JSON.parse(readFileSync(filePath, "utf8")) as Record<string, unknown>;
25
+ }
26
+
27
+ beforeEach(() => {
28
+ tempHomeDir = mkdtempSync(path.join(os.tmpdir(), "mcp-home-"));
29
+ workspaceDir = mkdtempSync(path.join(os.tmpdir(), "mcp-workspace-"));
30
+ process.env.HOME = tempHomeDir;
31
+ process.chdir(workspaceDir);
32
+ });
33
+
34
+ afterEach(() => {
35
+ process.chdir(originalCwd);
36
+ if (originalHome === undefined) {
37
+ delete process.env.HOME;
38
+ } else {
39
+ process.env.HOME = originalHome;
40
+ }
41
+ rmSync(tempHomeDir, { recursive: true, force: true });
42
+ rmSync(workspaceDir, { recursive: true, force: true });
43
+ });
44
+
45
+ describe("config path resolution", () => {
46
+ it("chooses global scope when no project config exists", () => {
47
+ const resolved = resolveConfigPath("auto", workspaceDir);
48
+ expect(resolved.scope).toBe("global");
49
+ expect(resolved.path).toBe(
50
+ path.join(tempHomeDir, ".cbx", "cbx_config.json"),
51
+ );
52
+ });
53
+
54
+ it("chooses project scope when project config exists", () => {
55
+ const projectPath = path.join(workspaceDir, "cbx_config.json");
56
+ writeJson(projectPath, { postman: { mcpUrl: "https://mcp.postman.com/code" } });
57
+
58
+ const resolved = resolveConfigPath("auto", workspaceDir);
59
+ expect(resolved.scope).toBe("project");
60
+ expect(resolved.path).toBe(projectPath);
61
+ });
62
+ });
63
+
64
+ describe("read/write behavior", () => {
65
+ it("writes nested fields to project config", () => {
66
+ const result = writeConfigField(
67
+ "postman.mcpUrl",
68
+ "https://mcp.postman.com/full",
69
+ "project",
70
+ workspaceDir,
71
+ );
72
+
73
+ expect(result.scope).toBe("project");
74
+ const written = readJson(result.writtenPath);
75
+ expect(written).toMatchObject({
76
+ postman: { mcpUrl: "https://mcp.postman.com/full" },
77
+ });
78
+ });
79
+
80
+ it("merges global and project config with project precedence", () => {
81
+ writeJson(path.join(tempHomeDir, ".cbx", "cbx_config.json"), {
82
+ postman: { mcpUrl: "https://mcp.postman.com/minimal" },
83
+ stitch: {
84
+ activeProfileName: "prod",
85
+ profiles: {
86
+ prod: { url: "https://prod.example.com", apiKey: "secret" },
87
+ },
88
+ },
89
+ });
90
+ writeJson(path.join(workspaceDir, "cbx_config.json"), {
91
+ postman: { defaultWorkspaceId: "ws_123" },
92
+ stitch: {
93
+ activeProfileName: "staging",
94
+ profiles: { staging: { url: "https://staging.example.com" } },
95
+ },
96
+ });
97
+
98
+ const effective = readEffectiveConfig("auto", workspaceDir);
99
+ expect(effective).not.toBeNull();
100
+ expect(effective?.scope).toBe("project");
101
+ expect(effective?.config).toMatchObject({
102
+ postman: {
103
+ mcpUrl: "https://mcp.postman.com/minimal",
104
+ defaultWorkspaceId: "ws_123",
105
+ },
106
+ stitch: {
107
+ activeProfileName: "staging",
108
+ profiles: {
109
+ prod: { url: "https://prod.example.com", apiKey: "secret" },
110
+ staging: { url: "https://staging.example.com" },
111
+ },
112
+ },
113
+ });
114
+ });
115
+
116
+ it("ensureConfigExists throws when target config is missing", () => {
117
+ expect(() => ensureConfigExists("project", workspaceDir)).toThrow(
118
+ "cbx_config.json not found",
119
+ );
120
+ });
121
+
122
+ it("ensureConfigExists passes when target config exists", () => {
123
+ writeJson(path.join(workspaceDir, "cbx_config.json"), { stitch: {} });
124
+ expect(() => ensureConfigExists("project", workspaceDir)).not.toThrow();
125
+ });
126
+
127
+ it("redacts stitch api keys for safe display", () => {
128
+ const redacted = redactConfig({
129
+ stitch: {
130
+ profiles: {
131
+ production: { url: "https://stitch.prod", apiKey: "top-secret" },
132
+ },
133
+ },
134
+ });
135
+
136
+ expect(redacted).toMatchObject({
137
+ stitch: {
138
+ profiles: {
139
+ production: {
140
+ url: "https://stitch.prod",
141
+ apiKey: "***REDACTED***",
142
+ },
143
+ },
144
+ },
145
+ });
146
+ });
147
+ });
@@ -0,0 +1,42 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { parsePostmanState, parseStitchState } from "./serviceConfig.js";
3
+
4
+ describe("service config normalization", () => {
5
+ it("normalizes postman profile arrays", () => {
6
+ const state = parsePostmanState({
7
+ postman: {
8
+ mcpUrl: "https://mcp.postman.com/code",
9
+ activeProfileName: "team-a",
10
+ profiles: [
11
+ {
12
+ name: "team-a",
13
+ apiKeyEnvVar: "POSTMAN_API_KEY_TEAM_A",
14
+ workspaceId: "ws_123",
15
+ },
16
+ ],
17
+ },
18
+ });
19
+
20
+ expect(state.mcpUrl).toBe("https://mcp.postman.com/code");
21
+ expect(state.activeProfileName).toBe("team-a");
22
+ expect(state.activeProfile?.apiKeyEnvVar).toBe("POSTMAN_API_KEY_TEAM_A");
23
+ });
24
+
25
+ it("normalizes legacy stitch profile maps", () => {
26
+ const state = parseStitchState({
27
+ stitch: {
28
+ activeProfileName: "prod",
29
+ profiles: {
30
+ prod: {
31
+ url: "https://stitch.googleapis.com/mcp",
32
+ apiKeyEnvVar: "STITCH_API_KEY_PROD",
33
+ },
34
+ },
35
+ },
36
+ });
37
+
38
+ expect(state.activeProfileName).toBe("prod");
39
+ expect(state.activeProfile?.url).toBe("https://stitch.googleapis.com/mcp");
40
+ expect(state.activeProfile?.apiKeyEnvVar).toBe("STITCH_API_KEY_PROD");
41
+ });
42
+ });
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Cubis Foundry MCP Server – credential service config normalization.
3
+ *
4
+ * Supports both legacy object-map and current profile-array shapes.
5
+ */
6
+
7
+ import type { CbxConfig } from "./types.js";
8
+
9
+ export interface CredentialProfileState {
10
+ name: string;
11
+ apiKeyEnvVar: string;
12
+ workspaceId?: string | null;
13
+ url?: string | null;
14
+ hasInlineApiKey: boolean;
15
+ }
16
+
17
+ export interface CredentialServiceState {
18
+ mcpUrl: string | null;
19
+ activeProfileName: string | null;
20
+ activeProfile: CredentialProfileState | null;
21
+ profiles: CredentialProfileState[];
22
+ useSystemGcloud?: boolean;
23
+ }
24
+
25
+ const DEFAULT_POSTMAN_URL = "https://mcp.postman.com/minimal";
26
+ const DEFAULT_STITCH_URL = "https://stitch.googleapis.com/mcp";
27
+ const DEFAULT_PROFILE_NAME = "default";
28
+ const DEFAULT_POSTMAN_ENV_VAR = "POSTMAN_API_KEY";
29
+ const DEFAULT_STITCH_ENV_VAR = "STITCH_API_KEY";
30
+
31
+ function asRecord(value: unknown): Record<string, unknown> | null {
32
+ if (!value || typeof value !== "object" || Array.isArray(value)) return null;
33
+ return value as Record<string, unknown>;
34
+ }
35
+
36
+ function normalizeName(value: unknown, fallback = DEFAULT_PROFILE_NAME): string {
37
+ const normalized = typeof value === "string" ? value.trim() : "";
38
+ return normalized || fallback;
39
+ }
40
+
41
+ function normalizeEnvVar(value: unknown, fallback: string): string {
42
+ const normalized = typeof value === "string" ? value.trim() : "";
43
+ return normalized || fallback;
44
+ }
45
+
46
+ function normalizeOptionalString(value: unknown): string | null {
47
+ if (value === null || value === undefined) return null;
48
+ const normalized = String(value).trim();
49
+ return normalized || null;
50
+ }
51
+
52
+ export function parsePostmanState(config: CbxConfig): CredentialServiceState {
53
+ const section = asRecord(config.postman) ?? {};
54
+ const mcpUrl = normalizeOptionalString(section.mcpUrl) ?? DEFAULT_POSTMAN_URL;
55
+ const fallbackEnvVar = normalizeEnvVar(
56
+ section.apiKeyEnvVar,
57
+ DEFAULT_POSTMAN_ENV_VAR,
58
+ );
59
+ const rawProfiles = Array.isArray(section.profiles) ? section.profiles : [];
60
+ const profiles: CredentialProfileState[] = [];
61
+
62
+ for (const rawProfile of rawProfiles) {
63
+ const profile = asRecord(rawProfile);
64
+ if (!profile) continue;
65
+ profiles.push({
66
+ name: normalizeName(profile.name, DEFAULT_PROFILE_NAME),
67
+ apiKeyEnvVar: normalizeEnvVar(profile.apiKeyEnvVar, fallbackEnvVar),
68
+ workspaceId: normalizeOptionalString(
69
+ profile.workspaceId ?? profile.defaultWorkspaceId,
70
+ ),
71
+ hasInlineApiKey:
72
+ typeof profile.apiKey === "string" && profile.apiKey.trim().length > 0,
73
+ });
74
+ }
75
+
76
+ if (profiles.length === 0) {
77
+ profiles.push({
78
+ name: DEFAULT_PROFILE_NAME,
79
+ apiKeyEnvVar: fallbackEnvVar,
80
+ workspaceId: normalizeOptionalString(section.defaultWorkspaceId),
81
+ hasInlineApiKey:
82
+ typeof section.apiKey === "string" && section.apiKey.trim().length > 0,
83
+ });
84
+ }
85
+
86
+ const requestedActive = normalizeOptionalString(section.activeProfileName);
87
+ const activeProfile =
88
+ profiles.find((profile) => profile.name === requestedActive) ?? profiles[0];
89
+
90
+ return {
91
+ mcpUrl,
92
+ activeProfileName: activeProfile?.name ?? null,
93
+ activeProfile: activeProfile ?? null,
94
+ profiles,
95
+ };
96
+ }
97
+
98
+ export function parseStitchState(config: CbxConfig): CredentialServiceState {
99
+ const section = asRecord(config.stitch) ?? {};
100
+ const mcpUrl = normalizeOptionalString(section.mcpUrl) ?? DEFAULT_STITCH_URL;
101
+ const fallbackEnvVar = normalizeEnvVar(
102
+ section.apiKeyEnvVar,
103
+ DEFAULT_STITCH_ENV_VAR,
104
+ );
105
+ const rawProfiles = section.profiles;
106
+ const profiles: CredentialProfileState[] = [];
107
+
108
+ if (Array.isArray(rawProfiles)) {
109
+ for (const rawProfile of rawProfiles) {
110
+ const profile = asRecord(rawProfile);
111
+ if (!profile) continue;
112
+ profiles.push({
113
+ name: normalizeName(profile.name, DEFAULT_PROFILE_NAME),
114
+ apiKeyEnvVar: normalizeEnvVar(profile.apiKeyEnvVar, fallbackEnvVar),
115
+ url: normalizeOptionalString(profile.url),
116
+ hasInlineApiKey:
117
+ typeof profile.apiKey === "string" && profile.apiKey.trim().length > 0,
118
+ });
119
+ }
120
+ } else if (asRecord(rawProfiles)) {
121
+ for (const [profileName, rawProfile] of Object.entries(
122
+ rawProfiles as Record<string, unknown>,
123
+ )) {
124
+ const profile = asRecord(rawProfile);
125
+ if (!profile) continue;
126
+ profiles.push({
127
+ name: normalizeName(profileName, DEFAULT_PROFILE_NAME),
128
+ apiKeyEnvVar: normalizeEnvVar(profile.apiKeyEnvVar, fallbackEnvVar),
129
+ url: normalizeOptionalString(profile.url),
130
+ hasInlineApiKey:
131
+ typeof profile.apiKey === "string" && profile.apiKey.trim().length > 0,
132
+ });
133
+ }
134
+ }
135
+
136
+ if (profiles.length === 0) {
137
+ profiles.push({
138
+ name: DEFAULT_PROFILE_NAME,
139
+ apiKeyEnvVar: fallbackEnvVar,
140
+ url: normalizeOptionalString(section.url) ?? mcpUrl,
141
+ hasInlineApiKey:
142
+ typeof section.apiKey === "string" && section.apiKey.trim().length > 0,
143
+ });
144
+ }
145
+
146
+ const requestedActive = normalizeOptionalString(section.activeProfileName);
147
+ const activeProfile =
148
+ profiles.find((profile) => profile.name === requestedActive) ?? profiles[0];
149
+
150
+ return {
151
+ mcpUrl,
152
+ activeProfileName: activeProfile?.name ?? null,
153
+ activeProfile: activeProfile ?? null,
154
+ profiles,
155
+ useSystemGcloud: Boolean(section.useSystemGcloud),
156
+ };
157
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Cubis Foundry MCP Server – cbxConfig types.
3
+ */
4
+
5
+ export type ConfigScope = "global" | "project";
6
+
7
+ export interface ServiceProfile {
8
+ name?: string;
9
+ mcpUrl?: string;
10
+ url?: string;
11
+ workspaceId?: string | null;
12
+ defaultWorkspaceId?: string | null;
13
+ apiKey?: string;
14
+ apiKeyEnvVar?: string;
15
+ tokenEnvVar?: string;
16
+ }
17
+
18
+ export interface PostmanConfig {
19
+ mcpUrl?: string;
20
+ defaultWorkspaceId?: string | null;
21
+ activeProfileName?: string;
22
+ apiKeyEnvVar?: string;
23
+ tokenEnvVar?: string;
24
+ profiles?: ServiceProfile[] | Record<string, ServiceProfile>;
25
+ }
26
+
27
+ export interface StitchConfig {
28
+ mcpUrl?: string;
29
+ activeProfileName?: string;
30
+ apiKeyEnvVar?: string;
31
+ profiles?: ServiceProfile[] | Record<string, ServiceProfile>;
32
+ }
33
+
34
+ export interface CbxConfig {
35
+ postman?: PostmanConfig;
36
+ stitch?: StitchConfig;
37
+ [key: string]: unknown;
38
+ }
39
+
40
+ export interface EffectiveConfig {
41
+ config: CbxConfig;
42
+ scope: ConfigScope;
43
+ path: string;
44
+ }