@harperfast/template-react-ts-studio 1.6.2 → 1.6.4

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 (25) hide show
  1. package/.agents/skills/harper-best-practices/AGENTS.md +1428 -303
  2. package/.agents/skills/harper-best-practices/SKILL.md +24 -20
  3. package/.agents/skills/harper-best-practices/rules/adding-tables-with-schemas.md +4 -2
  4. package/.agents/skills/harper-best-practices/rules/automatic-apis.md +144 -16
  5. package/.agents/skills/harper-best-practices/rules/caching.md +134 -21
  6. package/.agents/skills/harper-best-practices/rules/checking-authentication.md +139 -148
  7. package/.agents/skills/harper-best-practices/rules/creating-a-fabric-account-and-cluster.md +2 -0
  8. package/.agents/skills/harper-best-practices/rules/creating-harper-apps.md +2 -0
  9. package/.agents/skills/harper-best-practices/rules/custom-resources.md +5 -3
  10. package/.agents/skills/harper-best-practices/rules/defining-relationships.md +2 -0
  11. package/.agents/skills/harper-best-practices/rules/deploying-to-harper-fabric.md +97 -77
  12. package/.agents/skills/harper-best-practices/rules/extending-tables.md +3 -1
  13. package/.agents/skills/harper-best-practices/rules/handling-binary-data.md +2 -0
  14. package/.agents/skills/harper-best-practices/rules/logging.md +154 -77
  15. package/.agents/skills/harper-best-practices/rules/programmatic-table-requests.md +91 -0
  16. package/.agents/skills/harper-best-practices/rules/querying-rest-apis.md +190 -15
  17. package/.agents/skills/harper-best-practices/rules/real-time-apps.md +80 -21
  18. package/.agents/skills/harper-best-practices/rules/schema-design-tooling.md +4 -2
  19. package/.agents/skills/harper-best-practices/rules/serving-web-content.md +3 -2
  20. package/.agents/skills/harper-best-practices/rules/typescript-type-stripping.md +3 -1
  21. package/.agents/skills/harper-best-practices/rules/using-blob-datatype.md +3 -1
  22. package/.agents/skills/harper-best-practices/rules/vector-indexing.md +85 -120
  23. package/.agents/skills/harper-best-practices/rules.manifest.yaml +258 -0
  24. package/package.json +1 -1
  25. package/skills-lock.json +1 -1
@@ -0,0 +1,258 @@
1
+ # Rules manifest for the harper-best-practices skill.
2
+ #
3
+ # Declarative source of truth for rule taxonomy, sources, and generation mode.
4
+ # Owned by humans; the generator reads this file and writes derived artifacts
5
+ # (rule bodies, AGENTS.md). See docs/plans/docs-driven-skills.md for the
6
+ # full schema definition and Manifest ↔ frontmatter reconciliation semantics.
7
+ #
8
+ # Phase 2 flipped vector-indexing to mode: generate.
9
+ # Phase 3 flips 7 obvious 1:1 rules to mode: generate (automatic-apis,
10
+ # querying-rest-apis, real-time-apps, checking-authentication, logging,
11
+ # deploying-to-harper-fabric, caching). All others remain synthesized.
12
+
13
+ rules:
14
+ # ===========================================================================
15
+ # Schema & Data Design (priority 1 — HIGH)
16
+ # ===========================================================================
17
+
18
+ - rule: adding-tables-with-schemas
19
+ description: Guidelines for adding tables to a Harper database using GraphQL schemas.
20
+ category: schema
21
+ priority: 1
22
+ order: 1
23
+ mode: synthesized
24
+
25
+ - rule: schema-design-tooling
26
+ description: Best practices for Harper schema design, including core directives and GraphQL tooling configuration.
27
+ category: schema
28
+ priority: 1
29
+ order: 2
30
+ mode: synthesized
31
+
32
+ - rule: defining-relationships
33
+ description: How to define and use relationships between tables in Harper using GraphQL.
34
+ category: schema
35
+ priority: 1
36
+ order: 3
37
+ mode: synthesized
38
+
39
+ - rule: vector-indexing
40
+ description: How to enable and query vector indexes for similarity search in Harper.
41
+ category: schema
42
+ priority: 1
43
+ order: 4
44
+ mode: generate
45
+ sources:
46
+ - path: reference/v5/database/schema.md
47
+ section: 'Vector Indexing'
48
+ role: primary
49
+ must_cover:
50
+ - '@indexed(type: "HNSW")'
51
+ - 'sort'
52
+ - 'target'
53
+ - 'cosine'
54
+ - 'efConstruction'
55
+ cross_links:
56
+ - adding-tables-with-schemas
57
+
58
+ - rule: using-blob-datatype
59
+ description: How to use the Blob data type for efficient binary storage in Harper.
60
+ category: schema
61
+ priority: 1
62
+ order: 5
63
+ mode: synthesized
64
+
65
+ - rule: handling-binary-data
66
+ description: How to store and serve binary data like images or audio in Harper.
67
+ category: schema
68
+ priority: 1
69
+ order: 6
70
+ mode: synthesized
71
+
72
+ # ===========================================================================
73
+ # API & Communication (priority 2 — HIGH)
74
+ # ===========================================================================
75
+
76
+ - rule: automatic-apis
77
+ description: How to use Harper's automatically generated REST and WebSocket APIs.
78
+ category: api
79
+ priority: 2
80
+ order: 1
81
+ mode: generate
82
+ sources:
83
+ - path: reference/v5/rest/overview.md
84
+ role: primary
85
+ - path: reference/v5/rest/websockets.md
86
+ role: supplemental
87
+ must_cover:
88
+ - 'rest: true'
89
+ - '@export'
90
+ - 'WebSocket'
91
+ cross_links:
92
+ - querying-rest-apis
93
+ - real-time-apps
94
+
95
+ - rule: querying-rest-apis
96
+ description: How to use query parameters to filter, sort, and paginate Harper REST APIs.
97
+ category: api
98
+ priority: 2
99
+ order: 2
100
+ mode: generate
101
+ sources:
102
+ - path: reference/v5/rest/querying.md
103
+ role: primary
104
+ must_cover:
105
+ - '=gt='
106
+ - '=lt='
107
+ - 'select('
108
+ - 'sort('
109
+ - 'limit('
110
+ cross_links:
111
+ - automatic-apis
112
+
113
+ - rule: real-time-apps
114
+ description: How to build real-time features in Harper using WebSockets and Pub/Sub.
115
+ category: api
116
+ priority: 2
117
+ order: 3
118
+ mode: generate
119
+ sources:
120
+ - path: reference/v5/rest/websockets.md
121
+ role: primary
122
+ must_cover:
123
+ - 'WebSocket'
124
+ - 'connect('
125
+ cross_links:
126
+ - automatic-apis
127
+
128
+ - rule: checking-authentication
129
+ description: How to handle user authentication and sessions in Harper Resources.
130
+ category: api
131
+ priority: 2
132
+ order: 4
133
+ mode: generate
134
+ sources:
135
+ - path: reference/v5/resources/resource-api.md
136
+ section: '`getCurrentUser(): User | undefined`'
137
+ role: primary
138
+ - path: reference/v5/resources/resource-api.md
139
+ section: 'Session and Login from a Resource'
140
+ role: primary
141
+ - path: reference/v5/security/jwt-authentication.md
142
+ role: supplemental
143
+ must_cover:
144
+ - 'getCurrentUser()'
145
+ - 'getContext()'
146
+ - 'context.login'
147
+ - 'enableSessions'
148
+ cross_links:
149
+ - custom-resources
150
+
151
+ # ===========================================================================
152
+ # Logic & Extension (priority 3 — MEDIUM)
153
+ # ===========================================================================
154
+
155
+ - rule: custom-resources
156
+ description: How to define custom REST endpoints with JavaScript or TypeScript in Harper.
157
+ category: logic
158
+ priority: 3
159
+ order: 1
160
+ mode: synthesized
161
+
162
+ - rule: extending-tables
163
+ description: How to add custom logic to automatically generated table resources in Harper.
164
+ category: logic
165
+ priority: 3
166
+ order: 2
167
+ mode: synthesized
168
+
169
+ - rule: programmatic-table-requests
170
+ description: How to interact with Harper tables programmatically using the `tables` object.
171
+ category: logic
172
+ priority: 3
173
+ order: 3
174
+ mode: synthesized
175
+
176
+ - rule: typescript-type-stripping
177
+ description: How to run TypeScript files directly in Harper without a build step.
178
+ category: logic
179
+ priority: 3
180
+ order: 4
181
+ mode: synthesized
182
+
183
+ - rule: caching
184
+ description: How to implement integrated data caching in Harper from external sources.
185
+ category: logic
186
+ priority: 3
187
+ order: 5
188
+ mode: generate
189
+ sources:
190
+ - path: learn/developers/caching-with-harper.md
191
+ role: primary
192
+ must_cover:
193
+ - 'expiration'
194
+ - 'sourcedFrom'
195
+ - '@table'
196
+ cross_links:
197
+ - custom-resources
198
+ - automatic-apis
199
+
200
+ # ===========================================================================
201
+ # Infrastructure & Ops (priority 4 — MEDIUM)
202
+ # ===========================================================================
203
+
204
+ - rule: deploying-to-harper-fabric
205
+ description: How to deploy a Harper application to the Harper Fabric cloud.
206
+ category: ops
207
+ priority: 4
208
+ order: 1
209
+ mode: generate
210
+ sources:
211
+ - path: reference/v5/components/applications.md
212
+ section: 'Remote Management'
213
+ role: primary
214
+ - path: fabric/cluster-creation-management.md
215
+ section: 'Connecting the Harper CLI to a Cluster'
216
+ role: supplemental
217
+ must_cover:
218
+ - 'harper deploy'
219
+ - 'harper login'
220
+ cross_links:
221
+ - creating-a-fabric-account-and-cluster
222
+
223
+ - rule: creating-a-fabric-account-and-cluster
224
+ description: How to create a Harper Fabric account, organization, and cluster.
225
+ category: ops
226
+ priority: 4
227
+ order: 2
228
+ mode: synthesized
229
+
230
+ - rule: creating-harper-apps
231
+ description: How to initialize a new Harper application using the CLI.
232
+ category: ops
233
+ priority: 4
234
+ order: 3
235
+ mode: synthesized
236
+
237
+ - rule: serving-web-content
238
+ description: How to serve static files and integrated Vite/React applications in Harper.
239
+ category: ops
240
+ priority: 4
241
+ order: 4
242
+ mode: synthesized
243
+
244
+ - rule: logging
245
+ description: Best practices for logging in Harper, including console capture, the granular logger interface, and programmatic log retrieval.
246
+ category: ops
247
+ priority: 4
248
+ order: 5
249
+ mode: generate
250
+ sources:
251
+ - path: reference/v5/logging/overview.md
252
+ role: primary
253
+ - path: reference/v5/logging/api.md
254
+ role: primary
255
+ must_cover:
256
+ - 'console.log'
257
+ - 'logger'
258
+ - 'withTag('
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harperfast/template-react-ts-studio",
3
- "version": "1.6.2",
3
+ "version": "1.6.4",
4
4
  "type": "module",
5
5
  "repository": "github:HarperFast/create-harper",
6
6
  "scripts": {},
package/skills-lock.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "source": "harperfast/skills",
6
6
  "sourceType": "github",
7
7
  "skillPath": "harper-best-practices/SKILL.md",
8
- "computedHash": "5ba34805d61ba1a997deffcbba9dd92ca775f286c4e8de8df0966518ff7b9eaf"
8
+ "computedHash": "ec4a4a4e9f20599d3204e5d34cdebb0b1e6b78e89fdcb2542e9e15d6e0e3ae47"
9
9
  }
10
10
  }
11
11
  }