@cyanheads/mcp-ts-core 0.5.4 → 0.6.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/CLAUDE.md +39 -1
- package/README.md +1 -1
- package/changelog/0.1.x/0.1.0.md +78 -0
- package/changelog/0.1.x/0.1.1.md +28 -0
- package/changelog/0.1.x/0.1.10.md +32 -0
- package/changelog/0.1.x/0.1.11.md +51 -0
- package/changelog/0.1.x/0.1.12.md +21 -0
- package/changelog/0.1.x/0.1.13.md +16 -0
- package/changelog/0.1.x/0.1.14.md +20 -0
- package/changelog/0.1.x/0.1.15.md +24 -0
- package/changelog/0.1.x/0.1.16.md +17 -0
- package/changelog/0.1.x/0.1.17.md +14 -0
- package/changelog/0.1.x/0.1.18.md +18 -0
- package/changelog/0.1.x/0.1.19.md +19 -0
- package/changelog/0.1.x/0.1.2.md +25 -0
- package/changelog/0.1.x/0.1.20.md +21 -0
- package/changelog/0.1.x/0.1.21.md +17 -0
- package/changelog/0.1.x/0.1.22.md +28 -0
- package/changelog/0.1.x/0.1.23.md +23 -0
- package/changelog/0.1.x/0.1.24.md +17 -0
- package/changelog/0.1.x/0.1.25.md +16 -0
- package/changelog/0.1.x/0.1.26.md +22 -0
- package/changelog/0.1.x/0.1.27.md +30 -0
- package/changelog/0.1.x/0.1.28.md +16 -0
- package/changelog/0.1.x/0.1.29.md +19 -0
- package/changelog/0.1.x/0.1.3.md +22 -0
- package/changelog/0.1.x/0.1.4.md +17 -0
- package/changelog/0.1.x/0.1.5.md +25 -0
- package/changelog/0.1.x/0.1.6.md +26 -0
- package/changelog/0.1.x/0.1.7.md +29 -0
- package/changelog/0.1.x/0.1.8.md +33 -0
- package/changelog/0.1.x/0.1.9.md +19 -0
- package/changelog/0.2.x/0.2.0.md +32 -0
- package/changelog/0.2.x/0.2.1.md +12 -0
- package/changelog/0.2.x/0.2.10.md +38 -0
- package/changelog/0.2.x/0.2.11.md +29 -0
- package/changelog/0.2.x/0.2.12.md +31 -0
- package/changelog/0.2.x/0.2.2.md +19 -0
- package/changelog/0.2.x/0.2.3.md +15 -0
- package/changelog/0.2.x/0.2.4.md +24 -0
- package/changelog/0.2.x/0.2.5.md +27 -0
- package/changelog/0.2.x/0.2.6.md +23 -0
- package/changelog/0.2.x/0.2.7.md +23 -0
- package/changelog/0.2.x/0.2.8.md +12 -0
- package/changelog/0.2.x/0.2.9.md +25 -0
- package/changelog/0.3.x/0.3.0.md +45 -0
- package/changelog/0.3.x/0.3.1.md +16 -0
- package/changelog/0.3.x/0.3.2.md +24 -0
- package/changelog/0.3.x/0.3.3.md +31 -0
- package/changelog/0.3.x/0.3.4.md +31 -0
- package/changelog/0.3.x/0.3.5.md +32 -0
- package/changelog/0.3.x/0.3.6.md +48 -0
- package/changelog/0.3.x/0.3.7.md +23 -0
- package/changelog/0.3.x/0.3.8.md +21 -0
- package/changelog/0.4.x/0.4.0.md +38 -0
- package/changelog/0.4.x/0.4.1.md +31 -0
- package/changelog/0.5.x/0.5.0.md +29 -0
- package/changelog/0.5.x/0.5.1.md +18 -0
- package/changelog/0.5.x/0.5.2.md +38 -0
- package/changelog/0.5.x/0.5.3.md +26 -0
- package/changelog/0.5.x/0.5.4.md +29 -0
- package/changelog/0.6.x/0.6.0.md +39 -0
- package/changelog/unreleased.md +40 -0
- package/dist/cli/init.js +1 -0
- package/dist/cli/init.js.map +1 -1
- package/dist/core/app.d.ts +13 -3
- package/dist/core/app.d.ts.map +1 -1
- package/dist/core/app.js +20 -13
- package/dist/core/app.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/serverManifest.d.ts +237 -0
- package/dist/core/serverManifest.d.ts.map +1 -0
- package/dist/core/serverManifest.js +310 -0
- package/dist/core/serverManifest.js.map +1 -0
- package/dist/core/worker.d.ts.map +1 -1
- package/dist/core/worker.js +2 -2
- package/dist/core/worker.js.map +1 -1
- package/dist/linter/rules/landing-rules.d.ts +15 -0
- package/dist/linter/rules/landing-rules.d.ts.map +1 -0
- package/dist/linter/rules/landing-rules.js +125 -0
- package/dist/linter/rules/landing-rules.js.map +1 -0
- package/dist/linter/types.d.ts +5 -2
- package/dist/linter/types.d.ts.map +1 -1
- package/dist/linter/validate.d.ts.map +1 -1
- package/dist/linter/validate.js +5 -0
- package/dist/linter/validate.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.d.ts +4 -3
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.js +47 -26
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTypes.d.ts +0 -12
- package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/landing-page.d.ts +48 -0
- package/dist/mcp-server/transports/http/landing-page.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/landing-page.js +912 -0
- package/dist/mcp-server/transports/http/landing-page.js.map +1 -0
- package/dist/mcp-server/transports/http/serverCard.d.ts +67 -0
- package/dist/mcp-server/transports/http/serverCard.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/serverCard.js +91 -0
- package/dist/mcp-server/transports/http/serverCard.js.map +1 -0
- package/dist/mcp-server/transports/manager.d.ts +3 -3
- package/dist/mcp-server/transports/manager.d.ts.map +1 -1
- package/dist/mcp-server/transports/manager.js +4 -4
- package/dist/mcp-server/transports/manager.js.map +1 -1
- package/dist/utils/formatting/html.d.ts +76 -0
- package/dist/utils/formatting/html.d.ts.map +1 -0
- package/dist/utils/formatting/html.js +111 -0
- package/dist/utils/formatting/html.js.map +1 -0
- package/dist/utils/formatting/index.d.ts +1 -0
- package/dist/utils/formatting/index.d.ts.map +1 -1
- package/dist/utils/formatting/index.js +1 -0
- package/dist/utils/formatting/index.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +5 -1
- package/scripts/build-changelog.ts +222 -0
- package/scripts/devcheck.ts +16 -1
- package/scripts/tree.ts +3 -0
- package/skills/add-app-tool/SKILL.md +2 -4
- package/skills/add-prompt/SKILL.md +2 -4
- package/skills/add-resource/SKILL.md +2 -4
- package/skills/add-service/SKILL.md +2 -4
- package/skills/add-tool/SKILL.md +6 -5
- package/skills/api-context/SKILL.md +2 -2
- package/skills/api-services/SKILL.md +1 -1
- package/skills/api-services/references/graph.md +1 -1
- package/skills/api-utils/SKILL.md +1 -1
- package/skills/api-utils/references/parsing.md +1 -1
- package/skills/api-utils/references/security.md +1 -1
- package/skills/design-mcp-server/SKILL.md +2 -2
- package/skills/maintenance/SKILL.md +12 -11
- package/skills/polish-docs-meta/SKILL.md +24 -9
- package/skills/release/SKILL.md +21 -7
- package/skills/setup/SKILL.md +4 -8
- package/templates/AGENTS.md +23 -1
- package/templates/CLAUDE.md +23 -1
- package/templates/changelog/unreleased.md +40 -0
- package/templates/package.json +3 -0
package/skills/setup/SKILL.md
CHANGED
|
@@ -4,7 +4,7 @@ description: >
|
|
|
4
4
|
Post-init orientation for an MCP server built on @cyanheads/mcp-ts-core. Use after running `@cyanheads/mcp-ts-core init` to understand the project structure, conventions, and skill sync model. Also use when onboarding to an existing project for the first time.
|
|
5
5
|
metadata:
|
|
6
6
|
author: cyanheads
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.4"
|
|
8
8
|
audience: external
|
|
9
9
|
type: workflow
|
|
10
10
|
---
|
|
@@ -22,11 +22,7 @@ The init CLI generates both `CLAUDE.md` and `AGENTS.md` with the same purpose. K
|
|
|
22
22
|
|
|
23
23
|
Both files serve the same purpose: project-specific agent instructions. Prefer committing one authoritative copy rather than trying to keep both in sync by hand.
|
|
24
24
|
|
|
25
|
-
For the full framework API, read
|
|
26
|
-
|
|
27
|
-
node_modules/@cyanheads/mcp-ts-core/CLAUDE.md
|
|
28
|
-
|
|
29
|
-
Read that file once per session. It contains the exports catalog, tool/resource/prompt contracts, error codes, context API, and common import patterns.
|
|
25
|
+
For the full framework API, read `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` once per session. It contains the exports catalog, tool/resource/prompt contracts, error codes, context API, and common import patterns.
|
|
30
26
|
|
|
31
27
|
## Project Structure
|
|
32
28
|
|
|
@@ -95,9 +91,9 @@ This step is the **bootstrap** — it creates the agent directory. From then on,
|
|
|
95
91
|
|
|
96
92
|
## Project Scaffolding
|
|
97
93
|
|
|
98
|
-
After
|
|
94
|
+
After `bun install`, complete these one-time setup tasks:
|
|
99
95
|
|
|
100
|
-
1. **Update dependencies to latest** — `bun update --latest
|
|
96
|
+
1. **Update dependencies to latest** — `bun update --latest`. The scaffolded `package.json` pins minimum versions from when the framework was published; updating ensures you start with the latest compatible releases.
|
|
101
97
|
2. **Initialize git** — `git init && git add -A && git commit -m "chore: scaffold from @cyanheads/mcp-ts-core"`
|
|
102
98
|
3. **Verify agent protocol placeholders** — if the `init` CLI was run without a `[name]` argument, `{{PACKAGE_NAME}}` may remain as a literal in `CLAUDE.md`/`AGENTS.md` and `package.json`. Replace it with the actual server name.
|
|
103
99
|
|
package/templates/AGENTS.md
CHANGED
|
@@ -264,7 +264,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
264
264
|
| `npm run build` | Compile TypeScript |
|
|
265
265
|
| `npm run rebuild` | Clean + build |
|
|
266
266
|
| `npm run clean` | Remove build artifacts |
|
|
267
|
-
| `npm run devcheck` | Lint + format + typecheck + security |
|
|
267
|
+
| `npm run devcheck` | Lint + format + typecheck + security + changelog sync |
|
|
268
268
|
| `npm run tree` | Generate directory structure doc |
|
|
269
269
|
| `npm run format` | Auto-fix formatting |
|
|
270
270
|
| `npm test` | Run tests |
|
|
@@ -272,6 +272,28 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
272
272
|
| `npm run dev:http` | Dev mode (HTTP) |
|
|
273
273
|
| `npm run start:stdio` | Production mode (stdio) |
|
|
274
274
|
| `npm run start:http` | Production mode (HTTP) |
|
|
275
|
+
| `npm run changelog:build` | Regenerate `CHANGELOG.md` from `changelog/*.md` |
|
|
276
|
+
| `npm run changelog:check` | Verify `CHANGELOG.md` is in sync (used by devcheck) |
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Changelog
|
|
281
|
+
|
|
282
|
+
Directory-based, grouped by minor series using the `.x` semver-wildcard convention. Source of truth is `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.1.x/0.1.0.md`) — one file per released version, shipped in the npm package. Work-in-progress entries live at the top level in `changelog/unreleased.md` and are moved into the appropriate series directory on release. `CHANGELOG.md` is a **navigation index** (header + link + one-line summary per version), regenerated by `npm run changelog:build`. Devcheck hard-fails on drift. Never hand-edit `CHANGELOG.md`.
|
|
283
|
+
|
|
284
|
+
Each per-version file opens with YAML frontmatter:
|
|
285
|
+
|
|
286
|
+
```markdown
|
|
287
|
+
---
|
|
288
|
+
summary: One-line headline, ≤250 chars # required — powers the rollup index
|
|
289
|
+
breaking: false # optional — true flags breaking changes
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
# 0.1.0 — YYYY-MM-DD
|
|
293
|
+
...
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
`breaking: true` renders a `· ⚠️ Breaking` badge in the rollup — use it when consumers must update code on upgrade (signature changes, removed APIs, config renames).
|
|
275
297
|
|
|
276
298
|
---
|
|
277
299
|
|
package/templates/CLAUDE.md
CHANGED
|
@@ -264,7 +264,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
264
264
|
| `npm run build` | Compile TypeScript |
|
|
265
265
|
| `npm run rebuild` | Clean + build |
|
|
266
266
|
| `npm run clean` | Remove build artifacts |
|
|
267
|
-
| `npm run devcheck` | Lint + format + typecheck + security |
|
|
267
|
+
| `npm run devcheck` | Lint + format + typecheck + security + changelog sync |
|
|
268
268
|
| `npm run tree` | Generate directory structure doc |
|
|
269
269
|
| `npm run format` | Auto-fix formatting |
|
|
270
270
|
| `npm test` | Run tests |
|
|
@@ -272,6 +272,28 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
272
272
|
| `npm run dev:http` | Dev mode (HTTP) |
|
|
273
273
|
| `npm run start:stdio` | Production mode (stdio) |
|
|
274
274
|
| `npm run start:http` | Production mode (HTTP) |
|
|
275
|
+
| `npm run changelog:build` | Regenerate `CHANGELOG.md` from `changelog/*.md` |
|
|
276
|
+
| `npm run changelog:check` | Verify `CHANGELOG.md` is in sync (used by devcheck) |
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Changelog
|
|
281
|
+
|
|
282
|
+
Directory-based, grouped by minor series using the `.x` semver-wildcard convention. Source of truth is `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.1.x/0.1.0.md`) — one file per released version, shipped in the npm package. Work-in-progress entries live at the top level in `changelog/unreleased.md` and are moved into the appropriate series directory on release. `CHANGELOG.md` is a **navigation index** (header + link + one-line summary per version), regenerated by `npm run changelog:build`. Devcheck hard-fails on drift. Never hand-edit `CHANGELOG.md`.
|
|
283
|
+
|
|
284
|
+
Each per-version file opens with YAML frontmatter:
|
|
285
|
+
|
|
286
|
+
```markdown
|
|
287
|
+
---
|
|
288
|
+
summary: One-line headline, ≤250 chars # required — powers the rollup index
|
|
289
|
+
breaking: false # optional — true flags breaking changes
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
# 0.1.0 — YYYY-MM-DD
|
|
293
|
+
...
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
`breaking: true` renders a `· ⚠️ Breaking` badge in the rollup — use it when consumers must update code on upgrade (signature changes, removed APIs, config renames).
|
|
275
297
|
|
|
276
298
|
---
|
|
277
299
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Required. One-line headline describing the release. Max 250 chars. No markdown.
|
|
3
|
+
# This line is what the CHANGELOG.md rollup shows — write it like a GitHub Release title.
|
|
4
|
+
summary: ""
|
|
5
|
+
|
|
6
|
+
# Set to `true` only if this release has breaking changes (API removals, signature
|
|
7
|
+
# changes, config renames, anything that requires consumer code changes on update).
|
|
8
|
+
# Flagged as ⚠️ Breaking in the rollup.
|
|
9
|
+
breaking: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Unreleased
|
|
13
|
+
|
|
14
|
+
<!--
|
|
15
|
+
Optional narrative intro — 1-3 sentences framing the release theme. Delete if not needed.
|
|
16
|
+
|
|
17
|
+
Linking issues/PRs: use full URLs so the link works everywhere (GitHub web UI,
|
|
18
|
+
npm/node_modules reads, local editors). GitHub's bare `#NN` auto-link only
|
|
19
|
+
resolves inside its own UI.
|
|
20
|
+
|
|
21
|
+
[#12](https://github.com/<owner>/<repo>/issues/12) ← issue
|
|
22
|
+
[#17](https://github.com/<owner>/<repo>/pull/17) ← PR
|
|
23
|
+
|
|
24
|
+
Only link numbers you've verified exist (via `gh issue view NN` or
|
|
25
|
+
`gh pr view NN`). Never speculate on a future number — `#17` for "my
|
|
26
|
+
upcoming PR" will quietly resolve to whatever real item already owns 17,
|
|
27
|
+
and GitHub timeline previews will pull in that unrelated item's title.
|
|
28
|
+
-->
|
|
29
|
+
|
|
30
|
+
## Added
|
|
31
|
+
|
|
32
|
+
-
|
|
33
|
+
|
|
34
|
+
## Changed
|
|
35
|
+
|
|
36
|
+
-
|
|
37
|
+
|
|
38
|
+
## Fixed
|
|
39
|
+
|
|
40
|
+
-
|
package/templates/package.json
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"{{PACKAGE_NAME}}": "dist/index.js"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
|
+
"changelog/",
|
|
12
13
|
"dist/",
|
|
13
14
|
"README.md",
|
|
14
15
|
"LICENSE",
|
|
@@ -25,6 +26,8 @@
|
|
|
25
26
|
"tree": "tsx scripts/tree.ts",
|
|
26
27
|
"format": "biome check --write --unsafe .",
|
|
27
28
|
"lint:mcp": "tsx scripts/lint-mcp.ts",
|
|
29
|
+
"changelog:build": "tsx scripts/build-changelog.ts",
|
|
30
|
+
"changelog:check": "tsx scripts/build-changelog.ts --check",
|
|
28
31
|
"test": "vitest run",
|
|
29
32
|
"dev:stdio": "MCP_TRANSPORT_TYPE=stdio tsx --watch src/index.ts",
|
|
30
33
|
"dev:http": "MCP_TRANSPORT_TYPE=http tsx --watch src/index.ts",
|