@frontmcp/skills 0.0.1 → 1.0.0-beta.10

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 (88) hide show
  1. package/README.md +2 -2
  2. package/catalog/TEMPLATE.md +58 -13
  3. package/catalog/frontmcp-config/SKILL.md +143 -0
  4. package/catalog/frontmcp-config/references/configure-auth.md +238 -0
  5. package/catalog/frontmcp-config/references/configure-elicitation.md +178 -0
  6. package/catalog/frontmcp-config/references/configure-http.md +205 -0
  7. package/catalog/frontmcp-config/references/configure-session.md +205 -0
  8. package/catalog/frontmcp-config/references/configure-throttle.md +229 -0
  9. package/catalog/frontmcp-config/references/configure-transport.md +195 -0
  10. package/catalog/frontmcp-config/references/setup-redis.md +4 -0
  11. package/catalog/frontmcp-config/references/setup-sqlite.md +4 -0
  12. package/catalog/frontmcp-deployment/SKILL.md +127 -0
  13. package/catalog/frontmcp-deployment/references/build-for-browser.md +138 -0
  14. package/catalog/frontmcp-deployment/references/build-for-cli.md +138 -0
  15. package/catalog/{deployment/build-for-sdk/SKILL.md → frontmcp-deployment/references/build-for-sdk.md} +65 -24
  16. package/catalog/frontmcp-deployment/references/deploy-to-cloudflare.md +213 -0
  17. package/catalog/{deployment/deploy-to-lambda/SKILL.md → frontmcp-deployment/references/deploy-to-lambda.md} +76 -63
  18. package/catalog/{deployment/deploy-to-node/references/Dockerfile.example → frontmcp-deployment/references/deploy-to-node-dockerfile.md} +13 -4
  19. package/catalog/{deployment/deploy-to-node/SKILL.md → frontmcp-deployment/references/deploy-to-node.md} +68 -40
  20. package/catalog/frontmcp-deployment/references/deploy-to-vercel-config.md +60 -0
  21. package/catalog/frontmcp-deployment/references/deploy-to-vercel.md +224 -0
  22. package/catalog/frontmcp-development/SKILL.md +121 -0
  23. package/catalog/frontmcp-development/references/create-adapter.md +165 -0
  24. package/catalog/{development/create-agent/references/llm-config.md → frontmcp-development/references/create-agent-llm-config.md} +5 -5
  25. package/catalog/{development/create-agent/SKILL.md → frontmcp-development/references/create-agent.md} +82 -44
  26. package/catalog/{development/create-job/SKILL.md → frontmcp-development/references/create-job.md} +61 -19
  27. package/catalog/{plugins/create-plugin-hooks/SKILL.md → frontmcp-development/references/create-plugin-hooks.md} +63 -11
  28. package/catalog/{plugins/create-plugin/SKILL.md → frontmcp-development/references/create-plugin.md} +65 -60
  29. package/catalog/{development/create-prompt/SKILL.md → frontmcp-development/references/create-prompt.md} +62 -26
  30. package/catalog/{development/create-provider/SKILL.md → frontmcp-development/references/create-provider.md} +62 -27
  31. package/catalog/{development/create-resource/SKILL.md → frontmcp-development/references/create-resource.md} +62 -30
  32. package/catalog/{development/create-skill-with-tools/SKILL.md → frontmcp-development/references/create-skill-with-tools.md} +69 -24
  33. package/catalog/{development/create-skill/SKILL.md → frontmcp-development/references/create-skill.md} +96 -22
  34. package/catalog/{development/create-tool/SKILL.md → frontmcp-development/references/create-tool.md} +62 -26
  35. package/catalog/{development/create-workflow/SKILL.md → frontmcp-development/references/create-workflow.md} +60 -18
  36. package/catalog/{development/decorators-guide/SKILL.md → frontmcp-development/references/decorators-guide.md} +123 -34
  37. package/catalog/frontmcp-development/references/official-adapters.md +194 -0
  38. package/catalog/{plugins/official-plugins/SKILL.md → frontmcp-development/references/official-plugins.md} +96 -31
  39. package/catalog/frontmcp-guides/SKILL.md +420 -0
  40. package/catalog/frontmcp-guides/references/example-knowledge-base.md +636 -0
  41. package/catalog/frontmcp-guides/references/example-task-manager.md +512 -0
  42. package/catalog/frontmcp-guides/references/example-weather-api.md +292 -0
  43. package/catalog/frontmcp-production-readiness/SKILL.md +253 -0
  44. package/catalog/frontmcp-setup/SKILL.md +130 -0
  45. package/catalog/frontmcp-setup/references/frontmcp-skills-usage.md +265 -0
  46. package/catalog/{setup/multi-app-composition/SKILL.md → frontmcp-setup/references/multi-app-composition.md} +65 -23
  47. package/catalog/{setup/nx-workflow/SKILL.md → frontmcp-setup/references/nx-workflow.md} +78 -21
  48. package/catalog/frontmcp-setup/references/project-structure-nx.md +246 -0
  49. package/catalog/frontmcp-setup/references/project-structure-standalone.md +212 -0
  50. package/catalog/{setup/setup-project/SKILL.md → frontmcp-setup/references/setup-project.md} +62 -62
  51. package/catalog/{setup/setup-redis/SKILL.md → frontmcp-setup/references/setup-redis.md} +59 -86
  52. package/catalog/{setup/setup-sqlite/SKILL.md → frontmcp-setup/references/setup-sqlite.md} +64 -76
  53. package/catalog/frontmcp-testing/SKILL.md +127 -0
  54. package/catalog/{testing/setup-testing/SKILL.md → frontmcp-testing/references/setup-testing.md} +78 -67
  55. package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-tool-unit.md +1 -0
  56. package/catalog/skills-manifest.json +39 -378
  57. package/package.json +2 -2
  58. package/src/loader.js +0 -1
  59. package/src/loader.js.map +1 -1
  60. package/src/manifest.d.ts +3 -3
  61. package/src/manifest.js +2 -3
  62. package/src/manifest.js.map +1 -1
  63. package/catalog/adapters/create-adapter/SKILL.md +0 -127
  64. package/catalog/adapters/official-adapters/SKILL.md +0 -136
  65. package/catalog/auth/configure-auth/SKILL.md +0 -250
  66. package/catalog/auth/configure-session/SKILL.md +0 -201
  67. package/catalog/config/configure-elicitation/SKILL.md +0 -136
  68. package/catalog/config/configure-http/SKILL.md +0 -167
  69. package/catalog/config/configure-throttle/SKILL.md +0 -189
  70. package/catalog/config/configure-transport/SKILL.md +0 -151
  71. package/catalog/deployment/build-for-browser/SKILL.md +0 -95
  72. package/catalog/deployment/build-for-cli/SKILL.md +0 -100
  73. package/catalog/deployment/deploy-to-cloudflare/SKILL.md +0 -192
  74. package/catalog/deployment/deploy-to-vercel/SKILL.md +0 -196
  75. package/catalog/deployment/deploy-to-vercel/references/vercel.json.example +0 -60
  76. package/catalog/setup/frontmcp-skills-usage/SKILL.md +0 -200
  77. package/catalog/setup/project-structure-nx/SKILL.md +0 -186
  78. package/catalog/setup/project-structure-standalone/SKILL.md +0 -153
  79. /package/catalog/{auth/configure-auth/references/auth-modes.md → frontmcp-config/references/configure-auth-modes.md} +0 -0
  80. /package/catalog/{config/configure-throttle/references/guard-config.md → frontmcp-config/references/configure-throttle-guard-config.md} +0 -0
  81. /package/catalog/{config/configure-transport/references/protocol-presets.md → frontmcp-config/references/configure-transport-protocol-presets.md} +0 -0
  82. /package/catalog/{development/create-tool/references/tool-annotations.md → frontmcp-development/references/create-tool-annotations.md} +0 -0
  83. /package/catalog/{development/create-tool/references/output-schema-types.md → frontmcp-development/references/create-tool-output-schema-types.md} +0 -0
  84. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-auth.md +0 -0
  85. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-browser-build.md +0 -0
  86. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-cli-binary.md +0 -0
  87. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-direct-client.md +0 -0
  88. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-e2e-handler.md +0 -0
@@ -1,153 +0,0 @@
1
- ---
2
- name: project-structure-standalone
3
- description: Best practices for organizing a standalone FrontMCP project -- file layout, naming conventions, and folder hierarchy. Use when scaffolding with frontmcp create or organizing an existing standalone project.
4
- tags: [project, structure, standalone, organization, best-practices]
5
- priority: 8
6
- visibility: both
7
- license: Apache-2.0
8
- metadata:
9
- docs: https://docs.agentfront.dev/frontmcp/getting-started/quickstart
10
- ---
11
-
12
- # Standalone Project Structure
13
-
14
- When you run `frontmcp create`, the CLI scaffolds a standalone project with the following layout:
15
-
16
- ```
17
- my-project/
18
- ├── src/
19
- │ ├── main.ts # @FrontMcp server entry (default export)
20
- │ ├── my-app.app.ts # @App class
21
- │ ├── tools/ # @Tool classes (*.tool.ts)
22
- │ ├── resources/ # @Resource classes (*.resource.ts)
23
- │ ├── prompts/ # @Prompt classes (*.prompt.ts)
24
- │ ├── agents/ # @Agent classes (*.agent.ts)
25
- │ ├── skills/ # @Skill classes or SKILL.md dirs
26
- │ ├── providers/ # @Provider classes (*.provider.ts)
27
- │ ├── plugins/ # @Plugin classes (*.plugin.ts)
28
- │ └── jobs/ # @Job classes (*.job.ts)
29
- ├── e2e/ # E2E tests (*.e2e.spec.ts)
30
- ├── skills/ # Catalog skills (from --skills flag)
31
- ├── package.json
32
- ├── tsconfig.json
33
- └── .env.example
34
- ```
35
-
36
- ## File Naming Conventions
37
-
38
- Every entity type uses a consistent `<name>.<type>.ts` pattern:
39
-
40
- | Entity | File Pattern | Example |
41
- | -------- | --------------- | ---------------------------- |
42
- | Tool | `*.tool.ts` | `fetch-weather.tool.ts` |
43
- | Resource | `*.resource.ts` | `user-profile.resource.ts` |
44
- | Prompt | `*.prompt.ts` | `summarize.prompt.ts` |
45
- | Agent | `*.agent.ts` | `research.agent.ts` |
46
- | Skill | `*.skill.ts` | `calendar.skill.ts` |
47
- | Provider | `*.provider.ts` | `database.provider.ts` |
48
- | Plugin | `*.plugin.ts` | `logging.plugin.ts` |
49
- | Job | `*.job.ts` | `cleanup.job.ts` |
50
- | Test | `*.spec.ts` | `fetch-weather.tool.spec.ts` |
51
- | E2E Test | `*.e2e.spec.ts` | `api.e2e.spec.ts` |
52
-
53
- **One class per file.** Keep each tool, resource, prompt, etc. in its own file.
54
-
55
- ## Entry Point: main.ts
56
-
57
- `main.ts` default-exports the `@FrontMcp` server class. This is the file FrontMCP loads at startup:
58
-
59
- ```typescript
60
- import { FrontMcp } from '@frontmcp/sdk';
61
- import { MyApp } from './my-app.app';
62
-
63
- @FrontMcp({
64
- info: { name: 'my-project', version: '1.0.0' },
65
- apps: [MyApp],
66
- })
67
- class MyServer {}
68
-
69
- export default MyServer;
70
- ```
71
-
72
- ## App Class
73
-
74
- The `@App` class groups tools, resources, prompts, plugins, and providers together:
75
-
76
- ```typescript
77
- import { App } from '@frontmcp/sdk';
78
- import { FetchWeatherTool } from './tools/fetch-weather.tool';
79
- import { DatabaseProvider } from './providers/database.provider';
80
-
81
- @App({
82
- name: 'my-app',
83
- tools: [FetchWeatherTool],
84
- providers: [DatabaseProvider],
85
- })
86
- export class MyApp {}
87
- ```
88
-
89
- ## Development Workflow
90
-
91
- ### Start development server
92
-
93
- ```bash
94
- frontmcp dev
95
- ```
96
-
97
- Watches for file changes and restarts automatically.
98
-
99
- ### Build for production
100
-
101
- ```bash
102
- frontmcp build --target node
103
- frontmcp build --target bun
104
- frontmcp build --target cloudflare-workers
105
- ```
106
-
107
- The `--target` flag determines the output format and runtime optimizations.
108
-
109
- ### Run tests
110
-
111
- ```bash
112
- # Unit tests
113
- jest
114
-
115
- # E2E tests
116
- jest --config e2e/jest.config.ts
117
- ```
118
-
119
- ## Organizing by Feature
120
-
121
- For larger standalone projects, group related entities into feature folders:
122
-
123
- ```
124
- src/
125
- ├── main.ts
126
- ├── my-app.app.ts
127
- ├── billing/
128
- │ ├── create-invoice.tool.ts
129
- │ ├── invoice.resource.ts
130
- │ └── billing.provider.ts
131
- ├── users/
132
- │ ├── lookup-user.tool.ts
133
- │ ├── user-profile.resource.ts
134
- │ └── users.provider.ts
135
- └── plugins/
136
- └── logging.plugin.ts
137
- ```
138
-
139
- Feature folders work well when your project has multiple related tools and resources that share a domain.
140
-
141
- ## Skills Directory
142
-
143
- The top-level `skills/` directory (outside `src/`) holds catalog skills added via the `--skills` flag during `frontmcp create`. Each skill is a folder containing a `SKILL.md` file:
144
-
145
- ```
146
- skills/
147
- ├── create-tool/
148
- │ └── SKILL.md
149
- └── setup-project/
150
- └── SKILL.md
151
- ```
152
-
153
- Skills inside `src/skills/` are `@Skill` classes that are part of your application code.