@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.
- package/README.md +2 -2
- package/catalog/TEMPLATE.md +69 -0
- package/catalog/frontmcp-config/SKILL.md +38 -22
- package/catalog/frontmcp-config/examples/configure-auth/multi-app-auth.md +87 -0
- package/catalog/frontmcp-config/examples/configure-auth/public-mode-setup.md +63 -0
- package/catalog/frontmcp-config/examples/configure-auth/remote-oauth-with-vault.md +76 -0
- package/catalog/frontmcp-config/examples/configure-auth-modes/local-self-signed-tokens.md +77 -0
- package/catalog/frontmcp-config/examples/configure-auth-modes/remote-enterprise-oauth.md +73 -0
- package/catalog/frontmcp-config/examples/configure-auth-modes/transparent-jwt-validation.md +64 -0
- package/catalog/frontmcp-config/examples/configure-elicitation/basic-confirmation-gate.md +83 -0
- package/catalog/frontmcp-config/examples/configure-elicitation/distributed-elicitation-redis.md +87 -0
- package/catalog/frontmcp-config/examples/configure-http/cors-restricted-origins.md +52 -0
- package/catalog/frontmcp-config/examples/configure-http/entry-path-reverse-proxy.md +72 -0
- package/catalog/frontmcp-config/examples/configure-http/unix-socket-local.md +64 -0
- package/catalog/frontmcp-config/examples/configure-session/multi-server-key-prefix.md +68 -0
- package/catalog/frontmcp-config/examples/configure-session/redis-session-store.md +52 -0
- package/catalog/frontmcp-config/examples/configure-session/vercel-kv-session.md +52 -0
- package/catalog/frontmcp-config/examples/configure-throttle/distributed-redis-throttle.md +94 -0
- package/catalog/frontmcp-config/examples/configure-throttle/per-tool-rate-limit.md +92 -0
- package/catalog/frontmcp-config/examples/configure-throttle/server-level-rate-limit.md +83 -0
- package/catalog/frontmcp-config/examples/configure-throttle-guard-config/full-guard-config.md +99 -0
- package/catalog/frontmcp-config/examples/configure-throttle-guard-config/minimal-guard-config.md +55 -0
- package/catalog/frontmcp-config/examples/configure-transport/custom-protocol-flags.md +74 -0
- package/catalog/frontmcp-config/examples/configure-transport/distributed-sessions-redis.md +86 -0
- package/catalog/frontmcp-config/examples/configure-transport/stateless-serverless.md +69 -0
- package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/legacy-preset-nodejs.md +65 -0
- package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/stateless-api-serverless.md +69 -0
- package/catalog/frontmcp-config/references/configure-auth-modes.md +15 -0
- package/catalog/frontmcp-config/references/configure-auth.md +15 -0
- package/catalog/frontmcp-config/references/configure-elicitation.md +14 -0
- package/catalog/frontmcp-config/references/configure-http.md +15 -0
- package/catalog/frontmcp-config/references/configure-session.md +15 -0
- package/catalog/frontmcp-config/references/configure-throttle-guard-config.md +14 -0
- package/catalog/frontmcp-config/references/configure-throttle.md +15 -0
- package/catalog/frontmcp-config/references/configure-transport-protocol-presets.md +14 -0
- package/catalog/frontmcp-config/references/configure-transport.md +15 -0
- package/catalog/frontmcp-config/references/setup-redis.md +10 -0
- package/catalog/frontmcp-config/references/setup-sqlite.md +10 -0
- package/catalog/frontmcp-deployment/SKILL.md +40 -12
- package/catalog/frontmcp-deployment/examples/build-for-browser/browser-build-with-custom-entry.md +43 -0
- package/catalog/frontmcp-deployment/examples/build-for-browser/browser-crypto-and-storage.md +85 -0
- package/catalog/frontmcp-deployment/examples/build-for-browser/react-provider-setup.md +61 -0
- package/catalog/frontmcp-deployment/examples/build-for-cli/cli-binary-build.md +66 -0
- package/catalog/frontmcp-deployment/examples/build-for-cli/unix-socket-daemon.md +76 -0
- package/catalog/frontmcp-deployment/examples/build-for-sdk/connect-openai.md +78 -0
- package/catalog/frontmcp-deployment/examples/build-for-sdk/create-flat-config.md +85 -0
- package/catalog/frontmcp-deployment/examples/build-for-sdk/multi-platform-connect.md +104 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/basic-worker-deploy.md +82 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-custom-domain.md +97 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-with-kv-storage.md +92 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-lambda/cdk-deployment.md +92 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-lambda/lambda-handler-with-cors.md +113 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-lambda/sam-template-basic.md +100 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node/docker-compose-with-redis.md +101 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node/pm2-with-nginx.md +79 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node/resource-limits.md +92 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node-dockerfile/basic-multistage-dockerfile.md +63 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node-dockerfile/secure-nonroot-dockerfile.md +89 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-mcp-endpoint-test.md +69 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-with-kv.md +82 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-with-skills-cache.md +90 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel-config/minimal-vercel-config.md +49 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel-config/vercel-config-with-security-headers.md +92 -0
- package/catalog/frontmcp-deployment/references/build-for-browser.md +15 -0
- package/catalog/frontmcp-deployment/references/build-for-cli.md +65 -3
- package/catalog/frontmcp-deployment/references/build-for-sdk.md +15 -0
- package/catalog/frontmcp-deployment/references/deploy-to-cloudflare.md +15 -0
- package/catalog/frontmcp-deployment/references/deploy-to-lambda.md +18 -3
- package/catalog/frontmcp-deployment/references/deploy-to-node-dockerfile.md +16 -2
- package/catalog/frontmcp-deployment/references/deploy-to-node.md +19 -4
- package/catalog/frontmcp-deployment/references/deploy-to-vercel-config.md +14 -0
- package/catalog/frontmcp-deployment/references/deploy-to-vercel.md +15 -0
- package/catalog/frontmcp-development/SKILL.md +25 -17
- package/catalog/frontmcp-development/examples/create-adapter/basic-api-adapter.md +92 -0
- package/catalog/frontmcp-development/examples/create-adapter/namespaced-adapter.md +124 -0
- package/catalog/frontmcp-development/examples/create-agent/basic-agent-with-tools.md +121 -0
- package/catalog/frontmcp-development/examples/create-agent/custom-multi-pass-agent.md +95 -0
- package/catalog/frontmcp-development/examples/create-agent/nested-agents-with-swarm.md +111 -0
- package/catalog/frontmcp-development/examples/create-agent-llm-config/anthropic-config.md +81 -0
- package/catalog/frontmcp-development/examples/create-agent-llm-config/openai-config.md +80 -0
- package/catalog/frontmcp-development/examples/create-job/basic-report-job.md +87 -0
- package/catalog/frontmcp-development/examples/create-job/job-with-permissions.md +117 -0
- package/catalog/frontmcp-development/examples/create-job/job-with-retry.md +88 -0
- package/catalog/frontmcp-development/examples/create-plugin/basic-plugin-with-provider.md +69 -0
- package/catalog/frontmcp-development/examples/create-plugin/configurable-dynamic-plugin.md +178 -0
- package/catalog/frontmcp-development/examples/create-plugin/plugin-with-context-extension.md +107 -0
- package/catalog/frontmcp-development/examples/create-plugin-hooks/basic-logging-plugin.md +69 -0
- package/catalog/frontmcp-development/examples/create-plugin-hooks/caching-with-around.md +80 -0
- package/catalog/frontmcp-development/examples/create-plugin-hooks/tool-level-hooks-and-stage-replacement.md +100 -0
- package/catalog/frontmcp-development/examples/create-prompt/basic-prompt.md +72 -0
- package/catalog/frontmcp-development/examples/create-prompt/dynamic-rag-prompt.md +92 -0
- package/catalog/frontmcp-development/examples/create-prompt/multi-turn-debug-session.md +86 -0
- package/catalog/frontmcp-development/examples/create-provider/basic-database-provider.md +113 -0
- package/catalog/frontmcp-development/examples/create-provider/config-and-api-providers.md +107 -0
- package/catalog/frontmcp-development/examples/create-resource/basic-static-resource.md +72 -0
- package/catalog/frontmcp-development/examples/create-resource/binary-and-multi-content.md +111 -0
- package/catalog/frontmcp-development/examples/create-resource/parameterized-template.md +84 -0
- package/catalog/frontmcp-development/examples/create-skill/basic-inline-skill.md +96 -0
- package/catalog/frontmcp-development/examples/create-skill/directory-based-skill.md +115 -0
- package/catalog/frontmcp-development/examples/create-skill/parameterized-skill.md +96 -0
- package/catalog/frontmcp-development/examples/create-skill-with-tools/basic-tool-orchestration.md +76 -0
- package/catalog/frontmcp-development/examples/create-skill-with-tools/directory-skill-with-tools.md +149 -0
- package/catalog/frontmcp-development/examples/create-skill-with-tools/incident-response-skill.md +92 -0
- package/catalog/frontmcp-development/examples/create-tool/basic-class-tool.md +62 -0
- package/catalog/frontmcp-development/examples/create-tool/tool-with-di-and-errors.md +84 -0
- package/catalog/frontmcp-development/examples/create-tool/tool-with-rate-limiting-and-progress.md +93 -0
- package/catalog/frontmcp-development/examples/create-tool-annotations/destructive-delete-tool.md +94 -0
- package/catalog/frontmcp-development/examples/create-tool-annotations/readonly-query-tool.md +60 -0
- package/catalog/frontmcp-development/examples/create-tool-output-schema-types/primitive-and-media-outputs.md +104 -0
- package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-raw-shape-output.md +63 -0
- package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-schema-advanced-output.md +103 -0
- package/catalog/frontmcp-development/examples/create-workflow/basic-deploy-pipeline.md +91 -0
- package/catalog/frontmcp-development/examples/create-workflow/parallel-validation-pipeline.md +90 -0
- package/catalog/frontmcp-development/examples/create-workflow/webhook-triggered-workflow.md +136 -0
- package/catalog/frontmcp-development/examples/decorators-guide/agent-skill-job-workflow.md +145 -0
- package/catalog/frontmcp-development/examples/decorators-guide/basic-server-with-app-and-tools.md +124 -0
- package/catalog/frontmcp-development/examples/decorators-guide/multi-app-with-plugins-and-providers.md +149 -0
- package/catalog/frontmcp-development/examples/official-adapters/authenticated-adapter-with-polling.md +84 -0
- package/catalog/frontmcp-development/examples/official-adapters/basic-openapi-adapter.md +54 -0
- package/catalog/frontmcp-development/examples/official-adapters/multi-api-hub-with-inline-spec.md +130 -0
- package/catalog/frontmcp-development/examples/official-plugins/cache-and-feature-flags.md +117 -0
- package/catalog/frontmcp-development/examples/official-plugins/production-multi-plugin-setup.md +147 -0
- package/catalog/frontmcp-development/examples/official-plugins/remember-plugin-session-memory.md +104 -0
- package/catalog/frontmcp-development/references/create-adapter.md +14 -0
- package/catalog/frontmcp-development/references/create-agent-llm-config.md +14 -0
- package/catalog/frontmcp-development/references/create-agent.md +15 -0
- package/catalog/frontmcp-development/references/create-job.md +15 -0
- package/catalog/frontmcp-development/references/create-plugin-hooks.md +51 -0
- package/catalog/frontmcp-development/references/create-plugin.md +186 -11
- package/catalog/frontmcp-development/references/create-prompt.md +17 -0
- package/catalog/frontmcp-development/references/create-provider.md +14 -0
- package/catalog/frontmcp-development/references/create-resource.md +127 -0
- package/catalog/frontmcp-development/references/create-skill-with-tools.md +126 -7
- package/catalog/frontmcp-development/references/create-skill.md +57 -12
- package/catalog/frontmcp-development/references/create-tool-annotations.md +14 -0
- package/catalog/frontmcp-development/references/create-tool-output-schema-types.md +15 -0
- package/catalog/frontmcp-development/references/create-tool.md +205 -1
- package/catalog/frontmcp-development/references/create-workflow.md +15 -0
- package/catalog/frontmcp-development/references/decorators-guide.md +155 -78
- package/catalog/frontmcp-development/references/official-adapters.md +31 -16
- package/catalog/frontmcp-development/references/official-plugins.md +62 -28
- package/catalog/frontmcp-extensibility/SKILL.md +103 -0
- package/catalog/frontmcp-extensibility/examples/vectoriadb/product-catalog-search.md +175 -0
- package/catalog/frontmcp-extensibility/examples/vectoriadb/semantic-search-with-persistence.md +138 -0
- package/catalog/frontmcp-extensibility/examples/vectoriadb/tfidf-keyword-search.md +103 -0
- package/catalog/frontmcp-extensibility/references/vectoriadb.md +299 -0
- package/catalog/frontmcp-guides/SKILL.md +7 -4
- package/catalog/frontmcp-guides/examples/example-knowledge-base/agent-and-plugin.md +160 -0
- package/catalog/frontmcp-guides/examples/example-knowledge-base/multi-app-composition.md +92 -0
- package/catalog/frontmcp-guides/examples/example-knowledge-base/vector-search-and-resources.md +135 -0
- package/catalog/frontmcp-guides/examples/example-task-manager/auth-and-crud-tools.md +135 -0
- package/catalog/frontmcp-guides/examples/example-task-manager/authenticated-e2e-tests.md +148 -0
- package/catalog/frontmcp-guides/examples/example-task-manager/redis-provider-with-di.md +129 -0
- package/catalog/frontmcp-guides/examples/example-weather-api/server-and-app-setup.md +75 -0
- package/catalog/frontmcp-guides/examples/example-weather-api/unit-and-e2e-tests.md +142 -0
- package/catalog/frontmcp-guides/examples/example-weather-api/weather-tool-with-schemas.md +74 -0
- package/catalog/frontmcp-guides/references/example-knowledge-base.md +15 -0
- package/catalog/frontmcp-guides/references/example-task-manager.md +30 -21
- package/catalog/frontmcp-guides/references/example-weather-api.md +18 -6
- package/catalog/frontmcp-observability/SKILL.md +144 -0
- package/catalog/frontmcp-observability/examples/structured-logging/stdout-logging.md +71 -0
- package/catalog/frontmcp-observability/examples/structured-logging/winston-integration.md +70 -0
- package/catalog/frontmcp-observability/examples/telemetry-api/agent-nested-tracing.md +86 -0
- package/catalog/frontmcp-observability/examples/telemetry-api/plugin-telemetry.md +93 -0
- package/catalog/frontmcp-observability/examples/telemetry-api/tool-custom-spans.md +72 -0
- package/catalog/frontmcp-observability/examples/testing-observability/test-custom-spans.md +90 -0
- package/catalog/frontmcp-observability/examples/testing-observability/test-log-correlation.md +104 -0
- package/catalog/frontmcp-observability/examples/tracing-setup/basic-tracing.md +82 -0
- package/catalog/frontmcp-observability/examples/tracing-setup/production-tracing.md +73 -0
- package/catalog/frontmcp-observability/examples/vendor-integrations/coralogix-setup.md +74 -0
- package/catalog/frontmcp-observability/references/structured-logging.md +114 -0
- package/catalog/frontmcp-observability/references/telemetry-api.md +155 -0
- package/catalog/frontmcp-observability/references/testing-observability.md +169 -0
- package/catalog/frontmcp-observability/references/tracing-setup.md +146 -0
- package/catalog/frontmcp-observability/references/vendor-integrations.md +164 -0
- package/catalog/frontmcp-production-readiness/SKILL.md +99 -0
- package/catalog/frontmcp-production-readiness/examples/common-checklist/caching-and-performance.md +102 -0
- package/catalog/frontmcp-production-readiness/examples/common-checklist/observability-setup.md +104 -0
- package/catalog/frontmcp-production-readiness/examples/common-checklist/security-hardening.md +95 -0
- package/catalog/frontmcp-production-readiness/examples/health-readiness-endpoints/basic-health-setup.md +81 -0
- package/catalog/frontmcp-production-readiness/examples/health-readiness-endpoints/custom-probes.md +136 -0
- package/catalog/frontmcp-production-readiness/examples/production-browser/browser-bundle-config.md +93 -0
- package/catalog/frontmcp-production-readiness/examples/production-browser/cross-platform-crypto.md +116 -0
- package/catalog/frontmcp-production-readiness/examples/production-browser/security-and-performance.md +128 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-binary/binary-build-config.md +109 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-binary/stdio-transport-error-handling.md +132 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/daemon-socket-config.md +82 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/graceful-shutdown-cleanup.md +107 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/security-and-permissions.md +119 -0
- package/catalog/frontmcp-production-readiness/examples/production-cloudflare/durable-objects-state.md +124 -0
- package/catalog/frontmcp-production-readiness/examples/production-cloudflare/workers-runtime-constraints.md +103 -0
- package/catalog/frontmcp-production-readiness/examples/production-cloudflare/wrangler-config.md +89 -0
- package/catalog/frontmcp-production-readiness/examples/production-lambda/cold-start-connection-reuse.md +122 -0
- package/catalog/frontmcp-production-readiness/examples/production-lambda/sam-template.md +107 -0
- package/catalog/frontmcp-production-readiness/examples/production-lambda/scaling-and-monitoring.md +138 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-sdk/basic-sdk-lifecycle.md +85 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-sdk/multi-instance-cleanup.md +110 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-sdk/package-json-config.md +107 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-server/docker-multi-stage.md +103 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-server/graceful-shutdown.md +87 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-server/redis-session-scaling.md +97 -0
- package/catalog/frontmcp-production-readiness/examples/production-vercel/cold-start-optimization.md +104 -0
- package/catalog/frontmcp-production-readiness/examples/production-vercel/stateless-serverless-design.md +91 -0
- package/catalog/frontmcp-production-readiness/examples/production-vercel/vercel-edge-config.md +78 -0
- package/catalog/frontmcp-production-readiness/references/common-checklist.md +175 -0
- package/catalog/frontmcp-production-readiness/references/health-readiness-endpoints.md +198 -0
- package/catalog/frontmcp-production-readiness/references/production-browser.md +56 -0
- package/catalog/frontmcp-production-readiness/references/production-cli-binary.md +71 -0
- package/catalog/frontmcp-production-readiness/references/production-cli-daemon.md +71 -0
- package/catalog/frontmcp-production-readiness/references/production-cloudflare.md +62 -0
- package/catalog/frontmcp-production-readiness/references/production-lambda.md +63 -0
- package/catalog/frontmcp-production-readiness/references/production-node-sdk.md +76 -0
- package/catalog/frontmcp-production-readiness/references/production-node-server.md +71 -0
- package/catalog/frontmcp-production-readiness/references/production-vercel.md +62 -0
- package/catalog/frontmcp-setup/SKILL.md +19 -14
- package/catalog/frontmcp-setup/examples/frontmcp-skills-usage/bundle-presets-scaffolding.md +61 -0
- package/catalog/frontmcp-setup/examples/frontmcp-skills-usage/install-and-search-skills.md +83 -0
- package/catalog/frontmcp-setup/examples/multi-app-composition/local-apps-with-shared-tools.md +87 -0
- package/catalog/frontmcp-setup/examples/multi-app-composition/per-app-auth-and-isolation.md +88 -0
- package/catalog/frontmcp-setup/examples/multi-app-composition/remote-and-esm-apps.md +81 -0
- package/catalog/frontmcp-setup/examples/nx-workflow/build-test-affected.md +77 -0
- package/catalog/frontmcp-setup/examples/nx-workflow/multi-server-deployment.md +93 -0
- package/catalog/frontmcp-setup/examples/nx-workflow/scaffold-and-generate.md +62 -0
- package/catalog/frontmcp-setup/examples/project-structure-nx/nx-generator-scaffolding.md +73 -0
- package/catalog/frontmcp-setup/examples/project-structure-nx/nx-workspace-with-apps.md +85 -0
- package/catalog/frontmcp-setup/examples/project-structure-nx/shared-library-usage.md +89 -0
- package/catalog/frontmcp-setup/examples/project-structure-standalone/dev-workflow-commands.md +64 -0
- package/catalog/frontmcp-setup/examples/project-structure-standalone/feature-folder-organization.md +111 -0
- package/catalog/frontmcp-setup/examples/project-structure-standalone/minimal-standalone-layout.md +73 -0
- package/catalog/frontmcp-setup/examples/readme-guide/node-server-readme.md +89 -0
- package/catalog/frontmcp-setup/examples/readme-guide/vercel-deployment-readme.md +90 -0
- package/catalog/frontmcp-setup/examples/setup-project/basic-node-server.md +99 -0
- package/catalog/frontmcp-setup/examples/setup-project/cli-scaffold-with-flags.md +77 -0
- package/catalog/frontmcp-setup/examples/setup-project/vercel-serverless-server.md +89 -0
- package/catalog/frontmcp-setup/examples/setup-redis/docker-redis-local-dev.md +88 -0
- package/catalog/frontmcp-setup/examples/setup-redis/hybrid-vercel-kv-with-pubsub.md +78 -0
- package/catalog/frontmcp-setup/examples/setup-redis/vercel-kv-serverless.md +78 -0
- package/catalog/frontmcp-setup/examples/setup-sqlite/basic-sqlite-setup.md +75 -0
- package/catalog/frontmcp-setup/examples/setup-sqlite/encrypted-sqlite-storage.md +55 -0
- package/catalog/frontmcp-setup/examples/setup-sqlite/unix-socket-daemon.md +70 -0
- package/catalog/frontmcp-setup/references/frontmcp-skills-usage.md +33 -9
- package/catalog/frontmcp-setup/references/multi-app-composition.md +15 -0
- package/catalog/frontmcp-setup/references/nx-workflow.md +15 -0
- package/catalog/frontmcp-setup/references/project-structure-nx.md +15 -0
- package/catalog/frontmcp-setup/references/project-structure-standalone.md +15 -0
- package/catalog/frontmcp-setup/references/readme-guide.md +235 -0
- package/catalog/frontmcp-setup/references/setup-project.md +16 -1
- package/catalog/frontmcp-setup/references/setup-redis.md +15 -0
- package/catalog/frontmcp-setup/references/setup-sqlite.md +15 -0
- package/catalog/frontmcp-testing/SKILL.md +41 -27
- package/catalog/frontmcp-testing/examples/setup-testing/fixture-based-e2e-test.md +70 -0
- package/catalog/frontmcp-testing/examples/setup-testing/jest-config-with-coverage.md +59 -0
- package/catalog/frontmcp-testing/examples/setup-testing/unit-test-tool-resource-prompt.md +115 -0
- package/catalog/frontmcp-testing/examples/test-auth/oauth-flow-test.md +78 -0
- package/catalog/frontmcp-testing/examples/test-auth/role-based-access-test.md +88 -0
- package/catalog/frontmcp-testing/examples/test-auth/token-factory-test.md +71 -0
- package/catalog/frontmcp-testing/examples/test-browser-build/browser-bundle-validation.md +58 -0
- package/catalog/frontmcp-testing/examples/test-browser-build/playwright-browser-test.md +69 -0
- package/catalog/frontmcp-testing/examples/test-cli-binary/binary-startup-test.md +77 -0
- package/catalog/frontmcp-testing/examples/test-cli-binary/js-bundle-import-test.md +56 -0
- package/catalog/frontmcp-testing/examples/test-direct-client/basic-create-test.md +74 -0
- package/catalog/frontmcp-testing/examples/test-direct-client/openai-claude-format-test.md +79 -0
- package/catalog/frontmcp-testing/examples/test-e2e-handler/basic-e2e-test.md +67 -0
- package/catalog/frontmcp-testing/examples/test-e2e-handler/manual-client-with-transport.md +72 -0
- package/catalog/frontmcp-testing/examples/test-e2e-handler/tool-call-and-error-e2e.md +73 -0
- package/catalog/frontmcp-testing/examples/test-tool-unit/basic-tool-test.md +69 -0
- package/catalog/frontmcp-testing/examples/test-tool-unit/schema-validation-test.md +82 -0
- package/catalog/frontmcp-testing/examples/test-tool-unit/tool-error-handling-test.md +92 -0
- package/catalog/frontmcp-testing/references/setup-testing.md +17 -0
- package/catalog/frontmcp-testing/references/test-auth.md +15 -0
- package/catalog/frontmcp-testing/references/test-browser-build.md +14 -0
- package/catalog/frontmcp-testing/references/test-cli-binary.md +14 -0
- package/catalog/frontmcp-testing/references/test-direct-client.md +14 -0
- package/catalog/frontmcp-testing/references/test-e2e-handler.md +15 -0
- package/catalog/frontmcp-testing/references/test-tool-unit.md +15 -0
- package/catalog/skills-manifest.json +2849 -32
- package/package.json +2 -2
- package/src/index.d.ts +1 -1
- package/src/index.js.map +1 -1
- package/src/loader.js +0 -1
- package/src/loader.js.map +1 -1
- package/src/manifest.d.ts +36 -1
- package/src/manifest.js +6 -1
- package/src/manifest.js.map +1 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: production-lambda
|
|
3
|
+
description: Checklist for deploying FrontMCP to AWS Lambda with SAM, API Gateway, and DynamoDB
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Production Readiness: AWS Lambda
|
|
7
|
+
|
|
8
|
+
Target-specific checklist for deploying FrontMCP to AWS Lambda.
|
|
9
|
+
|
|
10
|
+
> Run the `common-checklist` first, then use this checklist for Lambda-specific items.
|
|
11
|
+
|
|
12
|
+
## SAM / CloudFormation
|
|
13
|
+
|
|
14
|
+
- [ ] `ci/template.yaml` (SAM template) is configured correctly
|
|
15
|
+
- [ ] `frontmcp build --target lambda` produces the correct handler
|
|
16
|
+
- [ ] Environment variables are set in the SAM template or SSM Parameter Store
|
|
17
|
+
- [ ] API Gateway is configured with correct routes and CORS
|
|
18
|
+
- [ ] Lambda function memory and timeout are set appropriately
|
|
19
|
+
|
|
20
|
+
## Lambda Runtime
|
|
21
|
+
|
|
22
|
+
- [ ] Handler exports are correct for the Lambda runtime
|
|
23
|
+
- [ ] No long-lived connections assumed (Lambda freezes between invocations)
|
|
24
|
+
- [ ] No `node:fs` writes to `/tmp` that exceed 512MB
|
|
25
|
+
- [ ] Connection reuse pattern is used for external services
|
|
26
|
+
|
|
27
|
+
## Storage
|
|
28
|
+
|
|
29
|
+
- [ ] Session storage uses DynamoDB or ElastiCache (not in-memory)
|
|
30
|
+
- [ ] Cache uses DynamoDB or ElastiCache
|
|
31
|
+
- [ ] Secrets use AWS SSM Parameter Store or Secrets Manager
|
|
32
|
+
- [ ] S3 is used for blob/file storage if needed
|
|
33
|
+
|
|
34
|
+
## Cold Starts
|
|
35
|
+
|
|
36
|
+
- [ ] Bundle is tree-shaken to minimize size
|
|
37
|
+
- [ ] Provisioned concurrency is configured for latency-sensitive endpoints
|
|
38
|
+
- [ ] Lazy initialization pattern for database connections
|
|
39
|
+
- [ ] No heavy imports at module scope
|
|
40
|
+
|
|
41
|
+
## Scaling
|
|
42
|
+
|
|
43
|
+
- [ ] Concurrency limits are set to prevent downstream overload
|
|
44
|
+
- [ ] Reserved concurrency for critical functions
|
|
45
|
+
- [ ] Dead letter queue (DLQ) configured for failed invocations
|
|
46
|
+
- [ ] Connection pooling accounts for Lambda concurrency (use RDS Proxy if needed)
|
|
47
|
+
|
|
48
|
+
## CI/CD
|
|
49
|
+
|
|
50
|
+
- [ ] `sam build && sam deploy` works from CI
|
|
51
|
+
- [ ] Staging and production stages are separate
|
|
52
|
+
- [ ] API Gateway stages are configured correctly
|
|
53
|
+
- [ ] CloudWatch alarms are set for errors and throttling
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
|
|
57
|
+
| Example | Level | Description |
|
|
58
|
+
| --------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
59
|
+
| [`cold-start-connection-reuse`](../examples/production-lambda/cold-start-connection-reuse.md) | Intermediate | Shows how to minimize Lambda cold starts with lazy initialization, tree-shaking, and the connection reuse pattern for external services. |
|
|
60
|
+
| [`sam-template`](../examples/production-lambda/sam-template.md) | Basic | Shows a complete SAM/CloudFormation template for deploying a FrontMCP server to AWS Lambda with API Gateway routing, DynamoDB for session storage, and proper environment configuration. |
|
|
61
|
+
| [`scaling-and-monitoring`](../examples/production-lambda/scaling-and-monitoring.md) | Advanced | Shows how to configure concurrency limits, dead letter queues, provisioned concurrency, and CloudWatch alarms for a production Lambda deployment. |
|
|
62
|
+
|
|
63
|
+
> See all examples in [`examples/production-lambda/`](../examples/production-lambda/)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: production-node-sdk
|
|
3
|
+
description: Checklist for publishing FrontMCP as an embedded npm package used as a direct client SDK
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Production Readiness: Node.js Direct Client (SDK)
|
|
7
|
+
|
|
8
|
+
Checklist for publishing FrontMCP as an npm package used as a direct client SDK — embedded in someone else's Node.js application, not running as a standalone server.
|
|
9
|
+
|
|
10
|
+
> Run the `common-checklist` first, then use this checklist for SDK-specific items.
|
|
11
|
+
|
|
12
|
+
## API Surface
|
|
13
|
+
|
|
14
|
+
- [ ] `create()` function is exported and documented
|
|
15
|
+
- [ ] Server's `connect()` method returns a typed client with `listTools`, `callTool`, etc.
|
|
16
|
+
- [ ] Client provides `close()` method to terminate the connection
|
|
17
|
+
- [ ] Server `dispose()` and client `close()` must completely release all resources (connections, timers, listeners)
|
|
18
|
+
- [ ] TypeScript declarations (`.d.ts`) are included in the published package
|
|
19
|
+
- [ ] `package.json` has correct `main`, `module`, `types`, and `exports` fields (CJS + ESM entry points)
|
|
20
|
+
|
|
21
|
+
## Initialization & Lifecycle
|
|
22
|
+
|
|
23
|
+
- [ ] `create()` does not bind a port (SDK mode, not server mode)
|
|
24
|
+
- [ ] `serve: false` is set in the FrontMCP config (or uses direct API)
|
|
25
|
+
- [ ] Initialization is async and returns a promise
|
|
26
|
+
- [ ] No side effects at import time (no top-level `await`, no global state)
|
|
27
|
+
- [ ] Multiple instances can coexist without conflicts
|
|
28
|
+
|
|
29
|
+
## Memory & Cleanup
|
|
30
|
+
|
|
31
|
+
- [ ] `client.close()` and `server.dispose()` are called in the host app's shutdown handler
|
|
32
|
+
- [ ] No event listener leaks (all listeners are removed on dispose)
|
|
33
|
+
- [ ] No dangling timers or intervals after dispose
|
|
34
|
+
- [ ] Provider lifecycle `dispose()` is implemented for all resources
|
|
35
|
+
- [ ] Memory usage is bounded (no unbounded caches or queues)
|
|
36
|
+
|
|
37
|
+
## npm Publishing
|
|
38
|
+
|
|
39
|
+
- [ ] Package name is available on npm
|
|
40
|
+
- [ ] `package.json` has `name`, `version`, `description`, `keywords`, `license`
|
|
41
|
+
- [ ] `files` field includes only: `dist/`, `README.md`, `LICENSE`
|
|
42
|
+
- [ ] `peerDependencies` are declared for shared packages (e.g., `zod`)
|
|
43
|
+
- [ ] `engines.node` matches required Node.js version
|
|
44
|
+
- [ ] `README.md` has usage examples with `create()` and `connect()` API
|
|
45
|
+
|
|
46
|
+
## Testing
|
|
47
|
+
|
|
48
|
+
- [ ] Unit tests cover tool execution via direct client
|
|
49
|
+
- [ ] Integration tests verify `create()` → `connect()` → `callTool()` → `close()` → `dispose()`
|
|
50
|
+
- [ ] No tests depend on a running HTTP server
|
|
51
|
+
- [ ] Tests clean up (dispose) after each test case
|
|
52
|
+
|
|
53
|
+
## Example Usage in README
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
import { create } from 'my-mcp-package';
|
|
57
|
+
|
|
58
|
+
const server = await create();
|
|
59
|
+
const client = await server.connect();
|
|
60
|
+
|
|
61
|
+
const tools = await client.listTools();
|
|
62
|
+
const result = await client.callTool('my_tool', { input: 'value' });
|
|
63
|
+
|
|
64
|
+
await client.close();
|
|
65
|
+
await server.dispose();
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
|
|
70
|
+
| Example | Level | Description |
|
|
71
|
+
| ------------------------------------------------------------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
72
|
+
| [`basic-sdk-lifecycle`](../examples/production-node-sdk/basic-sdk-lifecycle.md) | Basic | Shows the complete lifecycle of a FrontMCP SDK package used as an embedded client: initialization, tool invocation, and proper cleanup. |
|
|
73
|
+
| [`multi-instance-cleanup`](../examples/production-node-sdk/multi-instance-cleanup.md) | Advanced | Shows how multiple SDK instances can coexist without conflicts, and how to implement proper cleanup to prevent memory leaks from event listeners, timers, and provider resources. |
|
|
74
|
+
| [`package-json-config`](../examples/production-node-sdk/package-json-config.md) | Intermediate | Shows the correct package.json configuration for publishing a FrontMCP SDK package with CJS + ESM entry points, peer dependencies, and proper file inclusions. |
|
|
75
|
+
|
|
76
|
+
> See all examples in [`examples/production-node-sdk/`](../examples/production-node-sdk/)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: production-node-server
|
|
3
|
+
description: Checklist for deploying FrontMCP as a long-running Node.js server with Docker
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Production Readiness: Node.js / Docker
|
|
7
|
+
|
|
8
|
+
Target-specific checklist for deploying FrontMCP as a long-running Node.js server (with or without Docker).
|
|
9
|
+
|
|
10
|
+
> Run the `common-checklist` first, then use this checklist for Node-specific items.
|
|
11
|
+
|
|
12
|
+
## Docker
|
|
13
|
+
|
|
14
|
+
- [ ] Dockerfile uses multi-stage build (separate build and runtime stages)
|
|
15
|
+
- [ ] Base image is minimal (`node:24-slim`, not full `node` image)
|
|
16
|
+
- [ ] Non-root user is configured: `USER node`
|
|
17
|
+
- [ ] `.dockerignore` excludes: `node_modules`, `.git`, `.env`, `dist`, `coverage`
|
|
18
|
+
- [ ] Container health check is defined: `HEALTHCHECK CMD curl -f http://localhost:3000/health`
|
|
19
|
+
- [ ] Resource limits (memory, CPU) are set in docker-compose or k8s deployment
|
|
20
|
+
- [ ] `NODE_ENV=production` is set in the container
|
|
21
|
+
|
|
22
|
+
## Process Management
|
|
23
|
+
|
|
24
|
+
- [ ] SIGTERM handler is configured for graceful shutdown
|
|
25
|
+
- [ ] In-flight requests complete before process exit
|
|
26
|
+
- [ ] Redis/database connections are closed on shutdown
|
|
27
|
+
- [ ] Health check returns unhealthy during shutdown drain period
|
|
28
|
+
- [ ] `/health` endpoint is implemented and monitored
|
|
29
|
+
- [ ] Health check verifies downstream dependencies (Redis, databases)
|
|
30
|
+
- [ ] Readiness probe is separate from liveness probe (if using K8s)
|
|
31
|
+
|
|
32
|
+
## Storage
|
|
33
|
+
|
|
34
|
+
- [ ] Redis is used for session storage (not in-memory)
|
|
35
|
+
- [ ] Redis connection pooling is configured
|
|
36
|
+
- [ ] Database connections use connection pools with limits
|
|
37
|
+
- [ ] Connection timeouts are set (don't hang indefinitely)
|
|
38
|
+
- [ ] Cache uses Redis (not in-memory) for multi-instance consistency
|
|
39
|
+
|
|
40
|
+
## Scaling
|
|
41
|
+
|
|
42
|
+
- [ ] Server is stateless (session state in Redis, not memory)
|
|
43
|
+
- [ ] Multiple instances can run behind a load balancer
|
|
44
|
+
- [ ] WebSocket/SSE connections use sticky sessions or Redis pub/sub
|
|
45
|
+
- [ ] Auto-scaling is configured based on CPU/memory/request metrics
|
|
46
|
+
|
|
47
|
+
## CI/CD
|
|
48
|
+
|
|
49
|
+
- [ ] Tests run on every PR (unit + E2E)
|
|
50
|
+
- [ ] `frontmcp build --target node` produces optimized output
|
|
51
|
+
- [ ] Docker image is built and pushed automatically
|
|
52
|
+
- [ ] Deployment is automated with rollback capability
|
|
53
|
+
- [ ] Database migrations run as a separate step
|
|
54
|
+
|
|
55
|
+
## Environment
|
|
56
|
+
|
|
57
|
+
- [ ] `NODE_ENV=production` is set
|
|
58
|
+
- [ ] All required env vars are documented in `.env.example`
|
|
59
|
+
- [ ] Env vars are validated at startup (fail fast on missing config)
|
|
60
|
+
- [ ] Port binding uses `process.env.PORT`
|
|
61
|
+
- [ ] No dev dependencies installed in production image
|
|
62
|
+
|
|
63
|
+
## Examples
|
|
64
|
+
|
|
65
|
+
| Example | Level | Description |
|
|
66
|
+
| -------------------------------------------------------------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
67
|
+
| [`docker-multi-stage`](../examples/production-node-server/docker-multi-stage.md) | Basic | Shows a production-ready Dockerfile with multi-stage build, non-root user, and container health check for a FrontMCP Node.js server. |
|
|
68
|
+
| [`graceful-shutdown`](../examples/production-node-server/graceful-shutdown.md) | Intermediate | Shows how to implement graceful shutdown with SIGTERM handling, in-flight request draining, and health check status transitions. |
|
|
69
|
+
| [`redis-session-scaling`](../examples/production-node-server/redis-session-scaling.md) | Advanced | Shows how to configure Redis-backed session storage, connection pooling, and stateless server design for horizontal scaling behind a load balancer. |
|
|
70
|
+
|
|
71
|
+
> See all examples in [`examples/production-node-server/`](../examples/production-node-server/)
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: production-vercel
|
|
3
|
+
description: Checklist for deploying FrontMCP to Vercel serverless or edge functions with Vercel KV
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Production Readiness: Vercel / Edge
|
|
7
|
+
|
|
8
|
+
Target-specific checklist for deploying FrontMCP to Vercel serverless or edge functions.
|
|
9
|
+
|
|
10
|
+
> Run the `common-checklist` first, then use this checklist for Vercel-specific items.
|
|
11
|
+
|
|
12
|
+
## Vercel Configuration
|
|
13
|
+
|
|
14
|
+
- [ ] `vercel.json` is configured with correct function routes
|
|
15
|
+
- [ ] `frontmcp build --target vercel` produces the correct output
|
|
16
|
+
- [ ] Environment variables are set in Vercel dashboard (not `.env`)
|
|
17
|
+
- [ ] `VERCEL_URL` or custom domain is configured for CORS origins
|
|
18
|
+
|
|
19
|
+
## Edge Runtime
|
|
20
|
+
|
|
21
|
+
- [ ] No Node.js-only APIs used (no `fs`, `child_process`, `net`)
|
|
22
|
+
- [ ] No `node:crypto` direct imports — use `@frontmcp/utils` (cross-platform)
|
|
23
|
+
- [ ] No large npm packages that exceed edge bundle size limits
|
|
24
|
+
- [ ] Streaming responses work correctly on the edge runtime
|
|
25
|
+
|
|
26
|
+
## Session & Storage
|
|
27
|
+
|
|
28
|
+
- [ ] Session storage uses Vercel KV (not in-memory or Redis)
|
|
29
|
+
- [ ] Cache uses Vercel KV or edge-compatible store
|
|
30
|
+
- [ ] No file system access (serverless is ephemeral)
|
|
31
|
+
- [ ] SQLite is NOT used (not available on serverless)
|
|
32
|
+
|
|
33
|
+
## Cold Starts
|
|
34
|
+
|
|
35
|
+
- [ ] Server startup time is minimal (< 1s target for cold starts)
|
|
36
|
+
- [ ] Lazy-load expensive dependencies
|
|
37
|
+
- [ ] No heavy initialization in module scope
|
|
38
|
+
- [ ] OpenAPI spec is cached (not fetched on every invocation)
|
|
39
|
+
|
|
40
|
+
## Scaling
|
|
41
|
+
|
|
42
|
+
- [ ] Stateless design (no in-memory state between invocations)
|
|
43
|
+
- [ ] Connection pooling accounts for serverless concurrency
|
|
44
|
+
- [ ] Function timeout is set appropriately in vercel.json
|
|
45
|
+
- [ ] Memory allocation matches workload
|
|
46
|
+
|
|
47
|
+
## CI/CD
|
|
48
|
+
|
|
49
|
+
- [ ] `vercel.json` routes are correct
|
|
50
|
+
- [ ] Environment variables are set in Vercel project settings
|
|
51
|
+
- [ ] Preview deployments test the full MCP flow
|
|
52
|
+
- [ ] Production deployment uses `npx vercel --prod`
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
| Example | Level | Description |
|
|
57
|
+
| --------------------------------------------------------------------------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
58
|
+
| [`cold-start-optimization`](../examples/production-vercel/cold-start-optimization.md) | Intermediate | Shows how to minimize cold start time by lazy-loading dependencies, avoiding heavy initialization at module scope, and caching expensive operations. |
|
|
59
|
+
| [`stateless-serverless-design`](../examples/production-vercel/stateless-serverless-design.md) | Advanced | Shows a fully stateless server design that works on Vercel edge runtime with no Node.js-only APIs, using `@frontmcp/utils` for cross-platform crypto. |
|
|
60
|
+
| [`vercel-edge-config`](../examples/production-vercel/vercel-edge-config.md) | Basic | Shows how to configure a FrontMCP server for Vercel deployment with Vercel KV for session storage and correct route configuration. |
|
|
61
|
+
|
|
62
|
+
> See all examples in [`examples/production-vercel/`](../examples/production-vercel/)
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontmcp-setup
|
|
3
|
-
description: "Domain router for project setup and
|
|
3
|
+
description: "Domain router for project setup, scaffolding, and organization. Use this skill whenever someone asks to create a new FrontMCP project, set up an Nx monorepo, configure Redis or SQLite storage, organize project structure, compose multiple apps into one server, or manage the skills system. Also triggers for questions like 'how do I start', 'project layout', 'folder structure', 'add redis', 'set up database', or 'create a new app'."
|
|
4
4
|
tags: [router, setup, scaffold, project, nx, redis, sqlite, structure, guide]
|
|
5
|
+
category: setup
|
|
6
|
+
targets: [all]
|
|
7
|
+
bundle: [recommended, minimal, full]
|
|
5
8
|
priority: 10
|
|
6
9
|
visibility: both
|
|
7
10
|
license: Apache-2.0
|
|
@@ -37,7 +40,7 @@ Entry point for project setup and scaffolding. This skill helps you find the rig
|
|
|
37
40
|
|
|
38
41
|
## Prerequisites
|
|
39
42
|
|
|
40
|
-
- Node.js
|
|
43
|
+
- Node.js 24+ and npm/yarn installed
|
|
41
44
|
- `frontmcp` CLI available globally (`npm install -g frontmcp`)
|
|
42
45
|
|
|
43
46
|
## Steps
|
|
@@ -49,16 +52,17 @@ Entry point for project setup and scaffolding. This skill helps you find the rig
|
|
|
49
52
|
|
|
50
53
|
## Scenario Routing Table
|
|
51
54
|
|
|
52
|
-
| Scenario | Reference | Description
|
|
53
|
-
| --------------------------------------------- | -------------------------------------------- |
|
|
54
|
-
| Scaffold a new project with `frontmcp create` | `references/setup-project.md` | CLI scaffolder
|
|
55
|
-
| Organize a standalone (non-Nx) project | `references/project-structure-standalone.md` | File layout, naming conventions (`<name>.<type>.ts`), folder hierarchy
|
|
56
|
-
| Organize an Nx monorepo | `references/project-structure-nx.md` | apps/, libs/, servers/ layout, generators, dependency rules
|
|
57
|
-
| Set up Redis for production storage | `references/setup-redis.md` | Docker Redis, Vercel KV, pub/sub for subscriptions
|
|
58
|
-
| Set up SQLite for local development | `references/setup-sqlite.md` | WAL mode, migration helpers, encryption
|
|
59
|
-
| Compose multiple apps into one server | `references/multi-app-composition.md` | `@FrontMcp` with multiple `@App` classes, cross-app providers
|
|
60
|
-
| Use Nx build, test, and CI commands | `references/nx-workflow.md` | `nx build`, `nx test`, `nx run-many`, caching, affected commands
|
|
61
|
-
| Browse, install, and manage skills | `references/frontmcp-skills-usage.md` | CLI commands, bundles, categories, search
|
|
55
|
+
| Scenario | Reference | Description |
|
|
56
|
+
| --------------------------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
57
|
+
| Scaffold a new project with `frontmcp create` | `references/setup-project.md` | CLI scaffolder (flags: `--target`, `--redis`, `--skills <bundle>`, `--cicd`, `--nx`, `--pm`) |
|
|
58
|
+
| Organize a standalone (non-Nx) project | `references/project-structure-standalone.md` | File layout, naming conventions (`<name>.<type>.ts`), folder hierarchy |
|
|
59
|
+
| Organize an Nx monorepo | `references/project-structure-nx.md` | apps/, libs/, servers/ layout, generators, dependency rules |
|
|
60
|
+
| Set up Redis for production storage | `references/setup-redis.md` | Docker Redis, Vercel KV, pub/sub for subscriptions |
|
|
61
|
+
| Set up SQLite for local development | `references/setup-sqlite.md` | WAL mode, migration helpers, encryption |
|
|
62
|
+
| Compose multiple apps into one server | `references/multi-app-composition.md` | `@FrontMcp` with multiple `@App` classes, cross-app providers |
|
|
63
|
+
| Use Nx build, test, and CI commands | `references/nx-workflow.md` | `nx build`, `nx test`, `nx run-many`, caching, affected commands |
|
|
64
|
+
| Browse, install, and manage skills | `references/frontmcp-skills-usage.md` | CLI commands, bundles, categories, search |
|
|
65
|
+
| Generate or update project README.md | `references/readme-guide.md` | Deployment-target-aware README for npm, CLI, Docker, serverless |
|
|
62
66
|
|
|
63
67
|
## Recommended Reading Order
|
|
64
68
|
|
|
@@ -68,6 +72,7 @@ Entry point for project setup and scaffolding. This skill helps you find the rig
|
|
|
68
72
|
4. **`references/multi-app-composition.md`** — Scale to multiple apps (when needed)
|
|
69
73
|
5. **`references/nx-workflow.md`** — Nx-specific build and CI commands (if using Nx)
|
|
70
74
|
6. **`references/frontmcp-skills-usage.md`** — Learn the skills system
|
|
75
|
+
7. **`references/readme-guide.md`** — Generate README for your deployment target
|
|
71
76
|
|
|
72
77
|
## Cross-Cutting Patterns
|
|
73
78
|
|
|
@@ -109,13 +114,13 @@ Entry point for project setup and scaffolding. This skill helps you find the rig
|
|
|
109
114
|
|
|
110
115
|
- [ ] `frontmcp dev` starts successfully with file watching
|
|
111
116
|
- [ ] `frontmcp build --target <target>` completes without errors
|
|
112
|
-
- [ ] Tests pass with `
|
|
117
|
+
- [ ] Tests pass with `frontmcp test` or `nx test`
|
|
113
118
|
|
|
114
119
|
## Troubleshooting
|
|
115
120
|
|
|
116
121
|
| Problem | Cause | Solution |
|
|
117
122
|
| ------------------------ | -------------------------------- | --------------------------------------------------------------------- |
|
|
118
|
-
| `frontmcp create` fails | Missing Node.js
|
|
123
|
+
| `frontmcp create` fails | Missing Node.js 24+ or npm/yarn | Install Node.js 24+ and ensure npm/yarn is available |
|
|
119
124
|
| Server fails to start | `main.ts` missing default export | Add `export default MyServerClass` to `main.ts` |
|
|
120
125
|
| Redis connection refused | Redis not running or wrong URL | Start Redis (`docker compose up redis`) or fix `REDIS_URL` env var |
|
|
121
126
|
| Nx generator not found | `@frontmcp/nx` not installed | Run `npm install -D @frontmcp/nx` |
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bundle-presets-scaffolding
|
|
3
|
+
reference: frontmcp-skills-usage
|
|
4
|
+
level: intermediate
|
|
5
|
+
description: 'Use `--skills` flag during project creation to install a skill bundle preset.'
|
|
6
|
+
tags: [setup, skills, usage, bundle, presets, scaffolding]
|
|
7
|
+
features:
|
|
8
|
+
- '`--skills` flag accepts `recommended`, `minimal`, `full`, or `none` presets'
|
|
9
|
+
- 'Static installs are snapshots; re-run `install` to update to the latest catalog version'
|
|
10
|
+
- 'Hybrid approach: install core skills statically, search the rest on demand'
|
|
11
|
+
- 'Fewer static installs reduce token usage in AI agent context'
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Bundle Presets During Scaffolding
|
|
15
|
+
|
|
16
|
+
Use `--skills` flag during project creation to install a skill bundle preset.
|
|
17
|
+
|
|
18
|
+
## Code
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Recommended bundle (core skills for the deployment target)
|
|
22
|
+
npx frontmcp create my-app --skills recommended --yes
|
|
23
|
+
|
|
24
|
+
# Minimal bundle (just project setup + create-tool)
|
|
25
|
+
npx frontmcp create my-app --skills minimal --yes
|
|
26
|
+
|
|
27
|
+
# Full bundle (all skills)
|
|
28
|
+
npx frontmcp create my-app --skills full --yes
|
|
29
|
+
|
|
30
|
+
# No skills
|
|
31
|
+
npx frontmcp create my-app --skills none --yes
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# After scaffolding, update installed skills to the latest version
|
|
36
|
+
frontmcp skills install frontmcp-development --provider claude
|
|
37
|
+
frontmcp skills install frontmcp-config --provider claude
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Recommended hybrid strategy:
|
|
42
|
+
# 1. Install 2-4 core skills statically for daily use
|
|
43
|
+
frontmcp skills install frontmcp-setup --provider claude
|
|
44
|
+
frontmcp skills install frontmcp-development --provider claude
|
|
45
|
+
|
|
46
|
+
# 2. Search everything else on demand (saves tokens)
|
|
47
|
+
frontmcp skills search "deploy to vercel"
|
|
48
|
+
frontmcp skills search "rate limiting"
|
|
49
|
+
frontmcp skills read frontmcp-deployment
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## What This Demonstrates
|
|
53
|
+
|
|
54
|
+
- `--skills` flag accepts `recommended`, `minimal`, `full`, or `none` presets
|
|
55
|
+
- Static installs are snapshots; re-run `install` to update to the latest catalog version
|
|
56
|
+
- Hybrid approach: install core skills statically, search the rest on demand
|
|
57
|
+
- Fewer static installs reduce token usage in AI agent context
|
|
58
|
+
|
|
59
|
+
## Related
|
|
60
|
+
|
|
61
|
+
- See `frontmcp-skills-usage` for the full skill catalog, provider directories, and CLI command reference
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: install-and-search-skills
|
|
3
|
+
reference: frontmcp-skills-usage
|
|
4
|
+
level: basic
|
|
5
|
+
description: 'Install skills statically for Claude Code and use dynamic CLI search for on-demand discovery.'
|
|
6
|
+
tags: [setup, cli, anthropic, skills, usage, install]
|
|
7
|
+
features:
|
|
8
|
+
- '`frontmcp skills list` and `search` for discovering available skills'
|
|
9
|
+
- '`frontmcp skills read` for viewing skill content and references on demand'
|
|
10
|
+
- '`frontmcp skills install --provider claude` for static installation to `.claude/skills/`'
|
|
11
|
+
- 'Installed skills are auto-loaded by Claude Code in its system prompt context'
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Install and Search Skills
|
|
15
|
+
|
|
16
|
+
Install skills statically for Claude Code and use dynamic CLI search for on-demand discovery.
|
|
17
|
+
|
|
18
|
+
## Code
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# List all available skills
|
|
22
|
+
frontmcp skills list
|
|
23
|
+
|
|
24
|
+
# List skills by category
|
|
25
|
+
frontmcp skills list --category development
|
|
26
|
+
frontmcp skills list --category deployment
|
|
27
|
+
frontmcp skills list --category config
|
|
28
|
+
|
|
29
|
+
# Search skills by keywords
|
|
30
|
+
frontmcp skills search "authentication oauth"
|
|
31
|
+
frontmcp skills search "deploy vercel"
|
|
32
|
+
frontmcp skills search "plugin hooks" --tag middleware --limit 5
|
|
33
|
+
|
|
34
|
+
# Read a skill's full content
|
|
35
|
+
frontmcp skills read frontmcp-development
|
|
36
|
+
|
|
37
|
+
# List references for a skill
|
|
38
|
+
frontmcp skills read frontmcp-development --refs
|
|
39
|
+
|
|
40
|
+
# Read a specific reference
|
|
41
|
+
frontmcp skills read frontmcp-development create-tool
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Install core skills for Claude Code
|
|
46
|
+
frontmcp skills install frontmcp-setup --provider claude
|
|
47
|
+
frontmcp skills install frontmcp-development --provider claude
|
|
48
|
+
frontmcp skills install frontmcp-config --provider claude
|
|
49
|
+
|
|
50
|
+
# Install for Codex
|
|
51
|
+
frontmcp skills install frontmcp-development --provider codex
|
|
52
|
+
|
|
53
|
+
# Install to a custom directory
|
|
54
|
+
frontmcp skills install frontmcp-guides --dir ./my-skills
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
After installation, the directory structure:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
my-project/
|
|
61
|
+
.claude/
|
|
62
|
+
skills/
|
|
63
|
+
frontmcp-setup/
|
|
64
|
+
SKILL.md
|
|
65
|
+
references/
|
|
66
|
+
frontmcp-development/
|
|
67
|
+
SKILL.md
|
|
68
|
+
references/
|
|
69
|
+
frontmcp-config/
|
|
70
|
+
SKILL.md
|
|
71
|
+
references/
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## What This Demonstrates
|
|
75
|
+
|
|
76
|
+
- `frontmcp skills list` and `search` for discovering available skills
|
|
77
|
+
- `frontmcp skills read` for viewing skill content and references on demand
|
|
78
|
+
- `frontmcp skills install --provider claude` for static installation to `.claude/skills/`
|
|
79
|
+
- Installed skills are auto-loaded by Claude Code in its system prompt context
|
|
80
|
+
|
|
81
|
+
## Related
|
|
82
|
+
|
|
83
|
+
- See `frontmcp-skills-usage` for static vs dynamic comparison, bundle presets, and token optimization
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: local-apps-with-shared-tools
|
|
3
|
+
reference: multi-app-composition
|
|
4
|
+
level: basic
|
|
5
|
+
description: 'Compose multiple local `@App` classes into a server with shared tools available to all apps.'
|
|
6
|
+
tags: [setup, multi-app, local, multi, app, composition]
|
|
7
|
+
features:
|
|
8
|
+
- 'Multiple `@App` classes with unique `id` fields for tool namespacing (`billing:charge`, `inventory:check_stock`)'
|
|
9
|
+
- 'Server-level `tools` array for shared tools available to all apps without namespace prefix'
|
|
10
|
+
- 'Each app is self-contained with its own tools array'
|
|
11
|
+
- 'The `id` field on `@App` controls the namespace prefix for tool names'
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Local Apps with Shared Tools
|
|
15
|
+
|
|
16
|
+
Compose multiple local `@App` classes into a server with shared tools available to all apps.
|
|
17
|
+
|
|
18
|
+
## Code
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
// src/apps/billing.app.ts
|
|
22
|
+
import { App } from '@frontmcp/sdk';
|
|
23
|
+
import { ChargeTool } from '../tools/charge.tool';
|
|
24
|
+
import { RefundTool } from '../tools/refund.tool';
|
|
25
|
+
|
|
26
|
+
@App({
|
|
27
|
+
id: 'billing',
|
|
28
|
+
name: 'Billing',
|
|
29
|
+
tools: [ChargeTool, RefundTool],
|
|
30
|
+
})
|
|
31
|
+
export class BillingApp {}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
// src/apps/inventory.app.ts
|
|
36
|
+
import { App } from '@frontmcp/sdk';
|
|
37
|
+
import { CheckStockTool } from '../tools/check-stock.tool';
|
|
38
|
+
|
|
39
|
+
@App({
|
|
40
|
+
id: 'inventory',
|
|
41
|
+
name: 'Inventory',
|
|
42
|
+
tools: [CheckStockTool],
|
|
43
|
+
})
|
|
44
|
+
export class InventoryApp {}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
// src/tools/health-check.tool.ts
|
|
49
|
+
import { Tool, ToolContext } from '@frontmcp/sdk';
|
|
50
|
+
|
|
51
|
+
@Tool({
|
|
52
|
+
name: 'health_check',
|
|
53
|
+
description: 'Check server health',
|
|
54
|
+
})
|
|
55
|
+
export default class HealthCheckTool extends ToolContext {
|
|
56
|
+
async execute() {
|
|
57
|
+
return { content: [{ type: 'text', text: 'OK' }] };
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
// src/main.ts
|
|
64
|
+
import 'reflect-metadata';
|
|
65
|
+
import { FrontMcp } from '@frontmcp/sdk';
|
|
66
|
+
import { BillingApp } from './apps/billing.app';
|
|
67
|
+
import { InventoryApp } from './apps/inventory.app';
|
|
68
|
+
import HealthCheckTool from './tools/health-check.tool';
|
|
69
|
+
|
|
70
|
+
@FrontMcp({
|
|
71
|
+
info: { name: 'gateway', version: '1.0.0' },
|
|
72
|
+
apps: [BillingApp, InventoryApp],
|
|
73
|
+
tools: [HealthCheckTool],
|
|
74
|
+
})
|
|
75
|
+
export default class Server {}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## What This Demonstrates
|
|
79
|
+
|
|
80
|
+
- Multiple `@App` classes with unique `id` fields for tool namespacing (`billing:charge`, `inventory:check_stock`)
|
|
81
|
+
- Server-level `tools` array for shared tools available to all apps without namespace prefix
|
|
82
|
+
- Each app is self-contained with its own tools array
|
|
83
|
+
- The `id` field on `@App` controls the namespace prefix for tool names
|
|
84
|
+
|
|
85
|
+
## Related
|
|
86
|
+
|
|
87
|
+
- See `multi-app-composition` for ESM apps, remote apps, scope isolation, and per-app auth
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: per-app-auth-and-isolation
|
|
3
|
+
reference: multi-app-composition
|
|
4
|
+
level: advanced
|
|
5
|
+
description: 'Configure mixed authentication modes and scope isolation for different apps in a single server.'
|
|
6
|
+
tags: [setup, oauth, auth, multi-app, remote, multi]
|
|
7
|
+
features:
|
|
8
|
+
- 'Per-app `auth` overrides the server-level auth (public vs remote OAuth per app)'
|
|
9
|
+
- '`standalone: true` fully isolates the Admin app (not visible in parent tool listing)'
|
|
10
|
+
- "`standalone: 'includeInParent'` gives Analytics its own scope but keeps tools visible"
|
|
11
|
+
- 'Per-app `plugins` (BillingAuditPlugin) are scoped to that app only'
|
|
12
|
+
- 'Server-level `plugins` (TracingPlugin, PiiRedactionPlugin) apply to all apps'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Per-App Auth and Scope Isolation
|
|
16
|
+
|
|
17
|
+
Configure mixed authentication modes and scope isolation for different apps in a single server.
|
|
18
|
+
|
|
19
|
+
## Code
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
// src/main.ts
|
|
23
|
+
import 'reflect-metadata';
|
|
24
|
+
import { FrontMcp, App } from '@frontmcp/sdk';
|
|
25
|
+
|
|
26
|
+
// Public app - no auth required
|
|
27
|
+
@App({
|
|
28
|
+
name: 'Public',
|
|
29
|
+
tools: [EchoTool, HealthTool],
|
|
30
|
+
auth: { mode: 'public' },
|
|
31
|
+
})
|
|
32
|
+
class PublicApp {}
|
|
33
|
+
|
|
34
|
+
// Protected app with OAuth
|
|
35
|
+
@App({
|
|
36
|
+
id: 'billing',
|
|
37
|
+
name: 'Billing',
|
|
38
|
+
tools: [ChargeTool, RefundTool],
|
|
39
|
+
plugins: [BillingAuditPlugin],
|
|
40
|
+
auth: {
|
|
41
|
+
mode: 'remote',
|
|
42
|
+
idpProviderUrl: 'https://auth.billing.com',
|
|
43
|
+
idpExpectedAudience: 'billing-api',
|
|
44
|
+
},
|
|
45
|
+
})
|
|
46
|
+
class BillingApp {}
|
|
47
|
+
|
|
48
|
+
// Fully isolated admin app (standalone: true)
|
|
49
|
+
@App({
|
|
50
|
+
name: 'Admin',
|
|
51
|
+
tools: [ResetTool, UserManagementTool],
|
|
52
|
+
standalone: true,
|
|
53
|
+
auth: {
|
|
54
|
+
mode: 'remote',
|
|
55
|
+
idpProviderUrl: 'https://auth.admin.com',
|
|
56
|
+
},
|
|
57
|
+
})
|
|
58
|
+
class AdminApp {}
|
|
59
|
+
|
|
60
|
+
// Isolated but visible in parent (standalone: 'includeInParent')
|
|
61
|
+
@App({
|
|
62
|
+
id: 'analytics',
|
|
63
|
+
name: 'Analytics',
|
|
64
|
+
tools: [QueryTool],
|
|
65
|
+
standalone: 'includeInParent',
|
|
66
|
+
})
|
|
67
|
+
class AnalyticsApp {}
|
|
68
|
+
|
|
69
|
+
@FrontMcp({
|
|
70
|
+
info: { name: 'gateway', version: '1.0.0' },
|
|
71
|
+
apps: [PublicApp, BillingApp, AdminApp, AnalyticsApp],
|
|
72
|
+
plugins: [TracingPlugin, PiiRedactionPlugin],
|
|
73
|
+
auth: { mode: 'public' },
|
|
74
|
+
})
|
|
75
|
+
export default class Server {}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## What This Demonstrates
|
|
79
|
+
|
|
80
|
+
- Per-app `auth` overrides the server-level auth (public vs remote OAuth per app)
|
|
81
|
+
- `standalone: true` fully isolates the Admin app (not visible in parent tool listing)
|
|
82
|
+
- `standalone: 'includeInParent'` gives Analytics its own scope but keeps tools visible
|
|
83
|
+
- Per-app `plugins` (BillingAuditPlugin) are scoped to that app only
|
|
84
|
+
- Server-level `plugins` (TracingPlugin, PiiRedactionPlugin) apply to all apps
|
|
85
|
+
|
|
86
|
+
## Related
|
|
87
|
+
|
|
88
|
+
- See `multi-app-composition` for ESM and remote app composition, namespacing, and shared tools
|