@polymorphism-tech/morph-spec 9.3.0 → 9.5.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 +1 -1
- package/README.md +2 -2
- package/claude-plugin.json +1 -1
- package/docs/CHEATSHEET.md +1 -1
- package/docs/QUICKSTART.md +1 -1
- package/framework/MORPH.md +23 -33
- package/framework/agents.json +10 -9
- package/framework/docs/CLI.md +3 -3
- package/framework/evals/review-checklist.md +1 -1
- package/framework/hooks/README.md +3 -2
- package/framework/hooks/claude-code/__pycache__/statusline.cpython-313.pyc +0 -0
- package/framework/hooks/claude-code/core/block-raw-worktree-add.js +2 -15
- package/framework/hooks/claude-code/core/comment-guard.js +1 -0
- package/framework/hooks/claude-code/core/conventional-commit.js +57 -0
- package/framework/hooks/claude-code/core/denylist.json +63 -1
- package/framework/hooks/claude-code/core/enforce-phase-writes.js +0 -8
- package/framework/hooks/claude-code/core/gate-guard.js +0 -8
- package/framework/hooks/claude-code/core/loop-detect.js +0 -3
- package/framework/hooks/claude-code/core/pre-bash-denylist.js +2 -1
- package/framework/hooks/claude-code/core/protect-spec-files.js +0 -7
- package/framework/hooks/claude-code/core/validate-completion.js +0 -4
- package/framework/hooks/claude-code/core/worktree-context.js +0 -2
- package/framework/hooks/claude-code/statusline.py +3 -44
- package/framework/hooks/shared/build-check.js +12 -19
- package/framework/hooks/shared/command-tokens.js +17 -0
- package/framework/hooks/shared/comment-rules.js +11 -1
- package/framework/hooks/shared/hook-response.js +0 -4
- package/framework/hooks/shared/payload-utils.js +1 -35
- package/framework/hooks/shared/phase-utils.js +0 -12
- package/framework/hooks/shared/slice-progress.js +0 -2
- package/framework/hooks/shared/state-reader.js +0 -19
- package/framework/hooks/shared/telemetry-logger.js +1 -1
- package/framework/rules/csharp-standards.md +5 -3
- package/framework/rules/dotnet-templates.md +2 -2
- package/framework/rules/frontend-standards.md +1 -2
- package/framework/rules/nextjs-standards.md +10 -8
- package/framework/skills/core/create-umbraco-lp/SKILL.md +1 -1
- package/framework/skills/core/migrate-lp-to-umbraco/SKILL.md +1 -1
- package/framework/skills/core/morph-apply/SKILL.md +1 -1
- package/framework/skills/core/morph-hotfix/SKILL.md +1 -1
- package/framework/skills/core/morph-machine/SKILL.md +2 -2
- package/framework/skills/core/morph-media/SKILL.md +1 -1
- package/framework/skills/core/morph-plan/SKILL.md +3 -3
- package/framework/skills/core/morph-review/SKILL.md +1 -1
- package/framework/skills/core/morph-standards/SKILL.md +1 -1
- package/framework/skills/core/morph-uiux/SKILL.md +1 -1
- package/framework/standards/STANDARDS.json +87 -37
- package/framework/standards/STANDARDS.meta.json +41 -15
- package/framework/standards/architecture/code-comments.md +1 -1
- package/framework/standards/architecture/engineering-lens.md +100 -0
- package/framework/standards/architecture/vertical-slice/vertical-slice.md +7 -9
- package/framework/standards/backend/dotnet/analyzers.md +59 -0
- package/framework/standards/backend/dotnet/vsa-handler-patterns.md +5 -12
- package/framework/standards/frontend/admin-app/data-table.md +1 -3
- package/framework/standards/frontend/admin-app/page-structure.md +8 -4
- package/framework/standards/frontend/nextjs/app-router.md +3 -4
- package/framework/standards/frontend/nextjs/components.md +2 -15
- package/framework/standards/frontend/nextjs/data-fetching.md +2 -3
- package/framework/standards/frontend/nextjs/lint.md +141 -0
- package/framework/standards/frontend/nextjs/motion-patterns.md +2 -7
- package/framework/standards/frontend/nextjs/naming-conventions.md +1 -2
- package/framework/standards/frontend/nextjs/nextjs-patterns.md +5 -7
- package/framework/standards/frontend/nextjs/project-structure.md +3 -2
- package/framework/standards/frontend/nextjs/state-management.md +6 -7
- package/framework/templates/README.md +4 -5
- package/framework/templates/REGISTRY.json +21 -516
- package/framework/templates/frontend/nextjs/feature-form.tsx.hbs +54 -56
- package/package.json +3 -2
- package/src/commands/project/worktree.js +1 -1
- package/src/commands/state/archive.js +1 -1
- package/src/commands/state/finish.js +1 -1
- package/src/core/paths/output-schema.js +0 -9
- package/src/core/state/feature-identity.js +0 -2
- package/src/core/state/state-manager.js +1 -169
- package/src/core/templates/template-registry.js +1 -43
- package/src/core/templates/template-renderer.js +0 -23
- package/src/dashboard/app/lib/format.js +0 -7
- package/src/dashboard/app/lib/phases.js +0 -7
- package/src/dashboard/scanner/activity-scanner.js +0 -4
- package/src/lib/ai/ai-project-scan.js +1 -6
- package/src/lib/graph/graphify-runtime.js +0 -1
- package/src/lib/mutation/snapshot.js +1 -5
- package/src/lib/risk-detector.js +0 -5
- package/src/lib/stack/stack-profile.js +0 -4
- package/src/lib/stack/stack-scan.js +18 -9
- package/src/lib/tasks/eval-node.js +1 -7
- package/src/lib/validators/validation-runner.js +0 -43
- package/src/lib/validators/verify-runner.js +18 -2
- package/src/utils/agents-installer.js +12 -19
- package/src/utils/claude-settings-manager.js +0 -28
- package/src/utils/file-copier.js +0 -53
- package/src/utils/hooks-installer.js +1 -1
- package/framework/hooks/shared/activity-logger.js +0 -131
- package/framework/standards/frontend/design-system/naming.md +0 -68
- package/framework/templates/meta-prompts/fusion/fusion-agent.md +0 -76
- package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +0 -100
- package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +0 -90
- package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +0 -84
- package/framework/templates/meta-prompts/squad-leaders/squad-leader.md +0 -44
- package/framework/templates/meta-prompts/validators/checkpoint-validator.md +0 -107
- package/framework/templates/meta-prompts/validators/pre-commit-validator.md +0 -94
- package/src/commands/validation/index.js +0 -2
- package/src/lib/validators/code-budget/index.js +0 -2
- package/src/lib/validators/contracts/index.js +0 -1
- package/src/lib/validators/nextjs/index.js +0 -1
- package/src/lib/validators/packages/index.js +0 -1
- package/src/lib/validators/reuse/index.js +0 -2
|
@@ -2,50 +2,25 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft-07/schema#",
|
|
3
3
|
"version": "2.0.0",
|
|
4
4
|
"description": "Template Registry for MORPH-SPEC Framework - Technology-based organization for multi-stack reusability",
|
|
5
|
-
"lastUpdated": "2026-02-27",
|
|
6
|
-
"migration": "v1 → v2: Migrated all templates to framework/, organized by technology (code/dotnet/, infrastructure/azure/, etc.) instead of by stack. This enables future stacks (vue-firebase, angular-mongodb) to reuse existing technology templates.",
|
|
7
5
|
"kinds": {
|
|
8
|
-
"template": "Rendered to an output file. Rich shape: id, name, path, category, phase, outputName (+
|
|
6
|
+
"template": "Rendered to an output file. Rich shape: id, name, path, category, phase, outputName (+ placeholders).",
|
|
9
7
|
"fragment": "A reference snippet read as an example, never rendered. Minimal shape: id, path, category, stack, description.",
|
|
10
8
|
"project": "A whole compilable project registered as ONE unit — its files are not consumable one by one. Minimal shape: id, path, category, stack, description; `path` ends in \"/\" because it is a DIRECTORY. Every tracked file under it counts as registered (validate-framework.js Check 12), and a project directory with no tracked file is an error."
|
|
11
9
|
},
|
|
12
|
-
"categories": [
|
|
13
|
-
"documentation",
|
|
14
|
-
"code",
|
|
15
|
-
"infrastructure",
|
|
16
|
-
"context",
|
|
17
|
-
"examples",
|
|
18
|
-
"integration",
|
|
19
|
-
"saas",
|
|
20
|
-
"ui"
|
|
21
|
-
],
|
|
22
|
-
"technologies": [
|
|
23
|
-
"dotnet",
|
|
24
|
-
"typescript",
|
|
25
|
-
"sql",
|
|
26
|
-
"github-actions",
|
|
27
|
-
"docker",
|
|
28
|
-
"handlebars"
|
|
29
|
-
],
|
|
30
10
|
"templates": [
|
|
31
11
|
{
|
|
32
12
|
"id": "plan",
|
|
33
13
|
"kind": "template",
|
|
34
14
|
"name": "Feature Plan",
|
|
35
15
|
"path": "docs/plan.md",
|
|
36
|
-
"location": "framework",
|
|
37
16
|
"category": "documentation",
|
|
38
17
|
"phase": "plan",
|
|
39
|
-
"required": true,
|
|
40
18
|
"description": "Single source of a feature: problem, scenarios (Cn with proof), decisions (ADRs), reuse, slices (Fn) and errata — parsed by morph-spec plan-check into checks.json",
|
|
41
19
|
"outputName": "plan.md",
|
|
42
20
|
"placeholders": [
|
|
43
21
|
"FEATURE_NAME"
|
|
44
22
|
],
|
|
45
|
-
"stackSpecific": false,
|
|
46
|
-
"engine": "handlebars",
|
|
47
23
|
"deprecated": false,
|
|
48
|
-
"technology": "handlebars",
|
|
49
24
|
"validatePlaceholders": true
|
|
50
25
|
},
|
|
51
26
|
{
|
|
@@ -53,17 +28,12 @@
|
|
|
53
28
|
"kind": "template",
|
|
54
29
|
"name": "Architecture Context",
|
|
55
30
|
"path": "context/ARCHITECTURE.md",
|
|
56
|
-
"location": "framework",
|
|
57
31
|
"category": "context",
|
|
58
32
|
"phase": "plan",
|
|
59
|
-
"required": false,
|
|
60
33
|
"description": "Auto-scanned architecture context with entities, endpoints, pages, components, integrations, database tables, and package versions",
|
|
61
34
|
"outputName": "ARCHITECTURE.md",
|
|
62
35
|
"placeholders": [],
|
|
63
|
-
"stackSpecific": false,
|
|
64
|
-
"engine": "handlebars",
|
|
65
36
|
"deprecated": false,
|
|
66
|
-
"technology": "handlebars",
|
|
67
37
|
"validatePlaceholders": true
|
|
68
38
|
},
|
|
69
39
|
{
|
|
@@ -71,17 +41,12 @@
|
|
|
71
41
|
"kind": "template",
|
|
72
42
|
"name": "Design System Examples",
|
|
73
43
|
"path": "examples/design-system-examples.md",
|
|
74
|
-
"location": "framework",
|
|
75
44
|
"category": "examples",
|
|
76
45
|
"phase": null,
|
|
77
|
-
"required": false,
|
|
78
46
|
"description": "Example design system definitions",
|
|
79
47
|
"outputName": null,
|
|
80
48
|
"placeholders": [],
|
|
81
|
-
"stackSpecific": false,
|
|
82
|
-
"engine": null,
|
|
83
49
|
"deprecated": false,
|
|
84
|
-
"technology": null,
|
|
85
50
|
"validatePlaceholders": true
|
|
86
51
|
},
|
|
87
52
|
{
|
|
@@ -89,20 +54,12 @@
|
|
|
89
54
|
"kind": "template",
|
|
90
55
|
"name": ".NET Unit Test",
|
|
91
56
|
"path": "code/dotnet/test.cs",
|
|
92
|
-
"location": "framework",
|
|
93
57
|
"category": "code",
|
|
94
58
|
"phase": "implement",
|
|
95
|
-
"required": false,
|
|
96
59
|
"description": "xUnit test template with AAA pattern",
|
|
97
60
|
"outputName": "{FeatureName}Tests.cs",
|
|
98
61
|
"placeholders": [],
|
|
99
|
-
"stackSpecific": false,
|
|
100
|
-
"engine": "handlebars",
|
|
101
62
|
"deprecated": false,
|
|
102
|
-
"technology": "dotnet",
|
|
103
|
-
"applicableStacks": [
|
|
104
|
-
"nextjs-neon"
|
|
105
|
-
],
|
|
106
63
|
"validatePlaceholders": true
|
|
107
64
|
},
|
|
108
65
|
{
|
|
@@ -110,22 +67,14 @@
|
|
|
110
67
|
"kind": "template",
|
|
111
68
|
"name": "EF Core Migration",
|
|
112
69
|
"path": "code/dotnet/database/migration.cs",
|
|
113
|
-
"location": "framework",
|
|
114
70
|
"category": "code",
|
|
115
71
|
"phase": "implement",
|
|
116
|
-
"required": false,
|
|
117
72
|
"description": "EF Core migration template with Up/Down methods",
|
|
118
73
|
"outputName": "{Timestamp}_{FeatureName}.cs",
|
|
119
74
|
"placeholders": [
|
|
120
75
|
"NAMESPACE"
|
|
121
76
|
],
|
|
122
|
-
"stackSpecific": false,
|
|
123
|
-
"engine": "handlebars",
|
|
124
77
|
"deprecated": false,
|
|
125
|
-
"technology": "dotnet",
|
|
126
|
-
"applicableStacks": [
|
|
127
|
-
"nextjs-neon"
|
|
128
|
-
],
|
|
129
78
|
"validatePlaceholders": true
|
|
130
79
|
},
|
|
131
80
|
{
|
|
@@ -133,20 +82,12 @@
|
|
|
133
82
|
"kind": "template",
|
|
134
83
|
"name": "Hangfire Background Job",
|
|
135
84
|
"path": "code/dotnet/jobs/job.cs",
|
|
136
|
-
"location": "framework",
|
|
137
85
|
"category": "code",
|
|
138
86
|
"phase": "implement",
|
|
139
|
-
"required": false,
|
|
140
87
|
"description": "Hangfire background job template with retry logic",
|
|
141
88
|
"outputName": "{FeatureName}Job.cs",
|
|
142
89
|
"placeholders": [],
|
|
143
|
-
"stackSpecific": false,
|
|
144
|
-
"engine": "handlebars",
|
|
145
90
|
"deprecated": false,
|
|
146
|
-
"technology": "dotnet",
|
|
147
|
-
"applicableStacks": [
|
|
148
|
-
"nextjs-neon"
|
|
149
|
-
],
|
|
150
91
|
"validatePlaceholders": true
|
|
151
92
|
},
|
|
152
93
|
{
|
|
@@ -154,22 +95,14 @@
|
|
|
154
95
|
"kind": "template",
|
|
155
96
|
"name": "MS Agent Framework Agent",
|
|
156
97
|
"path": "code/dotnet/jobs/agent.cs",
|
|
157
|
-
"location": "framework",
|
|
158
98
|
"category": "code",
|
|
159
99
|
"phase": "implement",
|
|
160
|
-
"required": false,
|
|
161
100
|
"description": "Microsoft Agent Framework agent template with prompt engineering",
|
|
162
101
|
"outputName": "{FeatureName}Agent.cs",
|
|
163
102
|
"placeholders": [
|
|
164
103
|
"NAMESPACE"
|
|
165
104
|
],
|
|
166
|
-
"stackSpecific": false,
|
|
167
|
-
"engine": "handlebars",
|
|
168
105
|
"deprecated": false,
|
|
169
|
-
"technology": "dotnet",
|
|
170
|
-
"applicableStacks": [
|
|
171
|
-
"nextjs-neon"
|
|
172
|
-
],
|
|
173
106
|
"validatePlaceholders": true
|
|
174
107
|
},
|
|
175
108
|
{
|
|
@@ -177,20 +110,12 @@
|
|
|
177
110
|
"kind": "template",
|
|
178
111
|
"name": "Contracts README",
|
|
179
112
|
"path": "code/dotnet/contracts/README.md",
|
|
180
|
-
"location": "framework",
|
|
181
113
|
"category": "documentation",
|
|
182
114
|
"phase": "implement",
|
|
183
|
-
"required": false,
|
|
184
115
|
"description": "Documentation for contract patterns and usage",
|
|
185
116
|
"outputName": "README.md",
|
|
186
117
|
"placeholders": [],
|
|
187
|
-
"stackSpecific": false,
|
|
188
|
-
"engine": "handlebars",
|
|
189
118
|
"deprecated": false,
|
|
190
|
-
"technology": "dotnet",
|
|
191
|
-
"applicableStacks": [
|
|
192
|
-
"nextjs-neon"
|
|
193
|
-
],
|
|
194
119
|
"validatePlaceholders": true
|
|
195
120
|
},
|
|
196
121
|
{
|
|
@@ -198,10 +123,8 @@
|
|
|
198
123
|
"kind": "template",
|
|
199
124
|
"name": "Vertical Slice Architecture Contracts",
|
|
200
125
|
"path": "code/dotnet/contracts/contracts-vsa.cs",
|
|
201
|
-
"location": "framework",
|
|
202
126
|
"category": "code",
|
|
203
127
|
"phase": "implement",
|
|
204
|
-
"required": false,
|
|
205
128
|
"description": "Feature slice completo: Abstractions, Entity, Errors, e um slice de operação (Request, Response, Validator, Handler, Endpoint). Padrão KanaiyaKatarmal (.NET 10, Minimal APIs, EF Core 10, FluentValidation 12, Scrutor 7).",
|
|
206
129
|
"outputName": "contracts.cs",
|
|
207
130
|
"placeholders": [
|
|
@@ -209,10 +132,7 @@
|
|
|
209
132
|
"NAMESPACE",
|
|
210
133
|
"ROUTE"
|
|
211
134
|
],
|
|
212
|
-
"stackSpecific": false,
|
|
213
|
-
"engine": "handlebars",
|
|
214
135
|
"deprecated": false,
|
|
215
|
-
"technology": "dotnet",
|
|
216
136
|
"validatePlaceholders": true
|
|
217
137
|
},
|
|
218
138
|
{
|
|
@@ -220,23 +140,15 @@
|
|
|
220
140
|
"kind": "template",
|
|
221
141
|
"name": "TypeScript Contracts",
|
|
222
142
|
"path": "code/typescript/contracts.ts",
|
|
223
|
-
"location": "framework",
|
|
224
143
|
"category": "code",
|
|
225
144
|
"phase": "implement",
|
|
226
|
-
"required": false,
|
|
227
145
|
"description": "TypeScript type definitions and interfaces",
|
|
228
146
|
"outputName": "contracts.ts",
|
|
229
147
|
"placeholders": [
|
|
230
148
|
"DATE",
|
|
231
149
|
"FEATURE_NAME"
|
|
232
150
|
],
|
|
233
|
-
"stackSpecific": false,
|
|
234
|
-
"engine": "handlebars",
|
|
235
151
|
"deprecated": false,
|
|
236
|
-
"technology": "typescript",
|
|
237
|
-
"applicableStacks": [
|
|
238
|
-
"nextjs-neon"
|
|
239
|
-
],
|
|
240
152
|
"validatePlaceholders": true
|
|
241
153
|
},
|
|
242
154
|
{
|
|
@@ -244,23 +156,15 @@
|
|
|
244
156
|
"kind": "template",
|
|
245
157
|
"name": "PostgreSQL Migration",
|
|
246
158
|
"path": "code/sql/postgresql-migration.sql",
|
|
247
|
-
"location": "framework",
|
|
248
159
|
"category": "code",
|
|
249
160
|
"phase": "implement",
|
|
250
|
-
"required": false,
|
|
251
161
|
"description": "PostgreSQL migration template (basic)",
|
|
252
162
|
"outputName": "{timestamp}_{feature_name}.sql",
|
|
253
163
|
"placeholders": [
|
|
254
164
|
"DATE",
|
|
255
165
|
"TABLE_NAME"
|
|
256
166
|
],
|
|
257
|
-
"stackSpecific": false,
|
|
258
|
-
"engine": "handlebars",
|
|
259
167
|
"deprecated": false,
|
|
260
|
-
"technology": "sql",
|
|
261
|
-
"applicableStacks": [
|
|
262
|
-
"nextjs-neon"
|
|
263
|
-
],
|
|
264
168
|
"validatePlaceholders": true
|
|
265
169
|
},
|
|
266
170
|
{
|
|
@@ -268,10 +172,8 @@
|
|
|
268
172
|
"kind": "template",
|
|
269
173
|
"name": "PostgreSQL Migration (Enhanced)",
|
|
270
174
|
"path": "code/sql/postgresql-migration.template.sql",
|
|
271
|
-
"location": "framework",
|
|
272
175
|
"category": "code",
|
|
273
176
|
"phase": "implement",
|
|
274
|
-
"required": false,
|
|
275
177
|
"description": "Enhanced PostgreSQL migration with RLS and indexes",
|
|
276
178
|
"outputName": "{timestamp}_{feature_name}_enhanced.sql",
|
|
277
179
|
"placeholders": [
|
|
@@ -280,13 +182,7 @@
|
|
|
280
182
|
"FEATURE_NAME_HUMAN",
|
|
281
183
|
"TABLE_NAME"
|
|
282
184
|
],
|
|
283
|
-
"stackSpecific": false,
|
|
284
|
-
"engine": "handlebars",
|
|
285
185
|
"deprecated": false,
|
|
286
|
-
"technology": "sql",
|
|
287
|
-
"applicableStacks": [
|
|
288
|
-
"nextjs-neon"
|
|
289
|
-
],
|
|
290
186
|
"validatePlaceholders": true
|
|
291
187
|
},
|
|
292
188
|
{
|
|
@@ -294,10 +190,8 @@
|
|
|
294
190
|
"kind": "template",
|
|
295
191
|
"name": "Row-Level Security Policy",
|
|
296
192
|
"path": "code/sql/postgresql-rls-policy.sql",
|
|
297
|
-
"location": "framework",
|
|
298
193
|
"category": "code",
|
|
299
194
|
"phase": "implement",
|
|
300
|
-
"required": false,
|
|
301
195
|
"description": "Row-level security policy template for PostgreSQL (Neon)",
|
|
302
196
|
"outputName": "{table_name}_rls_policies.sql",
|
|
303
197
|
"placeholders": [
|
|
@@ -308,13 +202,7 @@
|
|
|
308
202
|
"USING_EXPRESSION",
|
|
309
203
|
"WITH_CHECK_EXPRESSION"
|
|
310
204
|
],
|
|
311
|
-
"stackSpecific": false,
|
|
312
|
-
"engine": "handlebars",
|
|
313
205
|
"deprecated": false,
|
|
314
|
-
"technology": "sql",
|
|
315
|
-
"applicableStacks": [
|
|
316
|
-
"nextjs-neon"
|
|
317
|
-
],
|
|
318
206
|
"validatePlaceholders": true
|
|
319
207
|
},
|
|
320
208
|
{
|
|
@@ -322,20 +210,12 @@
|
|
|
322
210
|
"kind": "template",
|
|
323
211
|
"name": "Dockerfile (.NET API)",
|
|
324
212
|
"path": "infrastructure/docker/dockerfile-api.dockerfile",
|
|
325
|
-
"location": "framework",
|
|
326
213
|
"category": "infrastructure",
|
|
327
214
|
"phase": "implement",
|
|
328
|
-
"required": false,
|
|
329
215
|
"description": ".NET API Dockerfile for Coolify/Docker",
|
|
330
216
|
"outputName": "Dockerfile.api",
|
|
331
217
|
"placeholders": [],
|
|
332
|
-
"stackSpecific": false,
|
|
333
|
-
"engine": null,
|
|
334
218
|
"deprecated": false,
|
|
335
|
-
"technology": "docker",
|
|
336
|
-
"applicableStacks": [
|
|
337
|
-
"nextjs-neon"
|
|
338
|
-
],
|
|
339
219
|
"validatePlaceholders": true
|
|
340
220
|
},
|
|
341
221
|
{
|
|
@@ -343,20 +223,12 @@
|
|
|
343
223
|
"kind": "template",
|
|
344
224
|
"name": "Dockerfile (Next.js Web)",
|
|
345
225
|
"path": "infrastructure/docker/dockerfile-web.dockerfile",
|
|
346
|
-
"location": "framework",
|
|
347
226
|
"category": "infrastructure",
|
|
348
227
|
"phase": "implement",
|
|
349
|
-
"required": false,
|
|
350
228
|
"description": "Next.js web Dockerfile for Coolify/Docker",
|
|
351
229
|
"outputName": "Dockerfile.web",
|
|
352
230
|
"placeholders": [],
|
|
353
|
-
"stackSpecific": false,
|
|
354
|
-
"engine": null,
|
|
355
231
|
"deprecated": false,
|
|
356
|
-
"technology": "docker",
|
|
357
|
-
"applicableStacks": [
|
|
358
|
-
"nextjs-neon"
|
|
359
|
-
],
|
|
360
232
|
"validatePlaceholders": true
|
|
361
233
|
},
|
|
362
234
|
{
|
|
@@ -364,20 +236,12 @@
|
|
|
364
236
|
"kind": "template",
|
|
365
237
|
"name": "Dockerfile (Generic)",
|
|
366
238
|
"path": "infrastructure/docker/Dockerfile.template",
|
|
367
|
-
"location": "framework",
|
|
368
239
|
"category": "infrastructure",
|
|
369
240
|
"phase": "implement",
|
|
370
|
-
"required": false,
|
|
371
241
|
"description": "Generic multi-stage Dockerfile template",
|
|
372
242
|
"outputName": "Dockerfile",
|
|
373
243
|
"placeholders": [],
|
|
374
|
-
"stackSpecific": false,
|
|
375
|
-
"engine": "handlebars",
|
|
376
244
|
"deprecated": false,
|
|
377
|
-
"technology": "docker",
|
|
378
|
-
"applicableStacks": [
|
|
379
|
-
"nextjs-neon"
|
|
380
|
-
],
|
|
381
245
|
"validatePlaceholders": true
|
|
382
246
|
},
|
|
383
247
|
{
|
|
@@ -385,20 +249,12 @@
|
|
|
385
249
|
"kind": "template",
|
|
386
250
|
"name": "Docker Compose",
|
|
387
251
|
"path": "infrastructure/docker/docker-compose.template.yml",
|
|
388
|
-
"location": "framework",
|
|
389
252
|
"category": "infrastructure",
|
|
390
253
|
"phase": "implement",
|
|
391
|
-
"required": false,
|
|
392
254
|
"description": "Docker Compose for local development — one isolated stack per worktree (ports from the block, no container_name)",
|
|
393
255
|
"outputName": "docker-compose.yml",
|
|
394
256
|
"placeholders": [],
|
|
395
|
-
"stackSpecific": false,
|
|
396
|
-
"engine": "handlebars",
|
|
397
257
|
"deprecated": false,
|
|
398
|
-
"technology": "docker",
|
|
399
|
-
"applicableStacks": [
|
|
400
|
-
"nextjs-neon"
|
|
401
|
-
],
|
|
402
258
|
"validatePlaceholders": true
|
|
403
259
|
},
|
|
404
260
|
{
|
|
@@ -406,23 +262,15 @@
|
|
|
406
262
|
"kind": "template",
|
|
407
263
|
"name": "Coolify Configuration",
|
|
408
264
|
"path": "infrastructure/docker/coolify.template.json",
|
|
409
|
-
"location": "framework",
|
|
410
265
|
"category": "infrastructure",
|
|
411
266
|
"phase": "implement",
|
|
412
|
-
"required": false,
|
|
413
267
|
"description": "Coolify deployment configuration — accessed via SSH + API, no MCP/CLI",
|
|
414
268
|
"outputName": "coolify.json",
|
|
415
269
|
"placeholders": [
|
|
416
270
|
"GITHUB_OWNER",
|
|
417
271
|
"GITHUB_REPO"
|
|
418
272
|
],
|
|
419
|
-
"stackSpecific": false,
|
|
420
|
-
"engine": "handlebars",
|
|
421
273
|
"deprecated": false,
|
|
422
|
-
"technology": "docker",
|
|
423
|
-
"applicableStacks": [
|
|
424
|
-
"nextjs-neon"
|
|
425
|
-
],
|
|
426
274
|
"validatePlaceholders": true
|
|
427
275
|
},
|
|
428
276
|
{
|
|
@@ -430,20 +278,12 @@
|
|
|
430
278
|
"kind": "template",
|
|
431
279
|
"name": "Asaas Financial Client",
|
|
432
280
|
"path": "integrations/asaas-client.cs",
|
|
433
|
-
"location": "framework",
|
|
434
281
|
"category": "integration",
|
|
435
282
|
"phase": "implement",
|
|
436
|
-
"required": false,
|
|
437
283
|
"description": "Asaas financial API client implementation",
|
|
438
284
|
"outputName": "AsaasClient.cs",
|
|
439
285
|
"placeholders": [],
|
|
440
|
-
"stackSpecific": false,
|
|
441
|
-
"engine": "handlebars",
|
|
442
286
|
"deprecated": false,
|
|
443
|
-
"technology": "dotnet",
|
|
444
|
-
"applicableStacks": [
|
|
445
|
-
"nextjs-neon"
|
|
446
|
-
],
|
|
447
287
|
"validatePlaceholders": true
|
|
448
288
|
},
|
|
449
289
|
{
|
|
@@ -451,20 +291,12 @@
|
|
|
451
291
|
"kind": "template",
|
|
452
292
|
"name": "Asaas Webhook Handler",
|
|
453
293
|
"path": "integrations/asaas-webhook.cs",
|
|
454
|
-
"location": "framework",
|
|
455
294
|
"category": "integration",
|
|
456
295
|
"phase": "implement",
|
|
457
|
-
"required": false,
|
|
458
296
|
"description": "Asaas webhook handler for payment events",
|
|
459
297
|
"outputName": "AsaasWebhookHandler.cs",
|
|
460
298
|
"placeholders": [],
|
|
461
|
-
"stackSpecific": false,
|
|
462
|
-
"engine": "handlebars",
|
|
463
299
|
"deprecated": false,
|
|
464
|
-
"technology": "dotnet",
|
|
465
|
-
"applicableStacks": [
|
|
466
|
-
"nextjs-neon"
|
|
467
|
-
],
|
|
468
300
|
"validatePlaceholders": true
|
|
469
301
|
},
|
|
470
302
|
{
|
|
@@ -472,20 +304,12 @@
|
|
|
472
304
|
"kind": "template",
|
|
473
305
|
"name": "Neon Auth Configuration",
|
|
474
306
|
"path": "integrations/neon-auth-config.cs",
|
|
475
|
-
"location": "framework",
|
|
476
307
|
"category": "integration",
|
|
477
308
|
"phase": "implement",
|
|
478
|
-
"required": false,
|
|
479
309
|
"description": "Neon Auth (Better Auth) EdDSA/Ed25519 JWT validation for .NET via BouncyCastle — cached JWKS provider + manual SignatureValidator (no OIDC discovery available)",
|
|
480
310
|
"outputName": "NeonAuthConfig.cs",
|
|
481
311
|
"placeholders": ["Namespace"],
|
|
482
|
-
"stackSpecific": false,
|
|
483
|
-
"engine": "handlebars",
|
|
484
312
|
"deprecated": false,
|
|
485
|
-
"technology": "dotnet",
|
|
486
|
-
"applicableStacks": [
|
|
487
|
-
"nextjs-neon"
|
|
488
|
-
],
|
|
489
313
|
"validatePlaceholders": true
|
|
490
314
|
},
|
|
491
315
|
{
|
|
@@ -493,20 +317,12 @@
|
|
|
493
317
|
"kind": "template",
|
|
494
318
|
"name": "Design System CSS",
|
|
495
319
|
"path": "ui/design-system.css",
|
|
496
|
-
"location": "framework",
|
|
497
320
|
"category": "ui",
|
|
498
321
|
"phase": "uiux",
|
|
499
|
-
"required": false,
|
|
500
322
|
"description": "CSS design tokens and variables (colors, spacing, typography)",
|
|
501
323
|
"outputName": "design-system.css",
|
|
502
324
|
"placeholders": [],
|
|
503
|
-
"stackSpecific": false,
|
|
504
|
-
"engine": "handlebars",
|
|
505
325
|
"deprecated": false,
|
|
506
|
-
"technology": "css",
|
|
507
|
-
"applicableStacks": [
|
|
508
|
-
"nextjs-neon"
|
|
509
|
-
],
|
|
510
326
|
"validatePlaceholders": true
|
|
511
327
|
},
|
|
512
328
|
{
|
|
@@ -514,20 +330,15 @@
|
|
|
514
330
|
"kind": "template",
|
|
515
331
|
"name": "UI Mockups",
|
|
516
332
|
"path": "docs/ui-mockups.md",
|
|
517
|
-
"location": "framework",
|
|
518
333
|
"category": "documentation",
|
|
519
334
|
"phase": "uiux",
|
|
520
|
-
"required": false,
|
|
521
335
|
"description": "Wireframes and layout specifications with ASCII mockups and responsive breakpoints",
|
|
522
336
|
"outputName": "mockups.md",
|
|
523
337
|
"placeholders": [
|
|
524
338
|
"DATE",
|
|
525
339
|
"FEATURE_NAME"
|
|
526
340
|
],
|
|
527
|
-
"stackSpecific": false,
|
|
528
|
-
"engine": "handlebars",
|
|
529
341
|
"deprecated": false,
|
|
530
|
-
"technology": "handlebars",
|
|
531
342
|
"validatePlaceholders": true
|
|
532
343
|
},
|
|
533
344
|
{
|
|
@@ -535,23 +346,14 @@
|
|
|
535
346
|
"kind": "template",
|
|
536
347
|
"name": "GitHub Actions - .NET Build Workflow",
|
|
537
348
|
"path": "infrastructure/github/workflows/dotnet-build.yml.hbs",
|
|
538
|
-
"location": "framework",
|
|
539
349
|
"category": "infrastructure",
|
|
540
|
-
"technology": "github-actions",
|
|
541
350
|
"phase": "implement",
|
|
542
|
-
"required": false,
|
|
543
351
|
"description": "Reusable workflow for building .NET applications with restore, build, test, coverage",
|
|
544
352
|
"outputName": "dotnet-build.yml",
|
|
545
353
|
"placeholders": [
|
|
546
354
|
"DOTNET_VERSION"
|
|
547
355
|
],
|
|
548
|
-
"stackSpecific": false,
|
|
549
|
-
"applicableStacks": [
|
|
550
|
-
"nextjs-neon"
|
|
551
|
-
],
|
|
552
|
-
"engine": "handlebars",
|
|
553
356
|
"deprecated": false,
|
|
554
|
-
"isFragment": true,
|
|
555
357
|
"validatePlaceholders": true
|
|
556
358
|
},
|
|
557
359
|
{
|
|
@@ -559,21 +361,12 @@
|
|
|
559
361
|
"kind": "template",
|
|
560
362
|
"name": "GitHub Actions - Docker Build & Push",
|
|
561
363
|
"path": "infrastructure/github/workflows/docker-build-push.yml.hbs",
|
|
562
|
-
"location": "framework",
|
|
563
364
|
"category": "infrastructure",
|
|
564
|
-
"technology": "github-actions",
|
|
565
365
|
"phase": "implement",
|
|
566
|
-
"required": false,
|
|
567
366
|
"description": "Reusable workflow for building and pushing Docker images to registry",
|
|
568
367
|
"outputName": "docker-build-push.yml",
|
|
569
368
|
"placeholders": [],
|
|
570
|
-
"stackSpecific": false,
|
|
571
|
-
"applicableStacks": [
|
|
572
|
-
"nextjs-neon"
|
|
573
|
-
],
|
|
574
|
-
"engine": "handlebars",
|
|
575
369
|
"deprecated": false,
|
|
576
|
-
"isFragment": true,
|
|
577
370
|
"validatePlaceholders": true
|
|
578
371
|
},
|
|
579
372
|
{
|
|
@@ -581,21 +374,12 @@
|
|
|
581
374
|
"kind": "template",
|
|
582
375
|
"name": "GitHub Actions - Deploy to Coolify",
|
|
583
376
|
"path": "infrastructure/github/workflows/deploy-coolify.yml.hbs",
|
|
584
|
-
"location": "framework",
|
|
585
377
|
"category": "infrastructure",
|
|
586
|
-
"technology": "github-actions",
|
|
587
378
|
"phase": "implement",
|
|
588
|
-
"required": false,
|
|
589
379
|
"description": "Reusable workflow for deploying to Coolify via SSH (API is not publicly exposed)",
|
|
590
380
|
"outputName": "deploy-coolify.yml",
|
|
591
381
|
"placeholders": [],
|
|
592
|
-
"stackSpecific": false,
|
|
593
|
-
"applicableStacks": [
|
|
594
|
-
"nextjs-neon"
|
|
595
|
-
],
|
|
596
|
-
"engine": "handlebars",
|
|
597
382
|
"deprecated": false,
|
|
598
|
-
"isFragment": true,
|
|
599
383
|
"validatePlaceholders": true
|
|
600
384
|
},
|
|
601
385
|
{
|
|
@@ -603,21 +387,12 @@
|
|
|
603
387
|
"kind": "template",
|
|
604
388
|
"name": "GitHub Composite Action - Docker Build & Push",
|
|
605
389
|
"path": "infrastructure/github/actions/docker-build-push/action.yml.hbs",
|
|
606
|
-
"location": "framework",
|
|
607
390
|
"category": "infrastructure",
|
|
608
|
-
"technology": "github-actions",
|
|
609
391
|
"phase": "implement",
|
|
610
|
-
"required": false,
|
|
611
392
|
"description": "Composite action for building and pushing Docker images",
|
|
612
393
|
"outputName": "action.yml",
|
|
613
394
|
"placeholders": [],
|
|
614
|
-
"stackSpecific": false,
|
|
615
|
-
"applicableStacks": [
|
|
616
|
-
"nextjs-neon"
|
|
617
|
-
],
|
|
618
|
-
"engine": "handlebars",
|
|
619
395
|
"deprecated": false,
|
|
620
|
-
"isFragment": true,
|
|
621
396
|
"validatePlaceholders": true
|
|
622
397
|
},
|
|
623
398
|
{
|
|
@@ -625,228 +400,12 @@
|
|
|
625
400
|
"kind": "template",
|
|
626
401
|
"name": "GitHub Composite Action - Health Check",
|
|
627
402
|
"path": "infrastructure/github/actions/health-check/action.yml.hbs",
|
|
628
|
-
"location": "framework",
|
|
629
403
|
"category": "infrastructure",
|
|
630
|
-
"technology": "github-actions",
|
|
631
404
|
"phase": "implement",
|
|
632
|
-
"required": false,
|
|
633
405
|
"description": "Composite action for polling health endpoint until ready",
|
|
634
406
|
"outputName": "action.yml",
|
|
635
407
|
"placeholders": [],
|
|
636
|
-
"stackSpecific": false,
|
|
637
|
-
"applicableStacks": [
|
|
638
|
-
"nextjs-neon"
|
|
639
|
-
],
|
|
640
|
-
"engine": "handlebars",
|
|
641
|
-
"deprecated": false,
|
|
642
|
-
"isFragment": true,
|
|
643
|
-
"validatePlaceholders": true
|
|
644
|
-
},
|
|
645
|
-
{
|
|
646
|
-
"id": "hop-squad-leader",
|
|
647
|
-
"kind": "template",
|
|
648
|
-
"name": "Squad Leader HOP",
|
|
649
|
-
"path": "meta-prompts/squad-leaders/squad-leader.md",
|
|
650
|
-
"location": "framework",
|
|
651
|
-
"category": "meta-prompts",
|
|
652
|
-
"technology": "handlebars",
|
|
653
|
-
"phase": "implement",
|
|
654
|
-
"required": false,
|
|
655
|
-
"description": "Generic squad leader higher-order prompt with mission, domain-leaders, standards, tasks, deliverables, constraints",
|
|
656
|
-
"outputName": "squad-leader-prompt.md",
|
|
657
|
-
"placeholders": [
|
|
658
|
-
"AGENT_ID",
|
|
659
|
-
"CONSTRAINTS",
|
|
660
|
-
"DELIVERABLES",
|
|
661
|
-
"DOMAIN",
|
|
662
|
-
"DOMAIN_LEADERS",
|
|
663
|
-
"FEATURE_NAME",
|
|
664
|
-
"MISSION",
|
|
665
|
-
"SPEC_SUMMARY",
|
|
666
|
-
"STANDARDS",
|
|
667
|
-
"TASKS"
|
|
668
|
-
],
|
|
669
|
-
"stackSpecific": false,
|
|
670
|
-
"engine": "handlebars",
|
|
671
|
-
"deprecated": false,
|
|
672
|
-
"hopType": "squad-leader",
|
|
673
|
-
"validatePlaceholders": true
|
|
674
|
-
},
|
|
675
|
-
{
|
|
676
|
-
"id": "hop-backend-squad",
|
|
677
|
-
"kind": "template",
|
|
678
|
-
"name": "Backend Squad Leader HOP",
|
|
679
|
-
"path": "meta-prompts/squad-leaders/backend-squad.md",
|
|
680
|
-
"location": "framework",
|
|
681
|
-
"category": "meta-prompts",
|
|
682
|
-
"technology": "handlebars",
|
|
683
|
-
"phase": "implement",
|
|
684
|
-
"required": false,
|
|
685
|
-
"description": "Backend squad leader HOP for dotnet-senior with backend domain leaders, .NET 10 standards, architecture and security guidelines",
|
|
686
|
-
"outputName": "backend-squad-prompt.md",
|
|
687
|
-
"placeholders": [
|
|
688
|
-
"ADDITIONAL_LEADERS",
|
|
689
|
-
"AGENT_ID",
|
|
690
|
-
"CONSTRAINTS",
|
|
691
|
-
"DELIVERABLES",
|
|
692
|
-
"FEATURE_NAME",
|
|
693
|
-
"MISSION",
|
|
694
|
-
"SPEC_SUMMARY",
|
|
695
|
-
"TASKS"
|
|
696
|
-
],
|
|
697
|
-
"stackSpecific": false,
|
|
698
|
-
"engine": "handlebars",
|
|
699
|
-
"deprecated": false,
|
|
700
|
-
"hopType": "squad-leader",
|
|
701
|
-
"applicableStacks": [
|
|
702
|
-
"nextjs-neon"
|
|
703
|
-
],
|
|
704
|
-
"validatePlaceholders": true
|
|
705
|
-
},
|
|
706
|
-
{
|
|
707
|
-
"id": "hop-frontend-squad",
|
|
708
|
-
"kind": "template",
|
|
709
|
-
"name": "Frontend Squad Leader HOP",
|
|
710
|
-
"path": "meta-prompts/squad-leaders/frontend-squad.md",
|
|
711
|
-
"location": "framework",
|
|
712
|
-
"category": "meta-prompts",
|
|
713
|
-
"technology": "handlebars",
|
|
714
|
-
"phase": "implement",
|
|
715
|
-
"required": false,
|
|
716
|
-
"description": "Frontend squad leader HOP for ui-designer with Next.js domain leaders and design system standards",
|
|
717
|
-
"outputName": "frontend-squad-prompt.md",
|
|
718
|
-
"placeholders": [
|
|
719
|
-
"ADDITIONAL_LEADERS",
|
|
720
|
-
"AGENT_ID",
|
|
721
|
-
"CONSTRAINTS",
|
|
722
|
-
"DELIVERABLES",
|
|
723
|
-
"DOMAIN",
|
|
724
|
-
"FEATURE_NAME",
|
|
725
|
-
"MISSION",
|
|
726
|
-
"SPEC_SUMMARY",
|
|
727
|
-
"TASKS"
|
|
728
|
-
],
|
|
729
|
-
"stackSpecific": false,
|
|
730
|
-
"engine": "handlebars",
|
|
731
|
-
"deprecated": false,
|
|
732
|
-
"hopType": "squad-leader",
|
|
733
|
-
"applicableStacks": [
|
|
734
|
-
"nextjs-neon"
|
|
735
|
-
],
|
|
736
|
-
"validatePlaceholders": true
|
|
737
|
-
},
|
|
738
|
-
{
|
|
739
|
-
"id": "hop-checkpoint-validator",
|
|
740
|
-
"kind": "template",
|
|
741
|
-
"name": "Checkpoint Validator HOP",
|
|
742
|
-
"path": "meta-prompts/validators/checkpoint-validator.md",
|
|
743
|
-
"location": "framework",
|
|
744
|
-
"category": "meta-prompts",
|
|
745
|
-
"technology": "handlebars",
|
|
746
|
-
"phase": "implement",
|
|
747
|
-
"required": false,
|
|
748
|
-
"description": "Checkpoint validator HOP running architecture, security, design-system, and packages validators with pass/fail decision logic",
|
|
749
|
-
"outputName": "checkpoint-validator-prompt.md",
|
|
750
|
-
"placeholders": [
|
|
751
|
-
"CHECKPOINT_FREQUENCY",
|
|
752
|
-
"CHECKPOINT_NUM",
|
|
753
|
-
"FEATURE_NAME",
|
|
754
|
-
"FILES_CHANGED",
|
|
755
|
-
"RECENT_TASKS",
|
|
756
|
-
"TASKS_COMPLETED",
|
|
757
|
-
"TASKS_SINCE_LAST",
|
|
758
|
-
"TASKS_TOTAL"
|
|
759
|
-
],
|
|
760
|
-
"stackSpecific": false,
|
|
761
|
-
"engine": "handlebars",
|
|
762
|
-
"deprecated": false,
|
|
763
|
-
"hopType": "validator",
|
|
764
|
-
"validatePlaceholders": true
|
|
765
|
-
},
|
|
766
|
-
{
|
|
767
|
-
"id": "hop-pre-commit-validator",
|
|
768
|
-
"kind": "template",
|
|
769
|
-
"name": "Pre-Commit Validator HOP",
|
|
770
|
-
"path": "meta-prompts/validators/pre-commit-validator.md",
|
|
771
|
-
"location": "framework",
|
|
772
|
-
"category": "meta-prompts",
|
|
773
|
-
"technology": "handlebars",
|
|
774
|
-
"phase": "implement",
|
|
775
|
-
"required": false,
|
|
776
|
-
"description": "Pre-commit hook validator HOP checking conventional commits, secrets, agent spec validity, and stack-specific rules",
|
|
777
|
-
"outputName": "pre-commit-validator-prompt.md",
|
|
778
|
-
"placeholders": [
|
|
779
|
-
"BRANCH_NAME",
|
|
780
|
-
"FEATURE_NAME",
|
|
781
|
-
"STAGED_FILES",
|
|
782
|
-
"STAGED_FILE_COUNT",
|
|
783
|
-
"TODO"
|
|
784
|
-
],
|
|
785
|
-
"stackSpecific": false,
|
|
786
|
-
"engine": "handlebars",
|
|
787
|
-
"deprecated": false,
|
|
788
|
-
"hopType": "validator",
|
|
789
|
-
"validatePlaceholders": false
|
|
790
|
-
},
|
|
791
|
-
{
|
|
792
|
-
"id": "hop-fusion-agent",
|
|
793
|
-
"kind": "template",
|
|
794
|
-
"name": "Fusion Agent HOP",
|
|
795
|
-
"path": "meta-prompts/fusion/fusion-agent.md",
|
|
796
|
-
"location": "framework",
|
|
797
|
-
"category": "meta-prompts",
|
|
798
|
-
"technology": "handlebars",
|
|
799
|
-
"phase": "implement",
|
|
800
|
-
"required": false,
|
|
801
|
-
"description": "F-Thread fusion participant HOP with approach hints per thread index (standard, alternative, optimized) and self-assessment scoring",
|
|
802
|
-
"outputName": "fusion-agent-prompt.md",
|
|
803
|
-
"placeholders": [
|
|
804
|
-
"AGENT_ID",
|
|
805
|
-
"DELIVERABLES",
|
|
806
|
-
"FUSION_STRATEGY",
|
|
807
|
-
"SPEC_SUMMARY",
|
|
808
|
-
"STANDARDS",
|
|
809
|
-
"TASK_DESCRIPTION",
|
|
810
|
-
"THREAD_COUNT",
|
|
811
|
-
"THREAD_COUNT_MINUS_ONE",
|
|
812
|
-
"THREAD_ID",
|
|
813
|
-
"THREAD_INDEX"
|
|
814
|
-
],
|
|
815
|
-
"stackSpecific": false,
|
|
816
|
-
"engine": "handlebars",
|
|
817
|
-
"deprecated": false,
|
|
818
|
-
"hopType": "fusion",
|
|
819
|
-
"validatePlaceholders": true
|
|
820
|
-
},
|
|
821
|
-
{
|
|
822
|
-
"id": "hop-fusion-aggregator",
|
|
823
|
-
"kind": "template",
|
|
824
|
-
"name": "Fusion Aggregator HOP",
|
|
825
|
-
"path": "meta-prompts/fusion/fusion-aggregator.md",
|
|
826
|
-
"location": "framework",
|
|
827
|
-
"category": "meta-prompts",
|
|
828
|
-
"technology": "handlebars",
|
|
829
|
-
"phase": "implement",
|
|
830
|
-
"required": false,
|
|
831
|
-
"description": "F-Thread aggregator HOP that scores and selects the winning implementation using best-of-n, consensus, or manual-select strategies",
|
|
832
|
-
"outputName": "fusion-aggregator-prompt.md",
|
|
833
|
-
"placeholders": [
|
|
834
|
-
"AGENT_1",
|
|
835
|
-
"AGENT_2",
|
|
836
|
-
"AGENT_3",
|
|
837
|
-
"FEATURE_NAME",
|
|
838
|
-
"FUSION_RESULTS",
|
|
839
|
-
"FUSION_STRATEGY",
|
|
840
|
-
"SESSION_ID",
|
|
841
|
-
"THREAD_COUNT",
|
|
842
|
-
"WINNING_AGENT",
|
|
843
|
-
"WINNING_SCORE",
|
|
844
|
-
"WINNING_THREAD"
|
|
845
|
-
],
|
|
846
|
-
"stackSpecific": false,
|
|
847
|
-
"engine": "handlebars",
|
|
848
408
|
"deprecated": false,
|
|
849
|
-
"hopType": "fusion",
|
|
850
409
|
"validatePlaceholders": true
|
|
851
410
|
},
|
|
852
411
|
{
|
|
@@ -855,8 +414,7 @@
|
|
|
855
414
|
"path": "code/dotnet/abstractions/handler.cs",
|
|
856
415
|
"category": "abstractions",
|
|
857
416
|
"stack": "dotnet",
|
|
858
|
-
"description": "IHandler<TRequest, TResponse> interface"
|
|
859
|
-
"consumption": "reference"
|
|
417
|
+
"description": "IHandler<TRequest, TResponse> interface"
|
|
860
418
|
},
|
|
861
419
|
{
|
|
862
420
|
"id": "dotnet-abstractions-result",
|
|
@@ -864,8 +422,7 @@
|
|
|
864
422
|
"path": "code/dotnet/abstractions/result.cs",
|
|
865
423
|
"category": "abstractions",
|
|
866
424
|
"stack": "dotnet",
|
|
867
|
-
"description": "Result<T> railway-oriented pattern"
|
|
868
|
-
"consumption": "reference"
|
|
425
|
+
"description": "Result<T> railway-oriented pattern"
|
|
869
426
|
},
|
|
870
427
|
{
|
|
871
428
|
"id": "dotnet-abstractions-error",
|
|
@@ -873,8 +430,7 @@
|
|
|
873
430
|
"path": "code/dotnet/abstractions/error.cs",
|
|
874
431
|
"category": "abstractions",
|
|
875
432
|
"stack": "dotnet",
|
|
876
|
-
"description": "Error record + ErrorType enum + ValidationError"
|
|
877
|
-
"consumption": "reference"
|
|
433
|
+
"description": "Error record + ErrorType enum + ValidationError"
|
|
878
434
|
},
|
|
879
435
|
{
|
|
880
436
|
"id": "dotnet-abstractions-api-endpoint",
|
|
@@ -882,8 +438,7 @@
|
|
|
882
438
|
"path": "code/dotnet/abstractions/api-endpoint.cs",
|
|
883
439
|
"category": "abstractions",
|
|
884
440
|
"stack": "dotnet",
|
|
885
|
-
"description": "IApiEndpoint interface for minimal APIs"
|
|
886
|
-
"consumption": "reference"
|
|
441
|
+
"description": "IApiEndpoint interface for minimal APIs"
|
|
887
442
|
},
|
|
888
443
|
{
|
|
889
444
|
"id": "dotnet-extensions-handler-registration",
|
|
@@ -891,8 +446,7 @@
|
|
|
891
446
|
"path": "code/dotnet/extensions/handler-registration.cs",
|
|
892
447
|
"category": "extensions",
|
|
893
448
|
"stack": "dotnet",
|
|
894
|
-
"description": "Scrutor handler auto-discovery + decorators"
|
|
895
|
-
"consumption": "reference"
|
|
449
|
+
"description": "Scrutor handler auto-discovery + decorators"
|
|
896
450
|
},
|
|
897
451
|
{
|
|
898
452
|
"id": "dotnet-extensions-map-endpoints",
|
|
@@ -900,8 +454,7 @@
|
|
|
900
454
|
"path": "code/dotnet/extensions/map-endpoints.cs",
|
|
901
455
|
"category": "extensions",
|
|
902
456
|
"stack": "dotnet",
|
|
903
|
-
"description": "IApiEndpoint auto-discovery + mapping"
|
|
904
|
-
"consumption": "reference"
|
|
457
|
+
"description": "IApiEndpoint auto-discovery + mapping"
|
|
905
458
|
},
|
|
906
459
|
{
|
|
907
460
|
"id": "dotnet-extensions-result-extensions",
|
|
@@ -909,8 +462,7 @@
|
|
|
909
462
|
"path": "code/dotnet/extensions/result-extensions.cs",
|
|
910
463
|
"category": "extensions",
|
|
911
464
|
"stack": "dotnet",
|
|
912
|
-
"description": "Match() pattern matching for Result<T>"
|
|
913
|
-
"consumption": "reference"
|
|
465
|
+
"description": "Match() pattern matching for Result<T>"
|
|
914
466
|
},
|
|
915
467
|
{
|
|
916
468
|
"id": "dotnet-extensions-database",
|
|
@@ -918,8 +470,7 @@
|
|
|
918
470
|
"path": "code/dotnet/extensions/database-extensions.cs",
|
|
919
471
|
"category": "extensions",
|
|
920
472
|
"stack": "dotnet",
|
|
921
|
-
"description": "EF Core + Npgsql database configuration"
|
|
922
|
-
"consumption": "reference"
|
|
473
|
+
"description": "EF Core + Npgsql database configuration"
|
|
923
474
|
},
|
|
924
475
|
{
|
|
925
476
|
"id": "dotnet-extensions-health-checks",
|
|
@@ -927,8 +478,7 @@
|
|
|
927
478
|
"path": "code/dotnet/extensions/health-checks.cs",
|
|
928
479
|
"category": "extensions",
|
|
929
480
|
"stack": "dotnet",
|
|
930
|
-
"description": "Health check configuration"
|
|
931
|
-
"consumption": "reference"
|
|
481
|
+
"description": "Health check configuration"
|
|
932
482
|
},
|
|
933
483
|
{
|
|
934
484
|
"id": "dotnet-pipelines-validation-decorator",
|
|
@@ -936,8 +486,7 @@
|
|
|
936
486
|
"path": "code/dotnet/pipelines/validation-decorator.cs",
|
|
937
487
|
"category": "pipelines",
|
|
938
488
|
"stack": "dotnet",
|
|
939
|
-
"description": "FluentValidation decorator for handlers"
|
|
940
|
-
"consumption": "reference"
|
|
489
|
+
"description": "FluentValidation decorator for handlers"
|
|
941
490
|
},
|
|
942
491
|
{
|
|
943
492
|
"id": "dotnet-pipelines-logging-decorator",
|
|
@@ -945,8 +494,7 @@
|
|
|
945
494
|
"path": "code/dotnet/pipelines/logging-decorator.cs",
|
|
946
495
|
"category": "pipelines",
|
|
947
496
|
"stack": "dotnet",
|
|
948
|
-
"description": "Logging decorator with duration tracking"
|
|
949
|
-
"consumption": "reference"
|
|
497
|
+
"description": "Logging decorator with duration tracking"
|
|
950
498
|
},
|
|
951
499
|
{
|
|
952
500
|
"id": "dotnet-exceptions-handler",
|
|
@@ -954,8 +502,7 @@
|
|
|
954
502
|
"path": "code/dotnet/exceptions/exception-handler.cs",
|
|
955
503
|
"category": "exceptions",
|
|
956
504
|
"stack": "dotnet",
|
|
957
|
-
"description": "IExceptionHandler with ProblemDetails"
|
|
958
|
-
"consumption": "reference"
|
|
505
|
+
"description": "IExceptionHandler with ProblemDetails"
|
|
959
506
|
},
|
|
960
507
|
{
|
|
961
508
|
"id": "dotnet-constants-api-tags",
|
|
@@ -963,8 +510,7 @@
|
|
|
963
510
|
"path": "code/dotnet/constants/api-tags.cs",
|
|
964
511
|
"category": "constants",
|
|
965
512
|
"stack": "dotnet",
|
|
966
|
-
"description": "ApiTags constants for endpoint grouping"
|
|
967
|
-
"consumption": "reference"
|
|
513
|
+
"description": "ApiTags constants for endpoint grouping"
|
|
968
514
|
},
|
|
969
515
|
{
|
|
970
516
|
"id": "dotnet-feature-endpoint",
|
|
@@ -972,8 +518,7 @@
|
|
|
972
518
|
"path": "code/dotnet/feature/endpoint.cs.hbs",
|
|
973
519
|
"category": "feature",
|
|
974
520
|
"stack": "dotnet",
|
|
975
|
-
"description": "VSA feature endpoint (IApiEndpoint)"
|
|
976
|
-
"consumption": "reference"
|
|
521
|
+
"description": "VSA feature endpoint (IApiEndpoint)"
|
|
977
522
|
},
|
|
978
523
|
{
|
|
979
524
|
"id": "dotnet-feature-handler",
|
|
@@ -981,8 +526,7 @@
|
|
|
981
526
|
"path": "code/dotnet/feature/handler.cs.hbs",
|
|
982
527
|
"category": "feature",
|
|
983
528
|
"stack": "dotnet",
|
|
984
|
-
"description": "VSA feature handler (IHandler)"
|
|
985
|
-
"consumption": "reference"
|
|
529
|
+
"description": "VSA feature handler (IHandler)"
|
|
986
530
|
},
|
|
987
531
|
{
|
|
988
532
|
"id": "dotnet-feature-validator",
|
|
@@ -990,8 +534,7 @@
|
|
|
990
534
|
"path": "code/dotnet/feature/validator.cs.hbs",
|
|
991
535
|
"category": "feature",
|
|
992
536
|
"stack": "dotnet",
|
|
993
|
-
"description": "VSA feature validator (AbstractValidator)"
|
|
994
|
-
"consumption": "reference"
|
|
537
|
+
"description": "VSA feature validator (AbstractValidator)"
|
|
995
538
|
},
|
|
996
539
|
{
|
|
997
540
|
"id": "dotnet-feature-request",
|
|
@@ -999,8 +542,7 @@
|
|
|
999
542
|
"path": "code/dotnet/feature/request.cs.hbs",
|
|
1000
543
|
"category": "feature",
|
|
1001
544
|
"stack": "dotnet",
|
|
1002
|
-
"description": "VSA feature request (sealed record)"
|
|
1003
|
-
"consumption": "reference"
|
|
545
|
+
"description": "VSA feature request (sealed record)"
|
|
1004
546
|
},
|
|
1005
547
|
{
|
|
1006
548
|
"id": "dotnet-feature-response",
|
|
@@ -1008,8 +550,7 @@
|
|
|
1008
550
|
"path": "code/dotnet/feature/response.cs.hbs",
|
|
1009
551
|
"category": "feature",
|
|
1010
552
|
"stack": "dotnet",
|
|
1011
|
-
"description": "VSA feature response (sealed record)"
|
|
1012
|
-
"consumption": "reference"
|
|
553
|
+
"description": "VSA feature response (sealed record)"
|
|
1013
554
|
},
|
|
1014
555
|
{
|
|
1015
556
|
"id": "dotnet-feature-errors",
|
|
@@ -1017,8 +558,7 @@
|
|
|
1017
558
|
"path": "code/dotnet/feature/errors.cs.hbs",
|
|
1018
559
|
"category": "feature",
|
|
1019
560
|
"stack": "dotnet",
|
|
1020
|
-
"description": "VSA feature error factory"
|
|
1021
|
-
"consumption": "reference"
|
|
561
|
+
"description": "VSA feature error factory"
|
|
1022
562
|
},
|
|
1023
563
|
{
|
|
1024
564
|
"id": "dotnet-feature-entity",
|
|
@@ -1026,8 +566,7 @@
|
|
|
1026
566
|
"path": "code/dotnet/feature/entity.cs.hbs",
|
|
1027
567
|
"category": "feature",
|
|
1028
568
|
"stack": "dotnet",
|
|
1029
|
-
"description": "VSA feature entity"
|
|
1030
|
-
"consumption": "reference"
|
|
569
|
+
"description": "VSA feature entity"
|
|
1031
570
|
},
|
|
1032
571
|
{
|
|
1033
572
|
"id": "gsap-scroll-section",
|
|
@@ -1036,9 +575,7 @@
|
|
|
1036
575
|
"category": "ui",
|
|
1037
576
|
"stack": "nextjs",
|
|
1038
577
|
"description": "Scroll-animated section using GSAP ScrollTrigger with useGSAP hook and reduced-motion check",
|
|
1039
|
-
"consumption": "reference",
|
|
1040
578
|
"name": "GSAP Scroll Section",
|
|
1041
|
-
"engine": "handlebars",
|
|
1042
579
|
"deprecated": false,
|
|
1043
580
|
"phase": null,
|
|
1044
581
|
"outputName": null,
|
|
@@ -1048,7 +585,6 @@
|
|
|
1048
585
|
{
|
|
1049
586
|
"id": "maf-agent-bootstrap",
|
|
1050
587
|
"kind": "fragment",
|
|
1051
|
-
"consumption": "reference",
|
|
1052
588
|
"path": "code/dotnet/ai-agents/AgentBootstrap.cs.template",
|
|
1053
589
|
"category": "ai-agents",
|
|
1054
590
|
"stack": "dotnet",
|
|
@@ -1057,7 +593,6 @@
|
|
|
1057
593
|
{
|
|
1058
594
|
"id": "maf-embedding-service",
|
|
1059
595
|
"kind": "fragment",
|
|
1060
|
-
"consumption": "reference",
|
|
1061
596
|
"path": "code/dotnet/ai-agents/EmbeddingService.cs.template",
|
|
1062
597
|
"category": "ai-agents",
|
|
1063
598
|
"stack": "dotnet",
|
|
@@ -1066,7 +601,6 @@
|
|
|
1066
601
|
{
|
|
1067
602
|
"id": "maf-model-registry",
|
|
1068
603
|
"kind": "fragment",
|
|
1069
|
-
"consumption": "reference",
|
|
1070
604
|
"path": "code/dotnet/ai-agents/ModelRegistry.cs.template",
|
|
1071
605
|
"category": "ai-agents",
|
|
1072
606
|
"stack": "dotnet",
|
|
@@ -1075,7 +609,6 @@
|
|
|
1075
609
|
{
|
|
1076
610
|
"id": "maf-prompt-repository",
|
|
1077
611
|
"kind": "fragment",
|
|
1078
|
-
"consumption": "reference",
|
|
1079
612
|
"path": "code/dotnet/ai-agents/PromptRepository.cs.template",
|
|
1080
613
|
"category": "ai-agents",
|
|
1081
614
|
"stack": "dotnet",
|
|
@@ -1084,7 +617,6 @@
|
|
|
1084
617
|
{
|
|
1085
618
|
"id": "maf-resilient-tool-middleware",
|
|
1086
619
|
"kind": "fragment",
|
|
1087
|
-
"consumption": "reference",
|
|
1088
620
|
"path": "code/dotnet/ai-agents/ResilientToolMiddleware.cs.template",
|
|
1089
621
|
"category": "ai-agents",
|
|
1090
622
|
"stack": "dotnet",
|
|
@@ -1093,7 +625,6 @@
|
|
|
1093
625
|
{
|
|
1094
626
|
"id": "maf-vector-search-tool",
|
|
1095
627
|
"kind": "fragment",
|
|
1096
|
-
"consumption": "reference",
|
|
1097
628
|
"path": "code/dotnet/ai-agents/VectorSearchTool.cs.template",
|
|
1098
629
|
"category": "ai-agents",
|
|
1099
630
|
"stack": "dotnet",
|
|
@@ -1110,7 +641,6 @@
|
|
|
1110
641
|
{
|
|
1111
642
|
"id": "maf-model-registry-config",
|
|
1112
643
|
"kind": "fragment",
|
|
1113
|
-
"consumption": "reference",
|
|
1114
644
|
"path": "code/dotnet/ai-agents/model-registry.json.template",
|
|
1115
645
|
"category": "ai-agents",
|
|
1116
646
|
"stack": "dotnet",
|
|
@@ -1119,7 +649,6 @@
|
|
|
1119
649
|
{
|
|
1120
650
|
"id": "maf-agent-prompts-migration",
|
|
1121
651
|
"kind": "fragment",
|
|
1122
|
-
"consumption": "reference",
|
|
1123
652
|
"path": "code/sql/ai-agents/agent-prompts-migration.sql.template",
|
|
1124
653
|
"category": "code",
|
|
1125
654
|
"stack": "dotnet",
|
|
@@ -1128,7 +657,6 @@
|
|
|
1128
657
|
{
|
|
1129
658
|
"id": "maf-pgvector-embeddings-migration",
|
|
1130
659
|
"kind": "fragment",
|
|
1131
|
-
"consumption": "reference",
|
|
1132
660
|
"path": "code/sql/ai-agents/pgvector-embeddings-migration.sql.template",
|
|
1133
661
|
"category": "code",
|
|
1134
662
|
"stack": "dotnet",
|
|
@@ -1137,7 +665,6 @@
|
|
|
1137
665
|
{
|
|
1138
666
|
"id": "dotnet-database-vector-entity",
|
|
1139
667
|
"kind": "fragment",
|
|
1140
|
-
"consumption": "reference",
|
|
1141
668
|
"path": "code/dotnet/database/vector-entity.cs",
|
|
1142
669
|
"category": "code",
|
|
1143
670
|
"stack": "dotnet",
|
|
@@ -1146,14 +673,12 @@
|
|
|
1146
673
|
{
|
|
1147
674
|
"id": "nextjs-page",
|
|
1148
675
|
"kind": "template",
|
|
1149
|
-
"consumption": "generated",
|
|
1150
676
|
"name": "Next.js Feature Page",
|
|
1151
677
|
"path": "frontend/nextjs/page.tsx.hbs",
|
|
1152
678
|
"category": "ui",
|
|
1153
679
|
"phase": null,
|
|
1154
680
|
"outputName": null,
|
|
1155
681
|
"description": "Server component page for a dashboard feature route",
|
|
1156
|
-
"engine": "handlebars",
|
|
1157
682
|
"deprecated": false,
|
|
1158
683
|
"placeholders": [],
|
|
1159
684
|
"validatePlaceholders": true
|
|
@@ -1161,14 +686,12 @@
|
|
|
1161
686
|
{
|
|
1162
687
|
"id": "nextjs-client-component",
|
|
1163
688
|
"kind": "template",
|
|
1164
|
-
"consumption": "generated",
|
|
1165
689
|
"name": "Next.js Client Component",
|
|
1166
690
|
"path": "frontend/nextjs/client-component.tsx.hbs",
|
|
1167
691
|
"category": "ui",
|
|
1168
692
|
"phase": null,
|
|
1169
693
|
"outputName": null,
|
|
1170
694
|
"description": "Client component listing feature records",
|
|
1171
|
-
"engine": "handlebars",
|
|
1172
695
|
"deprecated": false,
|
|
1173
696
|
"placeholders": [],
|
|
1174
697
|
"validatePlaceholders": true
|
|
@@ -1176,14 +699,12 @@
|
|
|
1176
699
|
{
|
|
1177
700
|
"id": "nextjs-feature-form",
|
|
1178
701
|
"kind": "template",
|
|
1179
|
-
"consumption": "generated",
|
|
1180
702
|
"name": "Next.js Feature Form",
|
|
1181
703
|
"path": "frontend/nextjs/feature-form.tsx.hbs",
|
|
1182
704
|
"category": "ui",
|
|
1183
705
|
"phase": null,
|
|
1184
706
|
"outputName": null,
|
|
1185
707
|
"description": "Client form component for creating a feature record",
|
|
1186
|
-
"engine": "handlebars",
|
|
1187
708
|
"deprecated": false,
|
|
1188
709
|
"placeholders": [],
|
|
1189
710
|
"validatePlaceholders": true
|
|
@@ -1191,14 +712,12 @@
|
|
|
1191
712
|
{
|
|
1192
713
|
"id": "nextjs-use-feature",
|
|
1193
714
|
"kind": "template",
|
|
1194
|
-
"consumption": "generated",
|
|
1195
715
|
"name": "Next.js Feature Hook",
|
|
1196
716
|
"path": "frontend/nextjs/use-feature.ts.hbs",
|
|
1197
717
|
"category": "ui",
|
|
1198
718
|
"phase": null,
|
|
1199
719
|
"outputName": null,
|
|
1200
720
|
"description": "Data-fetching hook for a feature",
|
|
1201
|
-
"engine": "handlebars",
|
|
1202
721
|
"deprecated": false,
|
|
1203
722
|
"placeholders": [],
|
|
1204
723
|
"validatePlaceholders": true
|
|
@@ -1206,14 +725,12 @@
|
|
|
1206
725
|
{
|
|
1207
726
|
"id": "nextjs-dockerfile",
|
|
1208
727
|
"kind": "template",
|
|
1209
|
-
"consumption": "reference",
|
|
1210
728
|
"name": "Next.js Dockerfile",
|
|
1211
729
|
"path": "frontend/nextjs/Dockerfile.nextjs.hbs",
|
|
1212
730
|
"category": "infrastructure",
|
|
1213
731
|
"phase": null,
|
|
1214
732
|
"outputName": null,
|
|
1215
733
|
"description": "Multi-stage Dockerfile for a Next.js standalone build",
|
|
1216
|
-
"engine": "handlebars",
|
|
1217
734
|
"deprecated": false,
|
|
1218
735
|
"placeholders": [],
|
|
1219
736
|
"validatePlaceholders": true
|
|
@@ -1221,14 +738,12 @@
|
|
|
1221
738
|
{
|
|
1222
739
|
"id": "nextjs-env-mjs",
|
|
1223
740
|
"kind": "template",
|
|
1224
|
-
"consumption": "reference",
|
|
1225
741
|
"name": "Next.js Env Schema",
|
|
1226
742
|
"path": "frontend/nextjs/env.mjs.hbs",
|
|
1227
743
|
"category": "ui",
|
|
1228
744
|
"phase": null,
|
|
1229
745
|
"outputName": null,
|
|
1230
746
|
"description": "Type-safe environment variable schema (env.mjs)",
|
|
1231
|
-
"engine": "handlebars",
|
|
1232
747
|
"deprecated": false,
|
|
1233
748
|
"placeholders": [],
|
|
1234
749
|
"validatePlaceholders": true
|
|
@@ -1236,14 +751,12 @@
|
|
|
1236
751
|
{
|
|
1237
752
|
"id": "nextjs-tsconfig",
|
|
1238
753
|
"kind": "template",
|
|
1239
|
-
"consumption": "reference",
|
|
1240
754
|
"name": "Next.js tsconfig",
|
|
1241
755
|
"path": "frontend/nextjs/tsconfig.json.hbs",
|
|
1242
756
|
"category": "ui",
|
|
1243
757
|
"phase": null,
|
|
1244
758
|
"outputName": null,
|
|
1245
759
|
"description": "TypeScript configuration for a Next.js project",
|
|
1246
|
-
"engine": "handlebars",
|
|
1247
760
|
"deprecated": false,
|
|
1248
761
|
"placeholders": [],
|
|
1249
762
|
"validatePlaceholders": true
|
|
@@ -1251,14 +764,12 @@
|
|
|
1251
764
|
{
|
|
1252
765
|
"id": "context-design-system",
|
|
1253
766
|
"kind": "template",
|
|
1254
|
-
"consumption": "reference",
|
|
1255
767
|
"name": "Design System Context",
|
|
1256
768
|
"path": "context/design-system.md",
|
|
1257
769
|
"category": "context",
|
|
1258
770
|
"phase": null,
|
|
1259
771
|
"outputName": null,
|
|
1260
772
|
"description": "Design system context document — copy to .morph/context/design-system.md",
|
|
1261
|
-
"engine": "handlebars",
|
|
1262
773
|
"deprecated": false,
|
|
1263
774
|
"placeholders": [],
|
|
1264
775
|
"validatePlaceholders": true
|
|
@@ -1266,14 +777,12 @@
|
|
|
1266
777
|
{
|
|
1267
778
|
"id": "claude-md-core",
|
|
1268
779
|
"kind": "template",
|
|
1269
|
-
"consumption": "reference",
|
|
1270
780
|
"name": "CLAUDE.md (core)",
|
|
1271
781
|
"path": "CLAUDE.md.core.template",
|
|
1272
782
|
"category": "documentation",
|
|
1273
783
|
"phase": null,
|
|
1274
784
|
"outputName": null,
|
|
1275
785
|
"description": "CLAUDE.md project-instructions template for a new morph-spec project",
|
|
1276
|
-
"engine": "handlebars",
|
|
1277
786
|
"deprecated": false,
|
|
1278
787
|
"placeholders": [],
|
|
1279
788
|
"validatePlaceholders": true
|
|
@@ -1281,14 +790,12 @@
|
|
|
1281
790
|
{
|
|
1282
791
|
"id": "claude-md-core-guide",
|
|
1283
792
|
"kind": "template",
|
|
1284
|
-
"consumption": "reference",
|
|
1285
793
|
"name": "CLAUDE.md Authoring Guide",
|
|
1286
794
|
"path": "CLAUDE.md.core.guide.md",
|
|
1287
795
|
"category": "documentation",
|
|
1288
796
|
"phase": null,
|
|
1289
797
|
"outputName": null,
|
|
1290
798
|
"description": "Authoring guide explaining how to fill in the CLAUDE.md core template",
|
|
1291
|
-
"engine": "handlebars",
|
|
1292
799
|
"deprecated": false,
|
|
1293
800
|
"placeholders": [],
|
|
1294
801
|
"validatePlaceholders": true
|
|
@@ -1296,14 +803,12 @@
|
|
|
1296
803
|
{
|
|
1297
804
|
"id": "state-template",
|
|
1298
805
|
"kind": "template",
|
|
1299
|
-
"consumption": "reference",
|
|
1300
806
|
"name": "state.json",
|
|
1301
807
|
"path": "state.template.json",
|
|
1302
808
|
"category": "context",
|
|
1303
809
|
"phase": null,
|
|
1304
810
|
"outputName": null,
|
|
1305
811
|
"description": "Initial .morph/state.json scaffold for a new project",
|
|
1306
|
-
"engine": "handlebars",
|
|
1307
812
|
"deprecated": false,
|
|
1308
813
|
"placeholders": [
|
|
1309
814
|
"PROJECT_NAME",
|