@frontmcp/skills 0.0.1 → 1.0.0-beta.9

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 (84) hide show
  1. package/catalog/TEMPLATE.md +58 -13
  2. package/catalog/frontmcp-config/SKILL.md +140 -0
  3. package/catalog/frontmcp-config/references/configure-auth.md +238 -0
  4. package/catalog/frontmcp-config/references/configure-elicitation.md +178 -0
  5. package/catalog/frontmcp-config/references/configure-http.md +205 -0
  6. package/catalog/frontmcp-config/references/configure-session.md +205 -0
  7. package/catalog/frontmcp-config/references/configure-throttle.md +229 -0
  8. package/catalog/frontmcp-config/references/configure-transport.md +195 -0
  9. package/catalog/frontmcp-config/references/setup-redis.md +4 -0
  10. package/catalog/frontmcp-config/references/setup-sqlite.md +4 -0
  11. package/catalog/frontmcp-deployment/SKILL.md +124 -0
  12. package/catalog/frontmcp-deployment/references/build-for-browser.md +138 -0
  13. package/catalog/frontmcp-deployment/references/build-for-cli.md +138 -0
  14. package/catalog/{deployment/build-for-sdk/SKILL.md → frontmcp-deployment/references/build-for-sdk.md} +65 -24
  15. package/catalog/frontmcp-deployment/references/deploy-to-cloudflare.md +213 -0
  16. package/catalog/{deployment/deploy-to-lambda/SKILL.md → frontmcp-deployment/references/deploy-to-lambda.md} +73 -60
  17. package/catalog/{deployment/deploy-to-node/references/Dockerfile.example → frontmcp-deployment/references/deploy-to-node-dockerfile.md} +11 -2
  18. package/catalog/{deployment/deploy-to-node/SKILL.md → frontmcp-deployment/references/deploy-to-node.md} +65 -37
  19. package/catalog/frontmcp-deployment/references/deploy-to-vercel-config.md +60 -0
  20. package/catalog/frontmcp-deployment/references/deploy-to-vercel.md +224 -0
  21. package/catalog/frontmcp-development/SKILL.md +118 -0
  22. package/catalog/frontmcp-development/references/create-adapter.md +165 -0
  23. package/catalog/{development/create-agent/references/llm-config.md → frontmcp-development/references/create-agent-llm-config.md} +5 -5
  24. package/catalog/{development/create-agent/SKILL.md → frontmcp-development/references/create-agent.md} +82 -44
  25. package/catalog/{development/create-job/SKILL.md → frontmcp-development/references/create-job.md} +61 -19
  26. package/catalog/{plugins/create-plugin-hooks/SKILL.md → frontmcp-development/references/create-plugin-hooks.md} +63 -11
  27. package/catalog/{plugins/create-plugin/SKILL.md → frontmcp-development/references/create-plugin.md} +65 -60
  28. package/catalog/{development/create-prompt/SKILL.md → frontmcp-development/references/create-prompt.md} +62 -26
  29. package/catalog/{development/create-provider/SKILL.md → frontmcp-development/references/create-provider.md} +62 -27
  30. package/catalog/{development/create-resource/SKILL.md → frontmcp-development/references/create-resource.md} +62 -30
  31. package/catalog/{development/create-skill-with-tools/SKILL.md → frontmcp-development/references/create-skill-with-tools.md} +69 -24
  32. package/catalog/{development/create-skill/SKILL.md → frontmcp-development/references/create-skill.md} +71 -20
  33. package/catalog/{development/create-tool/SKILL.md → frontmcp-development/references/create-tool.md} +62 -26
  34. package/catalog/{development/create-workflow/SKILL.md → frontmcp-development/references/create-workflow.md} +60 -18
  35. package/catalog/{development/decorators-guide/SKILL.md → frontmcp-development/references/decorators-guide.md} +123 -34
  36. package/catalog/frontmcp-development/references/official-adapters.md +194 -0
  37. package/catalog/{plugins/official-plugins/SKILL.md → frontmcp-development/references/official-plugins.md} +68 -22
  38. package/catalog/frontmcp-guides/SKILL.md +417 -0
  39. package/catalog/frontmcp-guides/references/example-knowledge-base.md +636 -0
  40. package/catalog/frontmcp-guides/references/example-task-manager.md +512 -0
  41. package/catalog/frontmcp-guides/references/example-weather-api.md +292 -0
  42. package/catalog/frontmcp-setup/SKILL.md +127 -0
  43. package/catalog/frontmcp-setup/references/frontmcp-skills-usage.md +265 -0
  44. package/catalog/{setup/multi-app-composition/SKILL.md → frontmcp-setup/references/multi-app-composition.md} +65 -23
  45. package/catalog/{setup/nx-workflow/SKILL.md → frontmcp-setup/references/nx-workflow.md} +78 -21
  46. package/catalog/frontmcp-setup/references/project-structure-nx.md +246 -0
  47. package/catalog/frontmcp-setup/references/project-structure-standalone.md +212 -0
  48. package/catalog/{setup/setup-project/SKILL.md → frontmcp-setup/references/setup-project.md} +62 -62
  49. package/catalog/{setup/setup-redis/SKILL.md → frontmcp-setup/references/setup-redis.md} +59 -86
  50. package/catalog/{setup/setup-sqlite/SKILL.md → frontmcp-setup/references/setup-sqlite.md} +64 -76
  51. package/catalog/frontmcp-testing/SKILL.md +121 -0
  52. package/catalog/{testing/setup-testing/SKILL.md → frontmcp-testing/references/setup-testing.md} +78 -67
  53. package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-tool-unit.md +1 -0
  54. package/catalog/skills-manifest.json +34 -383
  55. package/package.json +1 -1
  56. package/src/manifest.d.ts +3 -3
  57. package/src/manifest.js +1 -3
  58. package/src/manifest.js.map +1 -1
  59. package/catalog/adapters/create-adapter/SKILL.md +0 -127
  60. package/catalog/adapters/official-adapters/SKILL.md +0 -136
  61. package/catalog/auth/configure-auth/SKILL.md +0 -250
  62. package/catalog/auth/configure-session/SKILL.md +0 -201
  63. package/catalog/config/configure-elicitation/SKILL.md +0 -136
  64. package/catalog/config/configure-http/SKILL.md +0 -167
  65. package/catalog/config/configure-throttle/SKILL.md +0 -189
  66. package/catalog/config/configure-transport/SKILL.md +0 -151
  67. package/catalog/deployment/build-for-browser/SKILL.md +0 -95
  68. package/catalog/deployment/build-for-cli/SKILL.md +0 -100
  69. package/catalog/deployment/deploy-to-cloudflare/SKILL.md +0 -192
  70. package/catalog/deployment/deploy-to-vercel/SKILL.md +0 -196
  71. package/catalog/deployment/deploy-to-vercel/references/vercel.json.example +0 -60
  72. package/catalog/setup/frontmcp-skills-usage/SKILL.md +0 -200
  73. package/catalog/setup/project-structure-nx/SKILL.md +0 -186
  74. package/catalog/setup/project-structure-standalone/SKILL.md +0 -153
  75. /package/catalog/{auth/configure-auth/references/auth-modes.md → frontmcp-config/references/configure-auth-modes.md} +0 -0
  76. /package/catalog/{config/configure-throttle/references/guard-config.md → frontmcp-config/references/configure-throttle-guard-config.md} +0 -0
  77. /package/catalog/{config/configure-transport/references/protocol-presets.md → frontmcp-config/references/configure-transport-protocol-presets.md} +0 -0
  78. /package/catalog/{development/create-tool/references/tool-annotations.md → frontmcp-development/references/create-tool-annotations.md} +0 -0
  79. /package/catalog/{development/create-tool/references/output-schema-types.md → frontmcp-development/references/create-tool-output-schema-types.md} +0 -0
  80. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-auth.md +0 -0
  81. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-browser-build.md +0 -0
  82. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-cli-binary.md +0 -0
  83. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-direct-client.md +0 -0
  84. /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.