@harperfast/template-react-ts-studio 1.11.3 → 1.11.5

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 (48) hide show
  1. package/.agents/skills/harper-best-practices/AGENTS.md +567 -490
  2. package/.agents/skills/harper-best-practices/rules/automatic-apis.md +46 -78
  3. package/.agents/skills/harper-best-practices/rules/defining-relationships.md +41 -63
  4. package/.agents/skills/harper-best-practices/rules/deploying-to-harper-fabric.md +59 -45
  5. package/.agents/skills/harper-best-practices/rules/load-env.md +24 -23
  6. package/.agents/skills/harper-best-practices/rules/programmatic-table-requests.md +62 -78
  7. package/.agents/skills/harper-best-practices/rules/querying-rest-apis.md +92 -65
  8. package/.agents/skills/harper-best-practices/rules/schema-design-tooling.md +53 -55
  9. package/.agents/skills/harper-best-practices/rules/v5-upgrade.md +98 -62
  10. package/.agents/skills/harper-best-practices/rules/vector-indexing.md +113 -42
  11. package/.agents/skills/harper-mcp/AGENTS.md +501 -0
  12. package/.agents/skills/harper-mcp/SKILL.md +91 -0
  13. package/.agents/skills/harper-mcp/rules/automatic-verb-tools.md +50 -0
  14. package/.agents/skills/harper-mcp/rules/connecting-clients.md +59 -0
  15. package/.agents/skills/harper-mcp/rules/custom-mcp-prompts.md +52 -0
  16. package/.agents/skills/harper-mcp/rules/custom-mcp-resources.md +64 -0
  17. package/.agents/skills/harper-mcp/rules/custom-mcp-tools.md +72 -0
  18. package/.agents/skills/harper-mcp/rules/durable-quotas.md +73 -0
  19. package/.agents/skills/harper-mcp/rules/enabling-mcp.md +63 -0
  20. package/.agents/skills/harper-mcp/rules/rate-limiting.md +62 -0
  21. package/.agents/skills/harper-mcp/rules/resources-surface.md +44 -0
  22. package/.agents/skills/harper-mcp/rules/security-posture.md +36 -0
  23. package/.agents/skills/harper-mcp/rules.manifest.yaml +203 -0
  24. package/agent/skills/harper-best-practices/AGENTS.md +567 -490
  25. package/agent/skills/harper-best-practices/rules/automatic-apis.md +46 -78
  26. package/agent/skills/harper-best-practices/rules/defining-relationships.md +41 -63
  27. package/agent/skills/harper-best-practices/rules/deploying-to-harper-fabric.md +59 -45
  28. package/agent/skills/harper-best-practices/rules/load-env.md +24 -23
  29. package/agent/skills/harper-best-practices/rules/programmatic-table-requests.md +62 -78
  30. package/agent/skills/harper-best-practices/rules/querying-rest-apis.md +92 -65
  31. package/agent/skills/harper-best-practices/rules/schema-design-tooling.md +53 -55
  32. package/agent/skills/harper-best-practices/rules/v5-upgrade.md +98 -62
  33. package/agent/skills/harper-best-practices/rules/vector-indexing.md +113 -42
  34. package/agent/skills/harper-mcp/AGENTS.md +501 -0
  35. package/agent/skills/harper-mcp/SKILL.md +83 -0
  36. package/agent/skills/harper-mcp/rules/automatic-verb-tools.md +50 -0
  37. package/agent/skills/harper-mcp/rules/connecting-clients.md +59 -0
  38. package/agent/skills/harper-mcp/rules/custom-mcp-prompts.md +52 -0
  39. package/agent/skills/harper-mcp/rules/custom-mcp-resources.md +64 -0
  40. package/agent/skills/harper-mcp/rules/custom-mcp-tools.md +72 -0
  41. package/agent/skills/harper-mcp/rules/durable-quotas.md +73 -0
  42. package/agent/skills/harper-mcp/rules/enabling-mcp.md +63 -0
  43. package/agent/skills/harper-mcp/rules/rate-limiting.md +62 -0
  44. package/agent/skills/harper-mcp/rules/resources-surface.md +44 -0
  45. package/agent/skills/harper-mcp/rules/security-posture.md +36 -0
  46. package/agent/skills/harper-mcp/rules.manifest.yaml +203 -0
  47. package/package.json +2 -2
  48. package/skills-lock.json +7 -1
@@ -0,0 +1,203 @@
1
+ # Rules manifest for the harper-mcp skill.
2
+ #
3
+ # Declarative source of truth for rule taxonomy, sources, and generation mode.
4
+ #
5
+ # Four rules with a 1:1 mapping to canonical HarperFast/documentation pages are
6
+ # `mode: generate` (derived from reference/v5/mcp/* so the skill and the docs
7
+ # cannot drift): enabling-mcp, custom-mcp-tools, rate-limiting, durable-quotas.
8
+ #
9
+ # Three more rules are docs-mapped but held synthesized pending a source fix,
10
+ # each with its `sources`/`must_cover` recorded as comments to uncomment on flip:
11
+ # - automatic-verb-tools — its source's exportTypes-gating example is wrong on
12
+ # docs main (see the rule's note); flip once the doc is corrected.
13
+ # - resources-surface, custom-mcp-resources — pending documentation#567, which
14
+ # adds the `harper+rest://` scheme and the custom `mcpResources` section.
15
+ #
16
+ # The rest (connecting-clients' debugging guidance, custom-mcp-prompts — whose
17
+ # mcpPrompts feature is UNDOCUMENTED in reference/v5/mcp/, see documentation#575
18
+ # — and the security-posture checklist) are agent-oriented synthesis with no
19
+ # single docs source and stay synthesized.
20
+
21
+ rules:
22
+ # ===========================================================================
23
+ # Setup & Connection (priority 1 — HIGH)
24
+ # ===========================================================================
25
+
26
+ - rule: enabling-mcp
27
+ description: How to enable and configure Harper's MCP server profiles (application and operations).
28
+ category: setup
29
+ priority: 1
30
+ order: 1
31
+ mode: generate
32
+ sources:
33
+ - path: reference/v5/mcp/overview.md
34
+ role: primary
35
+ - path: reference/v5/mcp/configuration.md
36
+ role: supplemental
37
+ must_cover:
38
+ - '9926'
39
+ - '9925'
40
+ - presence
41
+ - 5.2.0+
42
+ cross_links:
43
+ - connecting-clients
44
+ - rate-limiting
45
+
46
+ - rule: connecting-clients
47
+ description: How MCP clients connect to Harper - the initialize handshake, session and protocol-version headers, and authentication.
48
+ category: setup
49
+ priority: 1
50
+ order: 2
51
+ mode: synthesized
52
+
53
+ # ===========================================================================
54
+ # Tools & Prompts (priority 2 — HIGH)
55
+ # ===========================================================================
56
+
57
+ - rule: automatic-verb-tools
58
+ description: How Harper auto-generates CRUD MCP tools from exported tables, with RBAC filtering and allow/deny/maxTools controls.
59
+ category: tools
60
+ priority: 2
61
+ order: 1
62
+ mode: synthesized
63
+ # Blocked from generate: the source's `### exportTypes gating` example shows
64
+ # `server.http(Resource, { exportTypes: { mcp: false } })`, but server.http
65
+ # (= httpServer in harper server/http.ts) never reads exportTypes — MCP
66
+ # gating is `server.resources.set(path, Resource, { mcp: false })`. Flip once
67
+ # the doc is corrected. This rule already carries the correct mechanism
68
+ # (skill commit 9ad155d1); generating from the buggy source would regress it.
69
+ # sources:
70
+ # - path: reference/v5/mcp/tools-and-resources.md
71
+ # section: 'Application profile — tool generation'
72
+ # role: primary
73
+ # must_cover:
74
+ # - tool names preserve Resource-path case (get_Widget)
75
+ # - tools/list is RBAC-filtered per user; calls enforce permissions
76
+ # - exportTypes.mcp gating via server.resources.set
77
+ cross_links:
78
+ - custom-mcp-tools
79
+
80
+ - rule: custom-mcp-tools
81
+ description: How to expose custom instance methods as MCP tools via static mcpTools, including the anonymous-exposure security model.
82
+ category: tools
83
+ priority: 2
84
+ order: 2
85
+ mode: generate
86
+ sources:
87
+ - path: reference/v5/mcp/tools-and-resources.md
88
+ section: 'Custom `mcpTools` opt-in'
89
+ role: primary
90
+ must_cover:
91
+ - mcpTools
92
+ - anonymous
93
+ - live-class
94
+ - context.user
95
+ cross_links:
96
+ - rate-limiting
97
+ - durable-quotas
98
+
99
+ - rule: custom-mcp-prompts
100
+ description: How to publish reusable prompt templates to MCP clients via static mcpPrompts.
101
+ category: tools
102
+ priority: 2
103
+ order: 3
104
+ mode: synthesized
105
+ # No canonical docs source exists for mcpPrompts yet (shipped 5.1.10,
106
+ # undocumented in reference/v5/mcp/, see documentation#575) — stays
107
+ # synthesized until that docs gap is filled; content grounded in the
108
+ # implementation.
109
+
110
+ # ===========================================================================
111
+ # Resources (priority 3 — MEDIUM)
112
+ # ===========================================================================
113
+
114
+ - rule: resources-surface
115
+ description: The MCP resources surface - harper:// metadata URIs, harper+rest:// table descriptors, templates, subscriptions, and list_changed notifications.
116
+ category: resources
117
+ priority: 3
118
+ order: 1
119
+ mode: synthesized
120
+ # Flip to generate once documentation#567 merges: it adds the
121
+ # `harper+rest://` descriptor scheme (currently only under `https://` on
122
+ # docs main) that this rule's must_cover requires.
123
+ # sources:
124
+ # - path: reference/v5/mcp/tools-and-resources.md
125
+ # section: 'Resources surface'
126
+ # role: primary
127
+ # - path: reference/v5/mcp/subscriptions.md
128
+ # role: supplemental
129
+ # must_cover:
130
+ # - the harper:// metadata URIs and which profile serves each
131
+ # - harper+rest:// descriptor scheme with http(s) back-compat
132
+ # - subscribe requires an open GET SSE stream
133
+ cross_links:
134
+ - custom-mcp-resources
135
+
136
+ - rule: custom-mcp-resources
137
+ description: How to serve custom content (docs pages, reports, binaries) as MCP resources via static mcpResources with URI templates and completions.
138
+ category: resources
139
+ priority: 3
140
+ order: 2
141
+ mode: synthesized
142
+ # Flip to generate once documentation#567 merges: the 'Custom `mcpResources`
143
+ # opt-in' section it adds does not yet exist on docs main, so sliceSection
144
+ # would fail.
145
+ # sources:
146
+ # - path: reference/v5/mcp/tools-and-resources.md
147
+ # section: 'Custom `mcpResources` opt-in'
148
+ # role: primary
149
+ # must_cover:
150
+ # - exactly one of uri/uriTemplate per entry; {name} vs {+name} semantics
151
+ # - encoded-separator rejection preserves the single-segment contract
152
+ # - reserved schemes are rejected at registration
153
+ # - anonymous sessions are served; gating is the read method's job
154
+ cross_links:
155
+ - resources-surface
156
+ - rate-limiting
157
+
158
+ # ===========================================================================
159
+ # Operations & Security (priority 4 — HIGH for public deployments)
160
+ # ===========================================================================
161
+
162
+ - rule: rate-limiting
163
+ description: MCP tools/call rate limiting - per-tool, per-session, and per-client-identity token buckets, and the identityHeader trust model.
164
+ category: security
165
+ priority: 4
166
+ order: 1
167
+ mode: generate
168
+ sources:
169
+ - path: reference/v5/mcp/configuration.md
170
+ section: '`mcp.<profile>.rateLimit.*`'
171
+ role: primary
172
+ must_cover:
173
+ - rate_limited
174
+ - perClientPerSecond
175
+ - identityHeader
176
+ - x-forwarded-for
177
+ cross_links:
178
+ - durable-quotas
179
+
180
+ - rule: durable-quotas
181
+ description: Operator-pluggable durable quotas for MCP tools/call via the server.setMcpQuotaHandler registration hook, with a race-safe counter pattern.
182
+ category: security
183
+ priority: 4
184
+ order: 2
185
+ mode: generate
186
+ sources:
187
+ - path: reference/v5/mcp/configuration.md
188
+ section: 'Durable quota handler'
189
+ role: primary
190
+ must_cover:
191
+ - setMcpQuotaHandler
192
+ - quota_exceeded
193
+ - Fail-closed
194
+ - read-modify-write
195
+ cross_links:
196
+ - rate-limiting
197
+
198
+ - rule: security-posture
199
+ description: The MCP security model - anonymous access, RBAC boundaries, origin validation, audit logging, and the hardening checklist for public instances.
200
+ category: security
201
+ priority: 4
202
+ order: 3
203
+ mode: synthesized