@frontmcp/skills 1.0.0-beta.9 → 1.0.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.
Files changed (284) hide show
  1. package/README.md +2 -2
  2. package/catalog/TEMPLATE.md +69 -0
  3. package/catalog/frontmcp-config/SKILL.md +38 -22
  4. package/catalog/frontmcp-config/examples/configure-auth/multi-app-auth.md +87 -0
  5. package/catalog/frontmcp-config/examples/configure-auth/public-mode-setup.md +63 -0
  6. package/catalog/frontmcp-config/examples/configure-auth/remote-oauth-with-vault.md +76 -0
  7. package/catalog/frontmcp-config/examples/configure-auth-modes/local-self-signed-tokens.md +77 -0
  8. package/catalog/frontmcp-config/examples/configure-auth-modes/remote-enterprise-oauth.md +73 -0
  9. package/catalog/frontmcp-config/examples/configure-auth-modes/transparent-jwt-validation.md +64 -0
  10. package/catalog/frontmcp-config/examples/configure-elicitation/basic-confirmation-gate.md +83 -0
  11. package/catalog/frontmcp-config/examples/configure-elicitation/distributed-elicitation-redis.md +87 -0
  12. package/catalog/frontmcp-config/examples/configure-http/cors-restricted-origins.md +52 -0
  13. package/catalog/frontmcp-config/examples/configure-http/entry-path-reverse-proxy.md +72 -0
  14. package/catalog/frontmcp-config/examples/configure-http/unix-socket-local.md +64 -0
  15. package/catalog/frontmcp-config/examples/configure-session/multi-server-key-prefix.md +68 -0
  16. package/catalog/frontmcp-config/examples/configure-session/redis-session-store.md +52 -0
  17. package/catalog/frontmcp-config/examples/configure-session/vercel-kv-session.md +52 -0
  18. package/catalog/frontmcp-config/examples/configure-throttle/distributed-redis-throttle.md +94 -0
  19. package/catalog/frontmcp-config/examples/configure-throttle/per-tool-rate-limit.md +92 -0
  20. package/catalog/frontmcp-config/examples/configure-throttle/server-level-rate-limit.md +83 -0
  21. package/catalog/frontmcp-config/examples/configure-throttle-guard-config/full-guard-config.md +99 -0
  22. package/catalog/frontmcp-config/examples/configure-throttle-guard-config/minimal-guard-config.md +55 -0
  23. package/catalog/frontmcp-config/examples/configure-transport/custom-protocol-flags.md +74 -0
  24. package/catalog/frontmcp-config/examples/configure-transport/distributed-sessions-redis.md +86 -0
  25. package/catalog/frontmcp-config/examples/configure-transport/stateless-serverless.md +69 -0
  26. package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/legacy-preset-nodejs.md +65 -0
  27. package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/stateless-api-serverless.md +69 -0
  28. package/catalog/frontmcp-config/references/configure-auth-modes.md +15 -0
  29. package/catalog/frontmcp-config/references/configure-auth.md +15 -0
  30. package/catalog/frontmcp-config/references/configure-elicitation.md +14 -0
  31. package/catalog/frontmcp-config/references/configure-http.md +15 -0
  32. package/catalog/frontmcp-config/references/configure-session.md +15 -0
  33. package/catalog/frontmcp-config/references/configure-throttle-guard-config.md +14 -0
  34. package/catalog/frontmcp-config/references/configure-throttle.md +15 -0
  35. package/catalog/frontmcp-config/references/configure-transport-protocol-presets.md +14 -0
  36. package/catalog/frontmcp-config/references/configure-transport.md +15 -0
  37. package/catalog/frontmcp-config/references/setup-redis.md +10 -0
  38. package/catalog/frontmcp-config/references/setup-sqlite.md +10 -0
  39. package/catalog/frontmcp-deployment/SKILL.md +40 -12
  40. package/catalog/frontmcp-deployment/examples/build-for-browser/browser-build-with-custom-entry.md +43 -0
  41. package/catalog/frontmcp-deployment/examples/build-for-browser/browser-crypto-and-storage.md +85 -0
  42. package/catalog/frontmcp-deployment/examples/build-for-browser/react-provider-setup.md +61 -0
  43. package/catalog/frontmcp-deployment/examples/build-for-cli/cli-binary-build.md +66 -0
  44. package/catalog/frontmcp-deployment/examples/build-for-cli/unix-socket-daemon.md +76 -0
  45. package/catalog/frontmcp-deployment/examples/build-for-sdk/connect-openai.md +78 -0
  46. package/catalog/frontmcp-deployment/examples/build-for-sdk/create-flat-config.md +85 -0
  47. package/catalog/frontmcp-deployment/examples/build-for-sdk/multi-platform-connect.md +104 -0
  48. package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/basic-worker-deploy.md +82 -0
  49. package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-custom-domain.md +97 -0
  50. package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-with-kv-storage.md +92 -0
  51. package/catalog/frontmcp-deployment/examples/deploy-to-lambda/cdk-deployment.md +92 -0
  52. package/catalog/frontmcp-deployment/examples/deploy-to-lambda/lambda-handler-with-cors.md +113 -0
  53. package/catalog/frontmcp-deployment/examples/deploy-to-lambda/sam-template-basic.md +100 -0
  54. package/catalog/frontmcp-deployment/examples/deploy-to-node/docker-compose-with-redis.md +101 -0
  55. package/catalog/frontmcp-deployment/examples/deploy-to-node/pm2-with-nginx.md +79 -0
  56. package/catalog/frontmcp-deployment/examples/deploy-to-node/resource-limits.md +92 -0
  57. package/catalog/frontmcp-deployment/examples/deploy-to-node-dockerfile/basic-multistage-dockerfile.md +63 -0
  58. package/catalog/frontmcp-deployment/examples/deploy-to-node-dockerfile/secure-nonroot-dockerfile.md +89 -0
  59. package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-mcp-endpoint-test.md +69 -0
  60. package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-with-kv.md +82 -0
  61. package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-with-skills-cache.md +90 -0
  62. package/catalog/frontmcp-deployment/examples/deploy-to-vercel-config/minimal-vercel-config.md +49 -0
  63. package/catalog/frontmcp-deployment/examples/deploy-to-vercel-config/vercel-config-with-security-headers.md +92 -0
  64. package/catalog/frontmcp-deployment/references/build-for-browser.md +15 -0
  65. package/catalog/frontmcp-deployment/references/build-for-cli.md +65 -3
  66. package/catalog/frontmcp-deployment/references/build-for-sdk.md +15 -0
  67. package/catalog/frontmcp-deployment/references/deploy-to-cloudflare.md +15 -0
  68. package/catalog/frontmcp-deployment/references/deploy-to-lambda.md +18 -3
  69. package/catalog/frontmcp-deployment/references/deploy-to-node-dockerfile.md +16 -2
  70. package/catalog/frontmcp-deployment/references/deploy-to-node.md +19 -4
  71. package/catalog/frontmcp-deployment/references/deploy-to-vercel-config.md +14 -0
  72. package/catalog/frontmcp-deployment/references/deploy-to-vercel.md +15 -0
  73. package/catalog/frontmcp-development/SKILL.md +25 -17
  74. package/catalog/frontmcp-development/examples/create-adapter/basic-api-adapter.md +92 -0
  75. package/catalog/frontmcp-development/examples/create-adapter/namespaced-adapter.md +124 -0
  76. package/catalog/frontmcp-development/examples/create-agent/basic-agent-with-tools.md +121 -0
  77. package/catalog/frontmcp-development/examples/create-agent/custom-multi-pass-agent.md +95 -0
  78. package/catalog/frontmcp-development/examples/create-agent/nested-agents-with-swarm.md +111 -0
  79. package/catalog/frontmcp-development/examples/create-agent-llm-config/anthropic-config.md +81 -0
  80. package/catalog/frontmcp-development/examples/create-agent-llm-config/openai-config.md +80 -0
  81. package/catalog/frontmcp-development/examples/create-job/basic-report-job.md +87 -0
  82. package/catalog/frontmcp-development/examples/create-job/job-with-permissions.md +117 -0
  83. package/catalog/frontmcp-development/examples/create-job/job-with-retry.md +88 -0
  84. package/catalog/frontmcp-development/examples/create-plugin/basic-plugin-with-provider.md +69 -0
  85. package/catalog/frontmcp-development/examples/create-plugin/configurable-dynamic-plugin.md +178 -0
  86. package/catalog/frontmcp-development/examples/create-plugin/plugin-with-context-extension.md +107 -0
  87. package/catalog/frontmcp-development/examples/create-plugin-hooks/basic-logging-plugin.md +69 -0
  88. package/catalog/frontmcp-development/examples/create-plugin-hooks/caching-with-around.md +80 -0
  89. package/catalog/frontmcp-development/examples/create-plugin-hooks/tool-level-hooks-and-stage-replacement.md +100 -0
  90. package/catalog/frontmcp-development/examples/create-prompt/basic-prompt.md +72 -0
  91. package/catalog/frontmcp-development/examples/create-prompt/dynamic-rag-prompt.md +92 -0
  92. package/catalog/frontmcp-development/examples/create-prompt/multi-turn-debug-session.md +86 -0
  93. package/catalog/frontmcp-development/examples/create-provider/basic-database-provider.md +113 -0
  94. package/catalog/frontmcp-development/examples/create-provider/config-and-api-providers.md +107 -0
  95. package/catalog/frontmcp-development/examples/create-resource/basic-static-resource.md +72 -0
  96. package/catalog/frontmcp-development/examples/create-resource/binary-and-multi-content.md +111 -0
  97. package/catalog/frontmcp-development/examples/create-resource/parameterized-template.md +84 -0
  98. package/catalog/frontmcp-development/examples/create-skill/basic-inline-skill.md +96 -0
  99. package/catalog/frontmcp-development/examples/create-skill/directory-based-skill.md +115 -0
  100. package/catalog/frontmcp-development/examples/create-skill/parameterized-skill.md +96 -0
  101. package/catalog/frontmcp-development/examples/create-skill-with-tools/basic-tool-orchestration.md +76 -0
  102. package/catalog/frontmcp-development/examples/create-skill-with-tools/directory-skill-with-tools.md +149 -0
  103. package/catalog/frontmcp-development/examples/create-skill-with-tools/incident-response-skill.md +92 -0
  104. package/catalog/frontmcp-development/examples/create-tool/basic-class-tool.md +62 -0
  105. package/catalog/frontmcp-development/examples/create-tool/tool-with-di-and-errors.md +84 -0
  106. package/catalog/frontmcp-development/examples/create-tool/tool-with-rate-limiting-and-progress.md +93 -0
  107. package/catalog/frontmcp-development/examples/create-tool-annotations/destructive-delete-tool.md +94 -0
  108. package/catalog/frontmcp-development/examples/create-tool-annotations/readonly-query-tool.md +60 -0
  109. package/catalog/frontmcp-development/examples/create-tool-output-schema-types/primitive-and-media-outputs.md +104 -0
  110. package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-raw-shape-output.md +63 -0
  111. package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-schema-advanced-output.md +103 -0
  112. package/catalog/frontmcp-development/examples/create-workflow/basic-deploy-pipeline.md +91 -0
  113. package/catalog/frontmcp-development/examples/create-workflow/parallel-validation-pipeline.md +90 -0
  114. package/catalog/frontmcp-development/examples/create-workflow/webhook-triggered-workflow.md +136 -0
  115. package/catalog/frontmcp-development/examples/decorators-guide/agent-skill-job-workflow.md +145 -0
  116. package/catalog/frontmcp-development/examples/decorators-guide/basic-server-with-app-and-tools.md +124 -0
  117. package/catalog/frontmcp-development/examples/decorators-guide/multi-app-with-plugins-and-providers.md +149 -0
  118. package/catalog/frontmcp-development/examples/official-adapters/authenticated-adapter-with-polling.md +84 -0
  119. package/catalog/frontmcp-development/examples/official-adapters/basic-openapi-adapter.md +54 -0
  120. package/catalog/frontmcp-development/examples/official-adapters/multi-api-hub-with-inline-spec.md +130 -0
  121. package/catalog/frontmcp-development/examples/official-plugins/cache-and-feature-flags.md +117 -0
  122. package/catalog/frontmcp-development/examples/official-plugins/production-multi-plugin-setup.md +147 -0
  123. package/catalog/frontmcp-development/examples/official-plugins/remember-plugin-session-memory.md +104 -0
  124. package/catalog/frontmcp-development/references/create-adapter.md +14 -0
  125. package/catalog/frontmcp-development/references/create-agent-llm-config.md +14 -0
  126. package/catalog/frontmcp-development/references/create-agent.md +15 -0
  127. package/catalog/frontmcp-development/references/create-job.md +15 -0
  128. package/catalog/frontmcp-development/references/create-plugin-hooks.md +51 -0
  129. package/catalog/frontmcp-development/references/create-plugin.md +186 -11
  130. package/catalog/frontmcp-development/references/create-prompt.md +17 -0
  131. package/catalog/frontmcp-development/references/create-provider.md +14 -0
  132. package/catalog/frontmcp-development/references/create-resource.md +127 -0
  133. package/catalog/frontmcp-development/references/create-skill-with-tools.md +126 -7
  134. package/catalog/frontmcp-development/references/create-skill.md +57 -12
  135. package/catalog/frontmcp-development/references/create-tool-annotations.md +14 -0
  136. package/catalog/frontmcp-development/references/create-tool-output-schema-types.md +15 -0
  137. package/catalog/frontmcp-development/references/create-tool.md +205 -1
  138. package/catalog/frontmcp-development/references/create-workflow.md +15 -0
  139. package/catalog/frontmcp-development/references/decorators-guide.md +155 -78
  140. package/catalog/frontmcp-development/references/official-adapters.md +31 -16
  141. package/catalog/frontmcp-development/references/official-plugins.md +62 -28
  142. package/catalog/frontmcp-extensibility/SKILL.md +103 -0
  143. package/catalog/frontmcp-extensibility/examples/vectoriadb/product-catalog-search.md +175 -0
  144. package/catalog/frontmcp-extensibility/examples/vectoriadb/semantic-search-with-persistence.md +138 -0
  145. package/catalog/frontmcp-extensibility/examples/vectoriadb/tfidf-keyword-search.md +103 -0
  146. package/catalog/frontmcp-extensibility/references/vectoriadb.md +299 -0
  147. package/catalog/frontmcp-guides/SKILL.md +7 -4
  148. package/catalog/frontmcp-guides/examples/example-knowledge-base/agent-and-plugin.md +160 -0
  149. package/catalog/frontmcp-guides/examples/example-knowledge-base/multi-app-composition.md +92 -0
  150. package/catalog/frontmcp-guides/examples/example-knowledge-base/vector-search-and-resources.md +135 -0
  151. package/catalog/frontmcp-guides/examples/example-task-manager/auth-and-crud-tools.md +135 -0
  152. package/catalog/frontmcp-guides/examples/example-task-manager/authenticated-e2e-tests.md +148 -0
  153. package/catalog/frontmcp-guides/examples/example-task-manager/redis-provider-with-di.md +129 -0
  154. package/catalog/frontmcp-guides/examples/example-weather-api/server-and-app-setup.md +75 -0
  155. package/catalog/frontmcp-guides/examples/example-weather-api/unit-and-e2e-tests.md +142 -0
  156. package/catalog/frontmcp-guides/examples/example-weather-api/weather-tool-with-schemas.md +74 -0
  157. package/catalog/frontmcp-guides/references/example-knowledge-base.md +15 -0
  158. package/catalog/frontmcp-guides/references/example-task-manager.md +30 -21
  159. package/catalog/frontmcp-guides/references/example-weather-api.md +18 -6
  160. package/catalog/frontmcp-observability/SKILL.md +144 -0
  161. package/catalog/frontmcp-observability/examples/structured-logging/stdout-logging.md +71 -0
  162. package/catalog/frontmcp-observability/examples/structured-logging/winston-integration.md +70 -0
  163. package/catalog/frontmcp-observability/examples/telemetry-api/agent-nested-tracing.md +86 -0
  164. package/catalog/frontmcp-observability/examples/telemetry-api/plugin-telemetry.md +93 -0
  165. package/catalog/frontmcp-observability/examples/telemetry-api/tool-custom-spans.md +72 -0
  166. package/catalog/frontmcp-observability/examples/testing-observability/test-custom-spans.md +90 -0
  167. package/catalog/frontmcp-observability/examples/testing-observability/test-log-correlation.md +104 -0
  168. package/catalog/frontmcp-observability/examples/tracing-setup/basic-tracing.md +82 -0
  169. package/catalog/frontmcp-observability/examples/tracing-setup/production-tracing.md +73 -0
  170. package/catalog/frontmcp-observability/examples/vendor-integrations/coralogix-setup.md +74 -0
  171. package/catalog/frontmcp-observability/references/structured-logging.md +114 -0
  172. package/catalog/frontmcp-observability/references/telemetry-api.md +155 -0
  173. package/catalog/frontmcp-observability/references/testing-observability.md +169 -0
  174. package/catalog/frontmcp-observability/references/tracing-setup.md +146 -0
  175. package/catalog/frontmcp-observability/references/vendor-integrations.md +164 -0
  176. package/catalog/frontmcp-production-readiness/SKILL.md +99 -0
  177. package/catalog/frontmcp-production-readiness/examples/common-checklist/caching-and-performance.md +102 -0
  178. package/catalog/frontmcp-production-readiness/examples/common-checklist/observability-setup.md +104 -0
  179. package/catalog/frontmcp-production-readiness/examples/common-checklist/security-hardening.md +95 -0
  180. package/catalog/frontmcp-production-readiness/examples/health-readiness-endpoints/basic-health-setup.md +81 -0
  181. package/catalog/frontmcp-production-readiness/examples/health-readiness-endpoints/custom-probes.md +136 -0
  182. package/catalog/frontmcp-production-readiness/examples/production-browser/browser-bundle-config.md +93 -0
  183. package/catalog/frontmcp-production-readiness/examples/production-browser/cross-platform-crypto.md +116 -0
  184. package/catalog/frontmcp-production-readiness/examples/production-browser/security-and-performance.md +128 -0
  185. package/catalog/frontmcp-production-readiness/examples/production-cli-binary/binary-build-config.md +109 -0
  186. package/catalog/frontmcp-production-readiness/examples/production-cli-binary/stdio-transport-error-handling.md +132 -0
  187. package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/daemon-socket-config.md +82 -0
  188. package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/graceful-shutdown-cleanup.md +107 -0
  189. package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/security-and-permissions.md +119 -0
  190. package/catalog/frontmcp-production-readiness/examples/production-cloudflare/durable-objects-state.md +124 -0
  191. package/catalog/frontmcp-production-readiness/examples/production-cloudflare/workers-runtime-constraints.md +103 -0
  192. package/catalog/frontmcp-production-readiness/examples/production-cloudflare/wrangler-config.md +89 -0
  193. package/catalog/frontmcp-production-readiness/examples/production-lambda/cold-start-connection-reuse.md +122 -0
  194. package/catalog/frontmcp-production-readiness/examples/production-lambda/sam-template.md +107 -0
  195. package/catalog/frontmcp-production-readiness/examples/production-lambda/scaling-and-monitoring.md +138 -0
  196. package/catalog/frontmcp-production-readiness/examples/production-node-sdk/basic-sdk-lifecycle.md +85 -0
  197. package/catalog/frontmcp-production-readiness/examples/production-node-sdk/multi-instance-cleanup.md +110 -0
  198. package/catalog/frontmcp-production-readiness/examples/production-node-sdk/package-json-config.md +107 -0
  199. package/catalog/frontmcp-production-readiness/examples/production-node-server/docker-multi-stage.md +103 -0
  200. package/catalog/frontmcp-production-readiness/examples/production-node-server/graceful-shutdown.md +87 -0
  201. package/catalog/frontmcp-production-readiness/examples/production-node-server/redis-session-scaling.md +97 -0
  202. package/catalog/frontmcp-production-readiness/examples/production-vercel/cold-start-optimization.md +104 -0
  203. package/catalog/frontmcp-production-readiness/examples/production-vercel/stateless-serverless-design.md +91 -0
  204. package/catalog/frontmcp-production-readiness/examples/production-vercel/vercel-edge-config.md +78 -0
  205. package/catalog/frontmcp-production-readiness/references/common-checklist.md +175 -0
  206. package/catalog/frontmcp-production-readiness/references/health-readiness-endpoints.md +198 -0
  207. package/catalog/frontmcp-production-readiness/references/production-browser.md +56 -0
  208. package/catalog/frontmcp-production-readiness/references/production-cli-binary.md +71 -0
  209. package/catalog/frontmcp-production-readiness/references/production-cli-daemon.md +71 -0
  210. package/catalog/frontmcp-production-readiness/references/production-cloudflare.md +62 -0
  211. package/catalog/frontmcp-production-readiness/references/production-lambda.md +63 -0
  212. package/catalog/frontmcp-production-readiness/references/production-node-sdk.md +76 -0
  213. package/catalog/frontmcp-production-readiness/references/production-node-server.md +71 -0
  214. package/catalog/frontmcp-production-readiness/references/production-vercel.md +62 -0
  215. package/catalog/frontmcp-setup/SKILL.md +19 -14
  216. package/catalog/frontmcp-setup/examples/frontmcp-skills-usage/bundle-presets-scaffolding.md +61 -0
  217. package/catalog/frontmcp-setup/examples/frontmcp-skills-usage/install-and-search-skills.md +83 -0
  218. package/catalog/frontmcp-setup/examples/multi-app-composition/local-apps-with-shared-tools.md +87 -0
  219. package/catalog/frontmcp-setup/examples/multi-app-composition/per-app-auth-and-isolation.md +88 -0
  220. package/catalog/frontmcp-setup/examples/multi-app-composition/remote-and-esm-apps.md +81 -0
  221. package/catalog/frontmcp-setup/examples/nx-workflow/build-test-affected.md +77 -0
  222. package/catalog/frontmcp-setup/examples/nx-workflow/multi-server-deployment.md +93 -0
  223. package/catalog/frontmcp-setup/examples/nx-workflow/scaffold-and-generate.md +62 -0
  224. package/catalog/frontmcp-setup/examples/project-structure-nx/nx-generator-scaffolding.md +73 -0
  225. package/catalog/frontmcp-setup/examples/project-structure-nx/nx-workspace-with-apps.md +85 -0
  226. package/catalog/frontmcp-setup/examples/project-structure-nx/shared-library-usage.md +89 -0
  227. package/catalog/frontmcp-setup/examples/project-structure-standalone/dev-workflow-commands.md +64 -0
  228. package/catalog/frontmcp-setup/examples/project-structure-standalone/feature-folder-organization.md +111 -0
  229. package/catalog/frontmcp-setup/examples/project-structure-standalone/minimal-standalone-layout.md +73 -0
  230. package/catalog/frontmcp-setup/examples/readme-guide/node-server-readme.md +89 -0
  231. package/catalog/frontmcp-setup/examples/readme-guide/vercel-deployment-readme.md +90 -0
  232. package/catalog/frontmcp-setup/examples/setup-project/basic-node-server.md +99 -0
  233. package/catalog/frontmcp-setup/examples/setup-project/cli-scaffold-with-flags.md +77 -0
  234. package/catalog/frontmcp-setup/examples/setup-project/vercel-serverless-server.md +89 -0
  235. package/catalog/frontmcp-setup/examples/setup-redis/docker-redis-local-dev.md +88 -0
  236. package/catalog/frontmcp-setup/examples/setup-redis/hybrid-vercel-kv-with-pubsub.md +78 -0
  237. package/catalog/frontmcp-setup/examples/setup-redis/vercel-kv-serverless.md +78 -0
  238. package/catalog/frontmcp-setup/examples/setup-sqlite/basic-sqlite-setup.md +75 -0
  239. package/catalog/frontmcp-setup/examples/setup-sqlite/encrypted-sqlite-storage.md +55 -0
  240. package/catalog/frontmcp-setup/examples/setup-sqlite/unix-socket-daemon.md +70 -0
  241. package/catalog/frontmcp-setup/references/frontmcp-skills-usage.md +33 -9
  242. package/catalog/frontmcp-setup/references/multi-app-composition.md +15 -0
  243. package/catalog/frontmcp-setup/references/nx-workflow.md +15 -0
  244. package/catalog/frontmcp-setup/references/project-structure-nx.md +15 -0
  245. package/catalog/frontmcp-setup/references/project-structure-standalone.md +15 -0
  246. package/catalog/frontmcp-setup/references/readme-guide.md +235 -0
  247. package/catalog/frontmcp-setup/references/setup-project.md +16 -1
  248. package/catalog/frontmcp-setup/references/setup-redis.md +15 -0
  249. package/catalog/frontmcp-setup/references/setup-sqlite.md +15 -0
  250. package/catalog/frontmcp-testing/SKILL.md +41 -27
  251. package/catalog/frontmcp-testing/examples/setup-testing/fixture-based-e2e-test.md +70 -0
  252. package/catalog/frontmcp-testing/examples/setup-testing/jest-config-with-coverage.md +59 -0
  253. package/catalog/frontmcp-testing/examples/setup-testing/unit-test-tool-resource-prompt.md +115 -0
  254. package/catalog/frontmcp-testing/examples/test-auth/oauth-flow-test.md +78 -0
  255. package/catalog/frontmcp-testing/examples/test-auth/role-based-access-test.md +88 -0
  256. package/catalog/frontmcp-testing/examples/test-auth/token-factory-test.md +71 -0
  257. package/catalog/frontmcp-testing/examples/test-browser-build/browser-bundle-validation.md +58 -0
  258. package/catalog/frontmcp-testing/examples/test-browser-build/playwright-browser-test.md +69 -0
  259. package/catalog/frontmcp-testing/examples/test-cli-binary/binary-startup-test.md +77 -0
  260. package/catalog/frontmcp-testing/examples/test-cli-binary/js-bundle-import-test.md +56 -0
  261. package/catalog/frontmcp-testing/examples/test-direct-client/basic-create-test.md +74 -0
  262. package/catalog/frontmcp-testing/examples/test-direct-client/openai-claude-format-test.md +79 -0
  263. package/catalog/frontmcp-testing/examples/test-e2e-handler/basic-e2e-test.md +67 -0
  264. package/catalog/frontmcp-testing/examples/test-e2e-handler/manual-client-with-transport.md +72 -0
  265. package/catalog/frontmcp-testing/examples/test-e2e-handler/tool-call-and-error-e2e.md +73 -0
  266. package/catalog/frontmcp-testing/examples/test-tool-unit/basic-tool-test.md +69 -0
  267. package/catalog/frontmcp-testing/examples/test-tool-unit/schema-validation-test.md +82 -0
  268. package/catalog/frontmcp-testing/examples/test-tool-unit/tool-error-handling-test.md +92 -0
  269. package/catalog/frontmcp-testing/references/setup-testing.md +17 -0
  270. package/catalog/frontmcp-testing/references/test-auth.md +15 -0
  271. package/catalog/frontmcp-testing/references/test-browser-build.md +14 -0
  272. package/catalog/frontmcp-testing/references/test-cli-binary.md +14 -0
  273. package/catalog/frontmcp-testing/references/test-direct-client.md +14 -0
  274. package/catalog/frontmcp-testing/references/test-e2e-handler.md +15 -0
  275. package/catalog/frontmcp-testing/references/test-tool-unit.md +15 -0
  276. package/catalog/skills-manifest.json +2849 -32
  277. package/package.json +2 -2
  278. package/src/index.d.ts +1 -1
  279. package/src/index.js.map +1 -1
  280. package/src/loader.js +0 -1
  281. package/src/loader.js.map +1 -1
  282. package/src/manifest.d.ts +36 -1
  283. package/src/manifest.js +6 -1
  284. package/src/manifest.js.map +1 -1
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: remote-and-esm-apps
3
+ reference: multi-app-composition
4
+ level: intermediate
5
+ description: 'Compose local, ESM (npm package), and remote (external MCP server) apps into a single gateway.'
6
+ tags: [setup, oauth, auth, transport, multi-app, remote]
7
+ features:
8
+ - '`app.esm()` loads an `@App` class from an npm package with namespace and auto-update'
9
+ - '`app.remote()` proxies tools from external MCP servers with configurable auth modes'
10
+ - "`remoteAuth` supports `'static'` (fixed credentials), `'forward'` (pass gateway user token), and `'oauth'`"
11
+ - '`namespace` prevents tool name collisions between apps (`crm:tool_name`, `slack:tool_name`)'
12
+ - '`transportOptions` configure timeout, retries, and SSE fallback for remote connections'
13
+ ---
14
+
15
+ # Remote and ESM App Composition
16
+
17
+ Compose local, ESM (npm package), and remote (external MCP server) apps into a single gateway.
18
+
19
+ ## Code
20
+
21
+ ```typescript
22
+ // src/main.ts
23
+ import 'reflect-metadata';
24
+ import { FrontMcp, App, app } from '@frontmcp/sdk';
25
+
26
+ @App({
27
+ id: 'local',
28
+ name: 'Local Tools',
29
+ tools: [EchoTool],
30
+ })
31
+ class LocalApp {}
32
+
33
+ @FrontMcp({
34
+ info: { name: 'gateway', version: '1.0.0' },
35
+ apps: [
36
+ // Local app
37
+ LocalApp,
38
+
39
+ // ESM app from npm package
40
+ app.esm('@acme/crm-tools@^2.0.0', {
41
+ namespace: 'crm',
42
+ autoUpdate: { enabled: true, intervalMs: 300_000 },
43
+ }),
44
+
45
+ // Remote MCP server with static auth
46
+ app.remote('https://slack-mcp.example.com/mcp', {
47
+ namespace: 'slack',
48
+ remoteAuth: {
49
+ mode: 'static',
50
+ credentials: { type: 'bearer', value: process.env['SLACK_TOKEN']! },
51
+ },
52
+ transportOptions: {
53
+ timeout: 30000,
54
+ retryAttempts: 3,
55
+ fallbackToSSE: true,
56
+ },
57
+ }),
58
+
59
+ // Remote MCP server with forwarded auth
60
+ app.remote('https://api.internal.com/mcp', {
61
+ namespace: 'api',
62
+ remoteAuth: {
63
+ mode: 'forward',
64
+ },
65
+ }),
66
+ ],
67
+ })
68
+ export default class Server {}
69
+ ```
70
+
71
+ ## What This Demonstrates
72
+
73
+ - `app.esm()` loads an `@App` class from an npm package with namespace and auto-update
74
+ - `app.remote()` proxies tools from external MCP servers with configurable auth modes
75
+ - `remoteAuth` supports `'static'` (fixed credentials), `'forward'` (pass gateway user token), and `'oauth'`
76
+ - `namespace` prevents tool name collisions between apps (`crm:tool_name`, `slack:tool_name`)
77
+ - `transportOptions` configure timeout, retries, and SSE fallback for remote connections
78
+
79
+ ## Related
80
+
81
+ - See `multi-app-composition` for scope isolation, per-app auth, and shared plugins
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: build-test-affected
3
+ reference: nx-workflow
4
+ level: intermediate
5
+ description: 'Use Nx commands for efficient building, testing, and CI with affected-only execution.'
6
+ tags: [setup, nx, workflow, affected]
7
+ features:
8
+ - '`nx build <server>` resolves the dependency graph and builds with caching'
9
+ - '`nx affected -t test` only runs tests for changed projects, saving CI time'
10
+ - '`nx run-many -t build,test,lint` parallelizes multiple targets across all projects'
11
+ - '`nx graph` visualizes project dependencies to detect circular imports'
12
+ ---
13
+
14
+ # Build, Test, and Affected Commands
15
+
16
+ Use Nx commands for efficient building, testing, and CI with affected-only execution.
17
+
18
+ ## Code
19
+
20
+ ```bash
21
+ # Build a single server (builds all dependencies in correct order)
22
+ nx build gateway
23
+
24
+ # Test a single app
25
+ nx test billing
26
+
27
+ # Run all tests across the workspace
28
+ nx run-many -t test
29
+
30
+ # Build all projects
31
+ nx run-many -t build
32
+
33
+ # Lint everything
34
+ nx run-many -t lint
35
+
36
+ # Run multiple targets at once
37
+ nx run-many -t build,test,lint
38
+ ```
39
+
40
+ ```bash
41
+ # CI optimization: only test projects affected by changes
42
+ nx affected -t test
43
+
44
+ # Only build affected projects
45
+ nx affected -t build
46
+
47
+ # Visualize the dependency graph
48
+ nx graph
49
+ ```
50
+
51
+ ```bash
52
+ # Typical feature development workflow
53
+ # 1. Generate a new tool
54
+ nx g @frontmcp/nx:tool calculate-tax --project=billing
55
+
56
+ # 2. Implement the tool logic in apps/billing/src/tools/calculate-tax.tool.ts
57
+
58
+ # 3. Run tests for the affected app
59
+ nx test billing
60
+
61
+ # 4. Build the server that includes this app
62
+ nx build gateway
63
+
64
+ # 5. Or test everything affected by your changes
65
+ nx affected -t test
66
+ ```
67
+
68
+ ## What This Demonstrates
69
+
70
+ - `nx build <server>` resolves the dependency graph and builds with caching
71
+ - `nx affected -t test` only runs tests for changed projects, saving CI time
72
+ - `nx run-many -t build,test,lint` parallelizes multiple targets across all projects
73
+ - `nx graph` visualizes project dependencies to detect circular imports
74
+
75
+ ## Related
76
+
77
+ - See `nx-workflow` for workspace initialization, all generator commands, and troubleshooting
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: multi-server-deployment
3
+ reference: nx-workflow
4
+ level: advanced
5
+ description: 'Generate multiple servers in an Nx workspace, each composing different apps for different deployment targets.'
6
+ tags: [setup, vercel, nx, node, workflow, multi]
7
+ features:
8
+ - 'Multiple servers composing different combinations of apps from the same workspace'
9
+ - 'Each server has its own deployment target (`node` vs `vercel`) and storage configuration'
10
+ - 'Apps are reusable across servers via Nx path aliases'
11
+ - '`nx build <server>` builds the server and all its app and lib dependencies'
12
+ ---
13
+
14
+ # Multi-Server Deployment Targets
15
+
16
+ Generate multiple servers in an Nx workspace, each composing different apps for different deployment targets.
17
+
18
+ ## Code
19
+
20
+ ```bash
21
+ # Generate apps
22
+ nx g @frontmcp/nx:app billing
23
+ nx g @frontmcp/nx:app crm
24
+ nx g @frontmcp/nx:app admin
25
+
26
+ # Generate a public gateway (Node.js) composing billing and crm
27
+ nx g @frontmcp/nx:server public-gateway --apps=billing,crm --deploymentTarget=node --redis=docker
28
+
29
+ # Generate an internal admin server (Vercel) with the admin app
30
+ nx g @frontmcp/nx:server admin-portal --apps=admin --deploymentTarget=vercel
31
+
32
+ # Generate a shared library for common providers
33
+ nx g @frontmcp/nx:lib shared-db
34
+ ```
35
+
36
+ ```typescript
37
+ // servers/public-gateway/src/main.ts
38
+ import 'reflect-metadata';
39
+ import { FrontMcp } from '@frontmcp/sdk';
40
+ import { BillingApp } from '@my-workspace/billing';
41
+ import { CrmApp } from '@my-workspace/crm';
42
+
43
+ @FrontMcp({
44
+ info: { name: 'public-gateway', version: '1.0.0' },
45
+ apps: [BillingApp, CrmApp],
46
+ http: { port: 3000 },
47
+ redis: {
48
+ provider: 'redis',
49
+ host: process.env['REDIS_HOST'] ?? 'localhost',
50
+ port: parseInt(process.env['REDIS_PORT'] ?? '6379', 10),
51
+ },
52
+ })
53
+ class PublicGateway {}
54
+
55
+ export default PublicGateway;
56
+ ```
57
+
58
+ ```typescript
59
+ // servers/admin-portal/src/main.ts
60
+ import 'reflect-metadata';
61
+ import { FrontMcp } from '@frontmcp/sdk';
62
+ import { AdminApp } from '@my-workspace/admin';
63
+
64
+ @FrontMcp({
65
+ info: { name: 'admin-portal', version: '1.0.0' },
66
+ apps: [AdminApp],
67
+ transport: { protocol: 'modern' },
68
+ redis: { provider: 'vercel-kv' },
69
+ })
70
+ class AdminPortal {}
71
+
72
+ export default AdminPortal;
73
+ ```
74
+
75
+ ```bash
76
+ # Build each server independently
77
+ nx build public-gateway
78
+ nx build admin-portal
79
+
80
+ # Test all projects
81
+ nx run-many -t test
82
+ ```
83
+
84
+ ## What This Demonstrates
85
+
86
+ - Multiple servers composing different combinations of apps from the same workspace
87
+ - Each server has its own deployment target (`node` vs `vercel`) and storage configuration
88
+ - Apps are reusable across servers via Nx path aliases
89
+ - `nx build <server>` builds the server and all its app and lib dependencies
90
+
91
+ ## Related
92
+
93
+ - See `nx-workflow` for the full generator reference and workspace setup options
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: scaffold-and-generate
3
+ reference: nx-workflow
4
+ level: basic
5
+ description: 'Initialize an Nx workspace and use generators to scaffold an app with tools, resources, and a server.'
6
+ tags: [setup, nx, workflow, scaffold, generate]
7
+ features:
8
+ - '`@frontmcp/nx:workspace` initializes the Nx monorepo structure with `apps/`, `libs/`, `servers/`'
9
+ - 'All primitive generators require `--project=<app-name>` to target the correct app'
10
+ - 'Each generator creates an implementation file, a `.spec.ts` test file, and updates barrel exports'
11
+ - '`@frontmcp/nx:server` with `--apps` and `--deploymentTarget` creates the deployment entry point'
12
+ ---
13
+
14
+ # Scaffold Workspace and Generate Primitives
15
+
16
+ Initialize an Nx workspace and use generators to scaffold an app with tools, resources, and a server.
17
+
18
+ ## Code
19
+
20
+ ```bash
21
+ # Option A: New workspace via FrontMCP CLI
22
+ npx frontmcp create my-project --nx
23
+
24
+ # Option B: Add FrontMCP to existing Nx workspace
25
+ yarn add -D @frontmcp/nx
26
+ nx g @frontmcp/nx:workspace my-workspace
27
+ ```
28
+
29
+ ```bash
30
+ # Generate an app
31
+ nx g @frontmcp/nx:app billing
32
+
33
+ # Generate primitives inside the app
34
+ nx g @frontmcp/nx:tool create-invoice --project=billing
35
+ nx g @frontmcp/nx:resource invoice --project=billing
36
+ nx g @frontmcp/nx:prompt billing-summary --project=billing
37
+ nx g @frontmcp/nx:provider stripe --project=billing
38
+ nx g @frontmcp/nx:plugin audit-log --project=billing
39
+
40
+ # Generate a shared library
41
+ nx g @frontmcp/nx:lib shared-utils
42
+
43
+ # Generate a server composing the app
44
+ nx g @frontmcp/nx:server gateway --apps=billing --deploymentTarget=node
45
+ ```
46
+
47
+ ```bash
48
+ # Verify the generated structure
49
+ nx test billing
50
+ nx build gateway
51
+ ```
52
+
53
+ ## What This Demonstrates
54
+
55
+ - `@frontmcp/nx:workspace` initializes the Nx monorepo structure with `apps/`, `libs/`, `servers/`
56
+ - All primitive generators require `--project=<app-name>` to target the correct app
57
+ - Each generator creates an implementation file, a `.spec.ts` test file, and updates barrel exports
58
+ - `@frontmcp/nx:server` with `--apps` and `--deploymentTarget` creates the deployment entry point
59
+
60
+ ## Related
61
+
62
+ - See `nx-workflow` for the complete generator reference table and CI workflow commands
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: nx-generator-scaffolding
3
+ reference: project-structure-nx
4
+ level: basic
5
+ description: 'Use `@frontmcp/nx` generators to scaffold tools, resources, and providers within an app, with automatic barrel export updates.'
6
+ tags: [setup, nx, structure, generator, scaffolding]
7
+ features:
8
+ - 'All primitive generators require `--project=<app-name>` to target the correct app'
9
+ - 'Each generator creates the implementation file and a `.spec.ts` test file'
10
+ - 'Barrel exports (`index.ts`) are updated automatically after each generator run'
11
+ - 'Files follow the `<name>.<type>.ts` naming convention'
12
+ ---
13
+
14
+ # Nx Generator Scaffolding
15
+
16
+ Use `@frontmcp/nx` generators to scaffold tools, resources, and providers within an app, with automatic barrel export updates.
17
+
18
+ ## Code
19
+
20
+ ```bash
21
+ # Generate a tool in the billing app
22
+ nx g @frontmcp/nx:tool create-invoice --project=billing
23
+
24
+ # Generate a resource in the billing app
25
+ nx g @frontmcp/nx:resource invoice --project=billing
26
+
27
+ # Generate a provider in the billing app
28
+ nx g @frontmcp/nx:provider stripe --project=billing
29
+
30
+ # Generate a prompt in the crm app
31
+ nx g @frontmcp/nx:prompt summarize --project=crm
32
+
33
+ # Generate a plugin in the crm app
34
+ nx g @frontmcp/nx:plugin logging --project=crm
35
+ ```
36
+
37
+ After generation, the app directory looks like:
38
+
39
+ ```text
40
+ apps/billing/
41
+ src/
42
+ tools/
43
+ create-invoice.tool.ts
44
+ create-invoice.tool.spec.ts
45
+ resources/
46
+ invoice.resource.ts
47
+ invoice.resource.spec.ts
48
+ providers/
49
+ stripe.provider.ts
50
+ stripe.provider.spec.ts
51
+ billing.app.ts
52
+ index.ts # barrel exports updated automatically
53
+ project.json
54
+ tsconfig.json
55
+ jest.config.ts
56
+ ```
57
+
58
+ ```bash
59
+ # Build and test the app
60
+ nx test billing
61
+ nx build gateway
62
+ ```
63
+
64
+ ## What This Demonstrates
65
+
66
+ - All primitive generators require `--project=<app-name>` to target the correct app
67
+ - Each generator creates the implementation file and a `.spec.ts` test file
68
+ - Barrel exports (`index.ts`) are updated automatically after each generator run
69
+ - Files follow the `<name>.<type>.ts` naming convention
70
+
71
+ ## Related
72
+
73
+ - See `project-structure-nx` for the complete generator reference and workspace structure
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: nx-workspace-with-apps
3
+ reference: project-structure-nx
4
+ level: basic
5
+ description: 'Scaffold an Nx monorepo with two apps and a server that composes them into a single gateway.'
6
+ tags: [setup, nx, structure, workspace, apps]
7
+ features:
8
+ - '`apps/` directory holding self-contained `@App` classes with their tools and resources'
9
+ - '`servers/` directory holding `@FrontMcp` entry points that compose apps'
10
+ - 'Nx path aliases (`@my-workspace/billing`) for clean imports across the monorepo'
11
+ - 'Apps are independently testable and do not import from each other'
12
+ ---
13
+
14
+ # Nx Workspace with Multiple Apps
15
+
16
+ Scaffold an Nx monorepo with two apps and a server that composes them into a single gateway.
17
+
18
+ ## Code
19
+
20
+ ```bash
21
+ # Scaffold the Nx workspace
22
+ npx frontmcp create my-workspace --nx
23
+
24
+ cd my-workspace
25
+
26
+ # Generate two apps
27
+ nx g @frontmcp/nx:app billing
28
+ nx g @frontmcp/nx:app crm
29
+
30
+ # Generate a server composing both apps
31
+ nx g @frontmcp/nx:server gateway --apps=billing,crm
32
+ ```
33
+
34
+ ```typescript
35
+ // apps/billing/src/billing.app.ts
36
+ import { App } from '@frontmcp/sdk';
37
+ import { CreateInvoiceTool } from './tools/create-invoice.tool';
38
+ import { InvoiceResource } from './resources/invoice.resource';
39
+
40
+ @App({
41
+ name: 'billing',
42
+ tools: [CreateInvoiceTool],
43
+ resources: [InvoiceResource],
44
+ })
45
+ export class BillingApp {}
46
+ ```
47
+
48
+ ```typescript
49
+ // apps/crm/src/crm.app.ts
50
+ import { App } from '@frontmcp/sdk';
51
+ import { LookupUserTool } from './tools/lookup-user.tool';
52
+
53
+ @App({
54
+ name: 'crm',
55
+ tools: [LookupUserTool],
56
+ })
57
+ export class CrmApp {}
58
+ ```
59
+
60
+ ```typescript
61
+ // servers/gateway/src/main.ts
62
+ import 'reflect-metadata';
63
+ import { FrontMcp } from '@frontmcp/sdk';
64
+ import { BillingApp } from '@my-workspace/billing';
65
+ import { CrmApp } from '@my-workspace/crm';
66
+
67
+ @FrontMcp({
68
+ info: { name: 'gateway', version: '1.0.0' },
69
+ apps: [BillingApp, CrmApp],
70
+ })
71
+ class GatewayServer {}
72
+
73
+ export default GatewayServer;
74
+ ```
75
+
76
+ ## What This Demonstrates
77
+
78
+ - `apps/` directory holding self-contained `@App` classes with their tools and resources
79
+ - `servers/` directory holding `@FrontMcp` entry points that compose apps
80
+ - Nx path aliases (`@my-workspace/billing`) for clean imports across the monorepo
81
+ - Apps are independently testable and do not import from each other
82
+
83
+ ## Related
84
+
85
+ - See `project-structure-nx` for the full directory layout, dependency rules, and generator reference
@@ -0,0 +1,89 @@
1
+ ---
2
+ name: shared-library-usage
3
+ reference: project-structure-nx
4
+ level: intermediate
5
+ description: 'Create a shared library in an Nx monorepo and use it from multiple apps to avoid cross-app imports.'
6
+ tags: [setup, nx, database, structure, shared, library]
7
+ features:
8
+ - 'Shared libraries live in `libs/` with barrel `index.ts` exports'
9
+ - 'Both apps import `DatabaseProvider` from the shared library, not from each other'
10
+ - 'Nx dependency graph: `servers/ --> apps/ --> libs/` (apps never import other apps)'
11
+ - 'Path aliases configured in `tsconfig.base.json` keep imports clean (`@my-workspace/shared-utils`)'
12
+ ---
13
+
14
+ # Shared Library Between Apps
15
+
16
+ Create a shared library in an Nx monorepo and use it from multiple apps to avoid cross-app imports.
17
+
18
+ ## Code
19
+
20
+ ```bash
21
+ # Generate a shared library
22
+ nx g @frontmcp/nx:lib shared-utils
23
+ ```
24
+
25
+ ```typescript
26
+ // libs/shared-utils/src/index.ts
27
+ export { formatCurrency } from './format-currency';
28
+ export { DatabaseProvider } from './database.provider';
29
+ export type { AppConfig } from './app-config.interface';
30
+ ```
31
+
32
+ ```typescript
33
+ // libs/shared-utils/src/database.provider.ts
34
+ import { Provider } from '@frontmcp/sdk';
35
+
36
+ @Provider({ name: 'database' })
37
+ export class DatabaseProvider {
38
+ async query(sql: string): Promise<unknown[]> {
39
+ // shared database access logic
40
+ return [];
41
+ }
42
+ }
43
+ ```
44
+
45
+ ```typescript
46
+ // libs/shared-utils/src/format-currency.ts
47
+ export function formatCurrency(amount: number, currency: string): string {
48
+ return `${currency} ${amount.toFixed(2)}`;
49
+ }
50
+ ```
51
+
52
+ ```typescript
53
+ // apps/billing/src/billing.app.ts
54
+ import { App } from '@frontmcp/sdk';
55
+ import { DatabaseProvider } from '@my-workspace/shared-utils';
56
+ import { CreateInvoiceTool } from './tools/create-invoice.tool';
57
+
58
+ @App({
59
+ name: 'billing',
60
+ tools: [CreateInvoiceTool],
61
+ providers: [DatabaseProvider],
62
+ })
63
+ export class BillingApp {}
64
+ ```
65
+
66
+ ```typescript
67
+ // apps/crm/src/crm.app.ts
68
+ import { App } from '@frontmcp/sdk';
69
+ import { DatabaseProvider } from '@my-workspace/shared-utils';
70
+ import { LookupUserTool } from './tools/lookup-user.tool';
71
+
72
+ @App({
73
+ name: 'crm',
74
+ tools: [LookupUserTool],
75
+ providers: [DatabaseProvider],
76
+ })
77
+ export class CrmApp {}
78
+ ```
79
+
80
+ ## What This Demonstrates
81
+
82
+ - Shared libraries live in `libs/` with barrel `index.ts` exports
83
+ - Both apps import `DatabaseProvider` from the shared library, not from each other
84
+ - Nx dependency graph: `servers/ --> apps/ --> libs/` (apps never import other apps)
85
+ - Path aliases configured in `tsconfig.base.json` keep imports clean (`@my-workspace/shared-utils`)
86
+
87
+ ## Related
88
+
89
+ - See `project-structure-nx` for the full dependency hierarchy and Nx generator commands
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: dev-workflow-commands
3
+ reference: project-structure-standalone
4
+ level: basic
5
+ description: 'Run the standard development workflow for a standalone FrontMCP project: dev server, build, and tests.'
6
+ tags: [setup, e2e, structure, standalone, dev, workflow]
7
+ features:
8
+ - '`frontmcp dev` for hot-reloading development server'
9
+ - '`frontmcp build --target <target>` for production builds targeting different runtimes'
10
+ - 'Test files use `.spec.ts` extension (not `.test.ts`) per FrontMCP convention'
11
+ - 'E2E tests live in the `e2e/` directory with `*.e2e.spec.ts` naming'
12
+ ---
13
+
14
+ # Development Workflow Commands
15
+
16
+ Run the standard development workflow for a standalone FrontMCP project: dev server, build, and tests.
17
+
18
+ ## Code
19
+
20
+ ```bash
21
+ # Start the development server with hot reload
22
+ frontmcp dev
23
+ ```
24
+
25
+ ```bash
26
+ # Build for different deployment targets
27
+ frontmcp build --target node
28
+ frontmcp build --target vercel
29
+ frontmcp build --target lambda
30
+ frontmcp build --target cloudflare
31
+ ```
32
+
33
+ ```bash
34
+ # Run unit tests (test files use .spec.ts extension)
35
+ jest
36
+ ```
37
+
38
+ ```bash
39
+ # Run E2E tests from the e2e/ directory
40
+ jest --config e2e/jest.config.ts
41
+ ```
42
+
43
+ ```bash
44
+ # Start the dev server with HTTP transport on a specific port
45
+ PORT=3000 frontmcp dev
46
+ ```
47
+
48
+ ```bash
49
+ # Test the running server with an MCP initialize request
50
+ curl -X POST http://localhost:3000/mcp \
51
+ -H "Content-Type: application/json" \
52
+ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}'
53
+ ```
54
+
55
+ ## What This Demonstrates
56
+
57
+ - `frontmcp dev` for hot-reloading development server
58
+ - `frontmcp build --target <target>` for production builds targeting different runtimes
59
+ - Test files use `.spec.ts` extension (not `.test.ts`) per FrontMCP convention
60
+ - E2E tests live in the `e2e/` directory with `*.e2e.spec.ts` naming
61
+
62
+ ## Related
63
+
64
+ - See `project-structure-standalone` for the full project layout and file naming conventions