@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.
- package/README.md +2 -2
- package/catalog/TEMPLATE.md +58 -13
- package/catalog/frontmcp-config/SKILL.md +143 -0
- package/catalog/frontmcp-config/references/configure-auth.md +238 -0
- package/catalog/frontmcp-config/references/configure-elicitation.md +178 -0
- package/catalog/frontmcp-config/references/configure-http.md +205 -0
- package/catalog/frontmcp-config/references/configure-session.md +205 -0
- package/catalog/frontmcp-config/references/configure-throttle.md +229 -0
- package/catalog/frontmcp-config/references/configure-transport.md +195 -0
- package/catalog/frontmcp-config/references/setup-redis.md +4 -0
- package/catalog/frontmcp-config/references/setup-sqlite.md +4 -0
- package/catalog/frontmcp-deployment/SKILL.md +127 -0
- package/catalog/frontmcp-deployment/references/build-for-browser.md +138 -0
- package/catalog/frontmcp-deployment/references/build-for-cli.md +138 -0
- package/catalog/{deployment/build-for-sdk/SKILL.md → frontmcp-deployment/references/build-for-sdk.md} +65 -24
- package/catalog/frontmcp-deployment/references/deploy-to-cloudflare.md +213 -0
- package/catalog/{deployment/deploy-to-lambda/SKILL.md → frontmcp-deployment/references/deploy-to-lambda.md} +76 -63
- package/catalog/{deployment/deploy-to-node/references/Dockerfile.example → frontmcp-deployment/references/deploy-to-node-dockerfile.md} +13 -4
- package/catalog/{deployment/deploy-to-node/SKILL.md → frontmcp-deployment/references/deploy-to-node.md} +68 -40
- package/catalog/frontmcp-deployment/references/deploy-to-vercel-config.md +60 -0
- package/catalog/frontmcp-deployment/references/deploy-to-vercel.md +224 -0
- package/catalog/frontmcp-development/SKILL.md +121 -0
- package/catalog/frontmcp-development/references/create-adapter.md +165 -0
- package/catalog/{development/create-agent/references/llm-config.md → frontmcp-development/references/create-agent-llm-config.md} +5 -5
- package/catalog/{development/create-agent/SKILL.md → frontmcp-development/references/create-agent.md} +82 -44
- package/catalog/{development/create-job/SKILL.md → frontmcp-development/references/create-job.md} +61 -19
- package/catalog/{plugins/create-plugin-hooks/SKILL.md → frontmcp-development/references/create-plugin-hooks.md} +63 -11
- package/catalog/{plugins/create-plugin/SKILL.md → frontmcp-development/references/create-plugin.md} +65 -60
- package/catalog/{development/create-prompt/SKILL.md → frontmcp-development/references/create-prompt.md} +62 -26
- package/catalog/{development/create-provider/SKILL.md → frontmcp-development/references/create-provider.md} +62 -27
- package/catalog/{development/create-resource/SKILL.md → frontmcp-development/references/create-resource.md} +62 -30
- package/catalog/{development/create-skill-with-tools/SKILL.md → frontmcp-development/references/create-skill-with-tools.md} +69 -24
- package/catalog/{development/create-skill/SKILL.md → frontmcp-development/references/create-skill.md} +96 -22
- package/catalog/{development/create-tool/SKILL.md → frontmcp-development/references/create-tool.md} +62 -26
- package/catalog/{development/create-workflow/SKILL.md → frontmcp-development/references/create-workflow.md} +60 -18
- package/catalog/{development/decorators-guide/SKILL.md → frontmcp-development/references/decorators-guide.md} +123 -34
- package/catalog/frontmcp-development/references/official-adapters.md +194 -0
- package/catalog/{plugins/official-plugins/SKILL.md → frontmcp-development/references/official-plugins.md} +96 -31
- package/catalog/frontmcp-guides/SKILL.md +420 -0
- package/catalog/frontmcp-guides/references/example-knowledge-base.md +636 -0
- package/catalog/frontmcp-guides/references/example-task-manager.md +512 -0
- package/catalog/frontmcp-guides/references/example-weather-api.md +292 -0
- package/catalog/frontmcp-production-readiness/SKILL.md +253 -0
- package/catalog/frontmcp-setup/SKILL.md +130 -0
- package/catalog/frontmcp-setup/references/frontmcp-skills-usage.md +265 -0
- package/catalog/{setup/multi-app-composition/SKILL.md → frontmcp-setup/references/multi-app-composition.md} +65 -23
- package/catalog/{setup/nx-workflow/SKILL.md → frontmcp-setup/references/nx-workflow.md} +78 -21
- package/catalog/frontmcp-setup/references/project-structure-nx.md +246 -0
- package/catalog/frontmcp-setup/references/project-structure-standalone.md +212 -0
- package/catalog/{setup/setup-project/SKILL.md → frontmcp-setup/references/setup-project.md} +62 -62
- package/catalog/{setup/setup-redis/SKILL.md → frontmcp-setup/references/setup-redis.md} +59 -86
- package/catalog/{setup/setup-sqlite/SKILL.md → frontmcp-setup/references/setup-sqlite.md} +64 -76
- package/catalog/frontmcp-testing/SKILL.md +127 -0
- package/catalog/{testing/setup-testing/SKILL.md → frontmcp-testing/references/setup-testing.md} +78 -67
- package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-tool-unit.md +1 -0
- package/catalog/skills-manifest.json +39 -378
- package/package.json +2 -2
- package/src/loader.js +0 -1
- package/src/loader.js.map +1 -1
- package/src/manifest.d.ts +3 -3
- package/src/manifest.js +2 -3
- package/src/manifest.js.map +1 -1
- package/catalog/adapters/create-adapter/SKILL.md +0 -127
- package/catalog/adapters/official-adapters/SKILL.md +0 -136
- package/catalog/auth/configure-auth/SKILL.md +0 -250
- package/catalog/auth/configure-session/SKILL.md +0 -201
- package/catalog/config/configure-elicitation/SKILL.md +0 -136
- package/catalog/config/configure-http/SKILL.md +0 -167
- package/catalog/config/configure-throttle/SKILL.md +0 -189
- package/catalog/config/configure-transport/SKILL.md +0 -151
- package/catalog/deployment/build-for-browser/SKILL.md +0 -95
- package/catalog/deployment/build-for-cli/SKILL.md +0 -100
- package/catalog/deployment/deploy-to-cloudflare/SKILL.md +0 -192
- package/catalog/deployment/deploy-to-vercel/SKILL.md +0 -196
- package/catalog/deployment/deploy-to-vercel/references/vercel.json.example +0 -60
- package/catalog/setup/frontmcp-skills-usage/SKILL.md +0 -200
- package/catalog/setup/project-structure-nx/SKILL.md +0 -186
- package/catalog/setup/project-structure-standalone/SKILL.md +0 -153
- /package/catalog/{auth/configure-auth/references/auth-modes.md → frontmcp-config/references/configure-auth-modes.md} +0 -0
- /package/catalog/{config/configure-throttle/references/guard-config.md → frontmcp-config/references/configure-throttle-guard-config.md} +0 -0
- /package/catalog/{config/configure-transport/references/protocol-presets.md → frontmcp-config/references/configure-transport-protocol-presets.md} +0 -0
- /package/catalog/{development/create-tool/references/tool-annotations.md → frontmcp-development/references/create-tool-annotations.md} +0 -0
- /package/catalog/{development/create-tool/references/output-schema-types.md → frontmcp-development/references/create-tool-output-schema-types.md} +0 -0
- /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-auth.md +0 -0
- /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-browser-build.md +0 -0
- /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-cli-binary.md +0 -0
- /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-direct-client.md +0 -0
- /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.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-browser-build.md
RENAMED
|
File without changes
|
|
File without changes
|
/package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-direct-client.md
RENAMED
|
File without changes
|
|
File without changes
|