@fermindi/pwn-cli 0.1.1 → 0.2.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/LICENSE +21 -21
- package/README.md +265 -251
- package/cli/batch.js +333 -333
- package/cli/codespaces.js +303 -303
- package/cli/index.js +98 -91
- package/cli/inject.js +78 -67
- package/cli/knowledge.js +531 -531
- package/cli/migrate.js +466 -0
- package/cli/notify.js +135 -135
- package/cli/patterns.js +665 -665
- package/cli/status.js +91 -91
- package/cli/validate.js +61 -61
- package/package.json +70 -70
- package/src/core/inject.js +208 -204
- package/src/core/state.js +91 -91
- package/src/core/validate.js +202 -202
- package/src/core/workspace.js +176 -176
- package/src/index.js +20 -20
- package/src/knowledge/gc.js +308 -308
- package/src/knowledge/lifecycle.js +401 -401
- package/src/knowledge/promote.js +364 -364
- package/src/knowledge/references.js +342 -342
- package/src/patterns/matcher.js +218 -218
- package/src/patterns/registry.js +375 -375
- package/src/patterns/triggers.js +423 -423
- package/src/services/batch-service.js +849 -849
- package/src/services/notification-service.js +342 -342
- package/templates/codespaces/devcontainer.json +52 -52
- package/templates/codespaces/setup.sh +70 -70
- package/templates/workspace/.ai/README.md +164 -164
- package/templates/workspace/.ai/agents/README.md +204 -204
- package/templates/workspace/.ai/agents/claude.md +625 -625
- package/templates/workspace/.ai/config/README.md +79 -79
- package/templates/workspace/.ai/config/notifications.template.json +20 -20
- package/templates/workspace/.ai/memory/deadends.md +79 -79
- package/templates/workspace/.ai/memory/decisions.md +58 -58
- package/templates/workspace/.ai/memory/patterns.md +65 -65
- package/templates/workspace/.ai/patterns/backend/README.md +126 -126
- package/templates/workspace/.ai/patterns/frontend/README.md +103 -103
- package/templates/workspace/.ai/patterns/index.md +256 -256
- package/templates/workspace/.ai/patterns/triggers.json +1087 -1087
- package/templates/workspace/.ai/patterns/universal/README.md +141 -141
- package/templates/workspace/.ai/state.template.json +8 -8
- package/templates/workspace/.ai/tasks/active.md +77 -77
- package/templates/workspace/.ai/tasks/backlog.md +95 -95
- package/templates/workspace/.ai/workflows/batch-task.md +356 -356
|
@@ -1,1087 +1,1087 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "1.0.0",
|
|
3
|
-
"description": "Pattern trigger definitions - determines which patterns auto-load based on context",
|
|
4
|
-
"lastUpdated": "2026-01-22T00:00:00Z",
|
|
5
|
-
"triggers": [
|
|
6
|
-
{
|
|
7
|
-
"id": "fe-react-tsx",
|
|
8
|
-
"name": "React TypeScript Components",
|
|
9
|
-
"type": "fileExt",
|
|
10
|
-
"value": ["*.tsx"],
|
|
11
|
-
"patterns": ["frontend/react", "universal/typescript"],
|
|
12
|
-
"description": "Auto-loads React and TypeScript patterns for .tsx files",
|
|
13
|
-
"priority": 100,
|
|
14
|
-
"enabled": true
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"id": "fe-react-jsx",
|
|
18
|
-
"name": "React JavaScript Components",
|
|
19
|
-
"type": "fileExt",
|
|
20
|
-
"value": ["*.jsx"],
|
|
21
|
-
"patterns": ["frontend/react"],
|
|
22
|
-
"description": "Auto-loads React patterns for .jsx files",
|
|
23
|
-
"priority": 100,
|
|
24
|
-
"enabled": true
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"id": "fe-vue-sfc",
|
|
28
|
-
"name": "Vue Single File Components",
|
|
29
|
-
"type": "fileExt",
|
|
30
|
-
"value": ["*.vue"],
|
|
31
|
-
"patterns": ["frontend/vue", "universal/typescript"],
|
|
32
|
-
"description": "Auto-loads Vue patterns for .vue files",
|
|
33
|
-
"priority": 100,
|
|
34
|
-
"enabled": true
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"id": "fe-svelte-components",
|
|
38
|
-
"name": "Svelte Components",
|
|
39
|
-
"type": "fileExt",
|
|
40
|
-
"value": ["*.svelte"],
|
|
41
|
-
"patterns": ["frontend/svelte"],
|
|
42
|
-
"description": "Auto-loads Svelte patterns for .svelte files",
|
|
43
|
-
"priority": 100,
|
|
44
|
-
"enabled": true
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"id": "fe-angular-components",
|
|
48
|
-
"name": "Angular Components",
|
|
49
|
-
"type": "fileExt",
|
|
50
|
-
"value": ["*.component.ts"],
|
|
51
|
-
"patterns": ["frontend/angular", "universal/typescript"],
|
|
52
|
-
"description": "Auto-loads Angular patterns for component files",
|
|
53
|
-
"priority": 100,
|
|
54
|
-
"enabled": true
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"id": "fe-css-styles",
|
|
58
|
-
"name": "CSS Stylesheets",
|
|
59
|
-
"type": "fileExt",
|
|
60
|
-
"value": ["*.css"],
|
|
61
|
-
"patterns": ["frontend/styling"],
|
|
62
|
-
"description": "Auto-loads CSS patterns",
|
|
63
|
-
"priority": 90,
|
|
64
|
-
"enabled": true
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"id": "fe-scss-styles",
|
|
68
|
-
"name": "SCSS Stylesheets",
|
|
69
|
-
"type": "fileExt",
|
|
70
|
-
"value": ["*.scss", "*.sass"],
|
|
71
|
-
"patterns": ["frontend/styling", "frontend/scss"],
|
|
72
|
-
"description": "Auto-loads SCSS/Sass patterns",
|
|
73
|
-
"priority": 90,
|
|
74
|
-
"enabled": true
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"id": "fe-tailwind",
|
|
78
|
-
"name": "Tailwind CSS",
|
|
79
|
-
"type": "import",
|
|
80
|
-
"value": ["tailwindcss", "tailwind.config"],
|
|
81
|
-
"patterns": ["frontend/tailwind"],
|
|
82
|
-
"description": "Auto-loads Tailwind patterns when detected",
|
|
83
|
-
"priority": 85,
|
|
84
|
-
"enabled": true
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"id": "fe-nextjs-pages",
|
|
88
|
-
"name": "Next.js Pages",
|
|
89
|
-
"type": "path",
|
|
90
|
-
"value": ["pages/**/*.tsx", "pages/**/*.ts", "app/**/*.tsx"],
|
|
91
|
-
"patterns": ["frontend/nextjs", "frontend/react"],
|
|
92
|
-
"description": "Auto-loads Next.js patterns for pages directory",
|
|
93
|
-
"priority": 95,
|
|
94
|
-
"enabled": true
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"id": "fe-nextjs-api",
|
|
98
|
-
"name": "Next.js API Routes",
|
|
99
|
-
"type": "path",
|
|
100
|
-
"value": ["pages/api/**/*.ts", "app/api/**/*.ts"],
|
|
101
|
-
"patterns": ["frontend/nextjs", "backend/rest-api"],
|
|
102
|
-
"description": "Auto-loads Next.js API patterns",
|
|
103
|
-
"priority": 95,
|
|
104
|
-
"enabled": true
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"id": "fe-remix",
|
|
108
|
-
"name": "Remix Routes",
|
|
109
|
-
"type": "path",
|
|
110
|
-
"value": ["app/routes/**/*.tsx"],
|
|
111
|
-
"patterns": ["frontend/remix", "frontend/react"],
|
|
112
|
-
"description": "Auto-loads Remix patterns",
|
|
113
|
-
"priority": 95,
|
|
114
|
-
"enabled": true
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
"id": "fe-astro",
|
|
118
|
-
"name": "Astro Components",
|
|
119
|
-
"type": "fileExt",
|
|
120
|
-
"value": ["*.astro"],
|
|
121
|
-
"patterns": ["frontend/astro"],
|
|
122
|
-
"description": "Auto-loads Astro patterns",
|
|
123
|
-
"priority": 100,
|
|
124
|
-
"enabled": true
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"id": "fe-components-dir",
|
|
128
|
-
"name": "Component Directory",
|
|
129
|
-
"type": "path",
|
|
130
|
-
"value": ["src/components/**/*", "components/**/*"],
|
|
131
|
-
"patterns": ["frontend/components"],
|
|
132
|
-
"description": "Auto-loads component patterns for component directories",
|
|
133
|
-
"priority": 80,
|
|
134
|
-
"enabled": true
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
"id": "fe-hooks-dir",
|
|
138
|
-
"name": "React Hooks Directory",
|
|
139
|
-
"type": "path",
|
|
140
|
-
"value": ["src/hooks/**/*", "hooks/**/*"],
|
|
141
|
-
"patterns": ["frontend/react/hooks"],
|
|
142
|
-
"description": "Auto-loads React hooks patterns",
|
|
143
|
-
"priority": 80,
|
|
144
|
-
"enabled": true
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
"id": "fe-react-hooks-import",
|
|
148
|
-
"name": "React Hooks Usage",
|
|
149
|
-
"type": "import",
|
|
150
|
-
"value": ["import.*use(State|Effect|Context|Reducer|Memo|Callback|Ref)"],
|
|
151
|
-
"patterns": ["frontend/react/hooks"],
|
|
152
|
-
"description": "Auto-loads hooks patterns when using React hooks",
|
|
153
|
-
"priority": 60,
|
|
154
|
-
"enabled": true
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"id": "fe-react-query",
|
|
158
|
-
"name": "React Query / TanStack Query",
|
|
159
|
-
"type": "import",
|
|
160
|
-
"value": ["@tanstack/react-query", "react-query"],
|
|
161
|
-
"patterns": ["frontend/react-query"],
|
|
162
|
-
"description": "Auto-loads React Query patterns",
|
|
163
|
-
"priority": 60,
|
|
164
|
-
"enabled": true
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
"id": "fe-redux",
|
|
168
|
-
"name": "Redux State Management",
|
|
169
|
-
"type": "import",
|
|
170
|
-
"value": ["@reduxjs/toolkit", "redux", "react-redux"],
|
|
171
|
-
"patterns": ["frontend/redux"],
|
|
172
|
-
"description": "Auto-loads Redux patterns",
|
|
173
|
-
"priority": 60,
|
|
174
|
-
"enabled": true
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
"id": "fe-zustand",
|
|
178
|
-
"name": "Zustand State Management",
|
|
179
|
-
"type": "import",
|
|
180
|
-
"value": ["zustand"],
|
|
181
|
-
"patterns": ["frontend/zustand"],
|
|
182
|
-
"description": "Auto-loads Zustand patterns",
|
|
183
|
-
"priority": 60,
|
|
184
|
-
"enabled": true
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
"id": "fe-jotai",
|
|
188
|
-
"name": "Jotai State Management",
|
|
189
|
-
"type": "import",
|
|
190
|
-
"value": ["jotai"],
|
|
191
|
-
"patterns": ["frontend/jotai"],
|
|
192
|
-
"description": "Auto-loads Jotai patterns",
|
|
193
|
-
"priority": 60,
|
|
194
|
-
"enabled": true
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
"id": "fe-shadcn",
|
|
198
|
-
"name": "shadcn/ui Components",
|
|
199
|
-
"type": "import",
|
|
200
|
-
"value": ["@/components/ui", "from.*shadcn"],
|
|
201
|
-
"patterns": ["frontend/shadcn"],
|
|
202
|
-
"description": "Auto-loads shadcn/ui patterns",
|
|
203
|
-
"priority": 60,
|
|
204
|
-
"enabled": true
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
"id": "fe-radix",
|
|
208
|
-
"name": "Radix UI Components",
|
|
209
|
-
"type": "import",
|
|
210
|
-
"value": ["@radix-ui"],
|
|
211
|
-
"patterns": ["frontend/radix"],
|
|
212
|
-
"description": "Auto-loads Radix UI patterns",
|
|
213
|
-
"priority": 60,
|
|
214
|
-
"enabled": true
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
"id": "fe-mui",
|
|
218
|
-
"name": "Material UI Components",
|
|
219
|
-
"type": "import",
|
|
220
|
-
"value": ["@mui/material", "@material-ui"],
|
|
221
|
-
"patterns": ["frontend/mui"],
|
|
222
|
-
"description": "Auto-loads MUI patterns",
|
|
223
|
-
"priority": 60,
|
|
224
|
-
"enabled": true
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
"id": "fe-chakra",
|
|
228
|
-
"name": "Chakra UI Components",
|
|
229
|
-
"type": "import",
|
|
230
|
-
"value": ["@chakra-ui"],
|
|
231
|
-
"patterns": ["frontend/chakra"],
|
|
232
|
-
"description": "Auto-loads Chakra UI patterns",
|
|
233
|
-
"priority": 60,
|
|
234
|
-
"enabled": true
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
"id": "fe-framer-motion",
|
|
238
|
-
"name": "Framer Motion Animations",
|
|
239
|
-
"type": "import",
|
|
240
|
-
"value": ["framer-motion"],
|
|
241
|
-
"patterns": ["frontend/animations"],
|
|
242
|
-
"description": "Auto-loads animation patterns",
|
|
243
|
-
"priority": 55,
|
|
244
|
-
"enabled": true
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
"id": "be-express-routes",
|
|
248
|
-
"name": "Express Routes",
|
|
249
|
-
"type": "fileExt",
|
|
250
|
-
"value": ["*.routes.ts", "*.routes.js", "*.router.ts"],
|
|
251
|
-
"patterns": ["backend/express", "universal/rest-api"],
|
|
252
|
-
"description": "Auto-loads Express patterns for route files",
|
|
253
|
-
"priority": 100,
|
|
254
|
-
"enabled": true
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
"id": "be-express-import",
|
|
258
|
-
"name": "Express Framework",
|
|
259
|
-
"type": "import",
|
|
260
|
-
"value": ["from.*express", "require.*express"],
|
|
261
|
-
"patterns": ["backend/express"],
|
|
262
|
-
"description": "Auto-loads Express patterns",
|
|
263
|
-
"priority": 60,
|
|
264
|
-
"enabled": true
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
"id": "be-fastify",
|
|
268
|
-
"name": "Fastify Framework",
|
|
269
|
-
"type": "import",
|
|
270
|
-
"value": ["fastify"],
|
|
271
|
-
"patterns": ["backend/fastify"],
|
|
272
|
-
"description": "Auto-loads Fastify patterns",
|
|
273
|
-
"priority": 60,
|
|
274
|
-
"enabled": true
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
"id": "be-hono",
|
|
278
|
-
"name": "Hono Framework",
|
|
279
|
-
"type": "import",
|
|
280
|
-
"value": ["hono"],
|
|
281
|
-
"patterns": ["backend/hono"],
|
|
282
|
-
"description": "Auto-loads Hono patterns",
|
|
283
|
-
"priority": 60,
|
|
284
|
-
"enabled": true
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
"id": "be-nestjs",
|
|
288
|
-
"name": "NestJS Framework",
|
|
289
|
-
"type": "import",
|
|
290
|
-
"value": ["@nestjs"],
|
|
291
|
-
"patterns": ["backend/nestjs", "universal/typescript"],
|
|
292
|
-
"description": "Auto-loads NestJS patterns",
|
|
293
|
-
"priority": 60,
|
|
294
|
-
"enabled": true
|
|
295
|
-
},
|
|
296
|
-
{
|
|
297
|
-
"id": "be-python",
|
|
298
|
-
"name": "Python Files",
|
|
299
|
-
"type": "fileExt",
|
|
300
|
-
"value": ["*.py"],
|
|
301
|
-
"patterns": ["backend/python"],
|
|
302
|
-
"description": "Auto-loads Python patterns",
|
|
303
|
-
"priority": 100,
|
|
304
|
-
"enabled": true
|
|
305
|
-
},
|
|
306
|
-
{
|
|
307
|
-
"id": "be-fastapi",
|
|
308
|
-
"name": "FastAPI Framework",
|
|
309
|
-
"type": "import",
|
|
310
|
-
"value": ["from fastapi", "import fastapi"],
|
|
311
|
-
"patterns": ["backend/fastapi", "backend/python"],
|
|
312
|
-
"description": "Auto-loads FastAPI patterns",
|
|
313
|
-
"priority": 60,
|
|
314
|
-
"enabled": true
|
|
315
|
-
},
|
|
316
|
-
{
|
|
317
|
-
"id": "be-django",
|
|
318
|
-
"name": "Django Framework",
|
|
319
|
-
"type": "import",
|
|
320
|
-
"value": ["from django", "import django"],
|
|
321
|
-
"patterns": ["backend/django", "backend/python"],
|
|
322
|
-
"description": "Auto-loads Django patterns",
|
|
323
|
-
"priority": 60,
|
|
324
|
-
"enabled": true
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
"id": "be-flask",
|
|
328
|
-
"name": "Flask Framework",
|
|
329
|
-
"type": "import",
|
|
330
|
-
"value": ["from flask", "import flask"],
|
|
331
|
-
"patterns": ["backend/flask", "backend/python"],
|
|
332
|
-
"description": "Auto-loads Flask patterns",
|
|
333
|
-
"priority": 60,
|
|
334
|
-
"enabled": true
|
|
335
|
-
},
|
|
336
|
-
{
|
|
337
|
-
"id": "be-go",
|
|
338
|
-
"name": "Go Files",
|
|
339
|
-
"type": "fileExt",
|
|
340
|
-
"value": ["*.go"],
|
|
341
|
-
"patterns": ["backend/go"],
|
|
342
|
-
"description": "Auto-loads Go patterns",
|
|
343
|
-
"priority": 100,
|
|
344
|
-
"enabled": true
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
"id": "be-rust",
|
|
348
|
-
"name": "Rust Files",
|
|
349
|
-
"type": "fileExt",
|
|
350
|
-
"value": ["*.rs"],
|
|
351
|
-
"patterns": ["backend/rust"],
|
|
352
|
-
"description": "Auto-loads Rust patterns",
|
|
353
|
-
"priority": 100,
|
|
354
|
-
"enabled": true
|
|
355
|
-
},
|
|
356
|
-
{
|
|
357
|
-
"id": "be-java",
|
|
358
|
-
"name": "Java Files",
|
|
359
|
-
"type": "fileExt",
|
|
360
|
-
"value": ["*.java"],
|
|
361
|
-
"patterns": ["backend/java"],
|
|
362
|
-
"description": "Auto-loads Java patterns",
|
|
363
|
-
"priority": 100,
|
|
364
|
-
"enabled": true
|
|
365
|
-
},
|
|
366
|
-
{
|
|
367
|
-
"id": "be-kotlin",
|
|
368
|
-
"name": "Kotlin Files",
|
|
369
|
-
"type": "fileExt",
|
|
370
|
-
"value": ["*.kt"],
|
|
371
|
-
"patterns": ["backend/kotlin"],
|
|
372
|
-
"description": "Auto-loads Kotlin patterns",
|
|
373
|
-
"priority": 100,
|
|
374
|
-
"enabled": true
|
|
375
|
-
},
|
|
376
|
-
{
|
|
377
|
-
"id": "be-spring",
|
|
378
|
-
"name": "Spring Framework",
|
|
379
|
-
"type": "import",
|
|
380
|
-
"value": ["org.springframework"],
|
|
381
|
-
"patterns": ["backend/spring", "backend/java"],
|
|
382
|
-
"description": "Auto-loads Spring patterns",
|
|
383
|
-
"priority": 60,
|
|
384
|
-
"enabled": true
|
|
385
|
-
},
|
|
386
|
-
{
|
|
387
|
-
"id": "be-prisma",
|
|
388
|
-
"name": "Prisma ORM",
|
|
389
|
-
"type": "import",
|
|
390
|
-
"value": ["@prisma/client", "from.*prisma"],
|
|
391
|
-
"patterns": ["backend/prisma", "backend/database"],
|
|
392
|
-
"description": "Auto-loads Prisma patterns",
|
|
393
|
-
"priority": 60,
|
|
394
|
-
"enabled": true
|
|
395
|
-
},
|
|
396
|
-
{
|
|
397
|
-
"id": "be-prisma-schema",
|
|
398
|
-
"name": "Prisma Schema",
|
|
399
|
-
"type": "fileExt",
|
|
400
|
-
"value": ["*.prisma"],
|
|
401
|
-
"patterns": ["backend/prisma"],
|
|
402
|
-
"description": "Auto-loads Prisma schema patterns",
|
|
403
|
-
"priority": 100,
|
|
404
|
-
"enabled": true
|
|
405
|
-
},
|
|
406
|
-
{
|
|
407
|
-
"id": "be-drizzle",
|
|
408
|
-
"name": "Drizzle ORM",
|
|
409
|
-
"type": "import",
|
|
410
|
-
"value": ["drizzle-orm"],
|
|
411
|
-
"patterns": ["backend/drizzle", "backend/database"],
|
|
412
|
-
"description": "Auto-loads Drizzle patterns",
|
|
413
|
-
"priority": 60,
|
|
414
|
-
"enabled": true
|
|
415
|
-
},
|
|
416
|
-
{
|
|
417
|
-
"id": "be-typeorm",
|
|
418
|
-
"name": "TypeORM",
|
|
419
|
-
"type": "import",
|
|
420
|
-
"value": ["typeorm"],
|
|
421
|
-
"patterns": ["backend/typeorm", "backend/database"],
|
|
422
|
-
"description": "Auto-loads TypeORM patterns",
|
|
423
|
-
"priority": 60,
|
|
424
|
-
"enabled": true
|
|
425
|
-
},
|
|
426
|
-
{
|
|
427
|
-
"id": "be-sequelize",
|
|
428
|
-
"name": "Sequelize ORM",
|
|
429
|
-
"type": "import",
|
|
430
|
-
"value": ["sequelize"],
|
|
431
|
-
"patterns": ["backend/sequelize", "backend/database"],
|
|
432
|
-
"description": "Auto-loads Sequelize patterns",
|
|
433
|
-
"priority": 60,
|
|
434
|
-
"enabled": true
|
|
435
|
-
},
|
|
436
|
-
{
|
|
437
|
-
"id": "be-knex",
|
|
438
|
-
"name": "Knex Query Builder",
|
|
439
|
-
"type": "import",
|
|
440
|
-
"value": ["knex"],
|
|
441
|
-
"patterns": ["backend/knex", "backend/database"],
|
|
442
|
-
"description": "Auto-loads Knex patterns",
|
|
443
|
-
"priority": 60,
|
|
444
|
-
"enabled": true
|
|
445
|
-
},
|
|
446
|
-
{
|
|
447
|
-
"id": "be-mongoose",
|
|
448
|
-
"name": "Mongoose ODM",
|
|
449
|
-
"type": "import",
|
|
450
|
-
"value": ["mongoose"],
|
|
451
|
-
"patterns": ["backend/mongoose", "backend/mongodb"],
|
|
452
|
-
"description": "Auto-loads Mongoose patterns",
|
|
453
|
-
"priority": 60,
|
|
454
|
-
"enabled": true
|
|
455
|
-
},
|
|
456
|
-
{
|
|
457
|
-
"id": "be-graphql",
|
|
458
|
-
"name": "GraphQL",
|
|
459
|
-
"type": "fileExt",
|
|
460
|
-
"value": ["*.graphql", "*.gql"],
|
|
461
|
-
"patterns": ["backend/graphql"],
|
|
462
|
-
"description": "Auto-loads GraphQL patterns",
|
|
463
|
-
"priority": 100,
|
|
464
|
-
"enabled": true
|
|
465
|
-
},
|
|
466
|
-
{
|
|
467
|
-
"id": "be-graphql-import",
|
|
468
|
-
"name": "GraphQL Libraries",
|
|
469
|
-
"type": "import",
|
|
470
|
-
"value": ["graphql", "@apollo", "apollo-server"],
|
|
471
|
-
"patterns": ["backend/graphql"],
|
|
472
|
-
"description": "Auto-loads GraphQL patterns",
|
|
473
|
-
"priority": 60,
|
|
474
|
-
"enabled": true
|
|
475
|
-
},
|
|
476
|
-
{
|
|
477
|
-
"id": "be-trpc",
|
|
478
|
-
"name": "tRPC",
|
|
479
|
-
"type": "import",
|
|
480
|
-
"value": ["@trpc"],
|
|
481
|
-
"patterns": ["backend/trpc"],
|
|
482
|
-
"description": "Auto-loads tRPC patterns",
|
|
483
|
-
"priority": 60,
|
|
484
|
-
"enabled": true
|
|
485
|
-
},
|
|
486
|
-
{
|
|
487
|
-
"id": "be-grpc",
|
|
488
|
-
"name": "gRPC",
|
|
489
|
-
"type": "fileExt",
|
|
490
|
-
"value": ["*.proto"],
|
|
491
|
-
"patterns": ["backend/grpc"],
|
|
492
|
-
"description": "Auto-loads gRPC patterns",
|
|
493
|
-
"priority": 100,
|
|
494
|
-
"enabled": true
|
|
495
|
-
},
|
|
496
|
-
{
|
|
497
|
-
"id": "be-auth-jwt",
|
|
498
|
-
"name": "JWT Authentication",
|
|
499
|
-
"type": "import",
|
|
500
|
-
"value": ["jsonwebtoken", "jose"],
|
|
501
|
-
"patterns": ["backend/auth", "backend/jwt"],
|
|
502
|
-
"description": "Auto-loads JWT auth patterns",
|
|
503
|
-
"priority": 55,
|
|
504
|
-
"enabled": true
|
|
505
|
-
},
|
|
506
|
-
{
|
|
507
|
-
"id": "be-auth-passport",
|
|
508
|
-
"name": "Passport.js Authentication",
|
|
509
|
-
"type": "import",
|
|
510
|
-
"value": ["passport"],
|
|
511
|
-
"patterns": ["backend/auth", "backend/passport"],
|
|
512
|
-
"description": "Auto-loads Passport.js patterns",
|
|
513
|
-
"priority": 55,
|
|
514
|
-
"enabled": true
|
|
515
|
-
},
|
|
516
|
-
{
|
|
517
|
-
"id": "be-auth-nextauth",
|
|
518
|
-
"name": "NextAuth.js",
|
|
519
|
-
"type": "import",
|
|
520
|
-
"value": ["next-auth"],
|
|
521
|
-
"patterns": ["backend/auth", "frontend/nextjs"],
|
|
522
|
-
"description": "Auto-loads NextAuth patterns",
|
|
523
|
-
"priority": 55,
|
|
524
|
-
"enabled": true
|
|
525
|
-
},
|
|
526
|
-
{
|
|
527
|
-
"id": "be-auth-clerk",
|
|
528
|
-
"name": "Clerk Authentication",
|
|
529
|
-
"type": "import",
|
|
530
|
-
"value": ["@clerk"],
|
|
531
|
-
"patterns": ["backend/auth"],
|
|
532
|
-
"description": "Auto-loads Clerk patterns",
|
|
533
|
-
"priority": 55,
|
|
534
|
-
"enabled": true
|
|
535
|
-
},
|
|
536
|
-
{
|
|
537
|
-
"id": "be-auth-supabase",
|
|
538
|
-
"name": "Supabase",
|
|
539
|
-
"type": "import",
|
|
540
|
-
"value": ["@supabase"],
|
|
541
|
-
"patterns": ["backend/supabase", "backend/database"],
|
|
542
|
-
"description": "Auto-loads Supabase patterns",
|
|
543
|
-
"priority": 55,
|
|
544
|
-
"enabled": true
|
|
545
|
-
},
|
|
546
|
-
{
|
|
547
|
-
"id": "be-auth-firebase",
|
|
548
|
-
"name": "Firebase",
|
|
549
|
-
"type": "import",
|
|
550
|
-
"value": ["firebase", "@firebase"],
|
|
551
|
-
"patterns": ["backend/firebase"],
|
|
552
|
-
"description": "Auto-loads Firebase patterns",
|
|
553
|
-
"priority": 55,
|
|
554
|
-
"enabled": true
|
|
555
|
-
},
|
|
556
|
-
{
|
|
557
|
-
"id": "be-redis",
|
|
558
|
-
"name": "Redis",
|
|
559
|
-
"type": "import",
|
|
560
|
-
"value": ["redis", "ioredis"],
|
|
561
|
-
"patterns": ["backend/redis", "backend/caching"],
|
|
562
|
-
"description": "Auto-loads Redis patterns",
|
|
563
|
-
"priority": 55,
|
|
564
|
-
"enabled": true
|
|
565
|
-
},
|
|
566
|
-
{
|
|
567
|
-
"id": "be-queue-bull",
|
|
568
|
-
"name": "Bull Queue",
|
|
569
|
-
"type": "import",
|
|
570
|
-
"value": ["bull", "bullmq"],
|
|
571
|
-
"patterns": ["backend/queues"],
|
|
572
|
-
"description": "Auto-loads queue patterns",
|
|
573
|
-
"priority": 55,
|
|
574
|
-
"enabled": true
|
|
575
|
-
},
|
|
576
|
-
{
|
|
577
|
-
"id": "be-websocket",
|
|
578
|
-
"name": "WebSocket",
|
|
579
|
-
"type": "import",
|
|
580
|
-
"value": ["ws", "socket.io"],
|
|
581
|
-
"patterns": ["backend/websocket"],
|
|
582
|
-
"description": "Auto-loads WebSocket patterns",
|
|
583
|
-
"priority": 55,
|
|
584
|
-
"enabled": true
|
|
585
|
-
},
|
|
586
|
-
{
|
|
587
|
-
"id": "uni-typescript",
|
|
588
|
-
"name": "TypeScript Files",
|
|
589
|
-
"type": "fileExt",
|
|
590
|
-
"value": ["*.ts"],
|
|
591
|
-
"patterns": ["universal/typescript"],
|
|
592
|
-
"description": "Auto-loads TypeScript patterns",
|
|
593
|
-
"priority": 90,
|
|
594
|
-
"enabled": true
|
|
595
|
-
},
|
|
596
|
-
{
|
|
597
|
-
"id": "uni-typescript-config",
|
|
598
|
-
"name": "TypeScript Config",
|
|
599
|
-
"type": "fileExt",
|
|
600
|
-
"value": ["tsconfig.json", "tsconfig.*.json"],
|
|
601
|
-
"patterns": ["universal/typescript/config"],
|
|
602
|
-
"description": "Auto-loads TypeScript config patterns",
|
|
603
|
-
"priority": 95,
|
|
604
|
-
"enabled": true
|
|
605
|
-
},
|
|
606
|
-
{
|
|
607
|
-
"id": "uni-jest-tests",
|
|
608
|
-
"name": "Jest Tests",
|
|
609
|
-
"type": "fileExt",
|
|
610
|
-
"value": ["*.test.ts", "*.test.tsx", "*.test.js", "*.spec.ts", "*.spec.tsx"],
|
|
611
|
-
"patterns": ["universal/testing/jest"],
|
|
612
|
-
"description": "Auto-loads Jest patterns for test files",
|
|
613
|
-
"priority": 100,
|
|
614
|
-
"enabled": true
|
|
615
|
-
},
|
|
616
|
-
{
|
|
617
|
-
"id": "uni-vitest-tests",
|
|
618
|
-
"name": "Vitest Tests",
|
|
619
|
-
"type": "import",
|
|
620
|
-
"value": ["vitest", "from.*vitest"],
|
|
621
|
-
"patterns": ["universal/testing/vitest"],
|
|
622
|
-
"description": "Auto-loads Vitest patterns",
|
|
623
|
-
"priority": 60,
|
|
624
|
-
"enabled": true
|
|
625
|
-
},
|
|
626
|
-
{
|
|
627
|
-
"id": "uni-testing-library",
|
|
628
|
-
"name": "Testing Library",
|
|
629
|
-
"type": "import",
|
|
630
|
-
"value": ["@testing-library"],
|
|
631
|
-
"patterns": ["universal/testing/testing-library"],
|
|
632
|
-
"description": "Auto-loads Testing Library patterns",
|
|
633
|
-
"priority": 60,
|
|
634
|
-
"enabled": true
|
|
635
|
-
},
|
|
636
|
-
{
|
|
637
|
-
"id": "uni-cypress",
|
|
638
|
-
"name": "Cypress E2E",
|
|
639
|
-
"type": "path",
|
|
640
|
-
"value": ["cypress/**/*", "*.cy.ts", "*.cy.tsx"],
|
|
641
|
-
"patterns": ["universal/testing/cypress"],
|
|
642
|
-
"description": "Auto-loads Cypress patterns",
|
|
643
|
-
"priority": 80,
|
|
644
|
-
"enabled": true
|
|
645
|
-
},
|
|
646
|
-
{
|
|
647
|
-
"id": "uni-playwright",
|
|
648
|
-
"name": "Playwright E2E",
|
|
649
|
-
"type": "path",
|
|
650
|
-
"value": ["playwright/**/*", "*.spec.ts"],
|
|
651
|
-
"patterns": ["universal/testing/playwright"],
|
|
652
|
-
"description": "Auto-loads Playwright patterns",
|
|
653
|
-
"priority": 80,
|
|
654
|
-
"enabled": true
|
|
655
|
-
},
|
|
656
|
-
{
|
|
657
|
-
"id": "uni-storybook",
|
|
658
|
-
"name": "Storybook Stories",
|
|
659
|
-
"type": "fileExt",
|
|
660
|
-
"value": ["*.stories.tsx", "*.stories.ts", "*.stories.jsx"],
|
|
661
|
-
"patterns": ["universal/storybook"],
|
|
662
|
-
"description": "Auto-loads Storybook patterns",
|
|
663
|
-
"priority": 100,
|
|
664
|
-
"enabled": true
|
|
665
|
-
},
|
|
666
|
-
{
|
|
667
|
-
"id": "uni-eslint",
|
|
668
|
-
"name": "ESLint Config",
|
|
669
|
-
"type": "fileExt",
|
|
670
|
-
"value": [".eslintrc.*", "eslint.config.*"],
|
|
671
|
-
"patterns": ["universal/linting"],
|
|
672
|
-
"description": "Auto-loads ESLint patterns",
|
|
673
|
-
"priority": 95,
|
|
674
|
-
"enabled": true
|
|
675
|
-
},
|
|
676
|
-
{
|
|
677
|
-
"id": "uni-prettier",
|
|
678
|
-
"name": "Prettier Config",
|
|
679
|
-
"type": "fileExt",
|
|
680
|
-
"value": [".prettierrc*", "prettier.config.*"],
|
|
681
|
-
"patterns": ["universal/formatting"],
|
|
682
|
-
"description": "Auto-loads Prettier patterns",
|
|
683
|
-
"priority": 95,
|
|
684
|
-
"enabled": true
|
|
685
|
-
},
|
|
686
|
-
{
|
|
687
|
-
"id": "uni-docker",
|
|
688
|
-
"name": "Docker Files",
|
|
689
|
-
"type": "fileExt",
|
|
690
|
-
"value": ["Dockerfile*", "docker-compose*.yml", "docker-compose*.yaml"],
|
|
691
|
-
"patterns": ["universal/docker"],
|
|
692
|
-
"description": "Auto-loads Docker patterns",
|
|
693
|
-
"priority": 100,
|
|
694
|
-
"enabled": true
|
|
695
|
-
},
|
|
696
|
-
{
|
|
697
|
-
"id": "uni-kubernetes",
|
|
698
|
-
"name": "Kubernetes Manifests",
|
|
699
|
-
"type": "path",
|
|
700
|
-
"value": ["k8s/**/*.yaml", "k8s/**/*.yml", "kubernetes/**/*"],
|
|
701
|
-
"patterns": ["universal/kubernetes"],
|
|
702
|
-
"description": "Auto-loads Kubernetes patterns",
|
|
703
|
-
"priority": 80,
|
|
704
|
-
"enabled": true
|
|
705
|
-
},
|
|
706
|
-
{
|
|
707
|
-
"id": "uni-terraform",
|
|
708
|
-
"name": "Terraform Files",
|
|
709
|
-
"type": "fileExt",
|
|
710
|
-
"value": ["*.tf", "*.tfvars"],
|
|
711
|
-
"patterns": ["universal/terraform"],
|
|
712
|
-
"description": "Auto-loads Terraform patterns",
|
|
713
|
-
"priority": 100,
|
|
714
|
-
"enabled": true
|
|
715
|
-
},
|
|
716
|
-
{
|
|
717
|
-
"id": "uni-github-actions",
|
|
718
|
-
"name": "GitHub Actions",
|
|
719
|
-
"type": "path",
|
|
720
|
-
"value": [".github/workflows/**/*.yml", ".github/workflows/**/*.yaml"],
|
|
721
|
-
"patterns": ["universal/ci-cd/github-actions"],
|
|
722
|
-
"description": "Auto-loads GitHub Actions patterns",
|
|
723
|
-
"priority": 80,
|
|
724
|
-
"enabled": true
|
|
725
|
-
},
|
|
726
|
-
{
|
|
727
|
-
"id": "uni-gitlab-ci",
|
|
728
|
-
"name": "GitLab CI",
|
|
729
|
-
"type": "fileExt",
|
|
730
|
-
"value": [".gitlab-ci.yml"],
|
|
731
|
-
"patterns": ["universal/ci-cd/gitlab"],
|
|
732
|
-
"description": "Auto-loads GitLab CI patterns",
|
|
733
|
-
"priority": 100,
|
|
734
|
-
"enabled": true
|
|
735
|
-
},
|
|
736
|
-
{
|
|
737
|
-
"id": "uni-package-json",
|
|
738
|
-
"name": "Package.json",
|
|
739
|
-
"type": "fileExt",
|
|
740
|
-
"value": ["package.json"],
|
|
741
|
-
"patterns": ["universal/npm"],
|
|
742
|
-
"description": "Auto-loads npm/package patterns",
|
|
743
|
-
"priority": 95,
|
|
744
|
-
"enabled": true
|
|
745
|
-
},
|
|
746
|
-
{
|
|
747
|
-
"id": "uni-markdown",
|
|
748
|
-
"name": "Markdown Files",
|
|
749
|
-
"type": "fileExt",
|
|
750
|
-
"value": ["*.md", "*.mdx"],
|
|
751
|
-
"patterns": ["universal/documentation"],
|
|
752
|
-
"description": "Auto-loads documentation patterns",
|
|
753
|
-
"priority": 85,
|
|
754
|
-
"enabled": true
|
|
755
|
-
},
|
|
756
|
-
{
|
|
757
|
-
"id": "uni-json-config",
|
|
758
|
-
"name": "JSON Config Files",
|
|
759
|
-
"type": "fileExt",
|
|
760
|
-
"value": ["*.config.json", ".*.json"],
|
|
761
|
-
"patterns": ["universal/config"],
|
|
762
|
-
"description": "Auto-loads config file patterns",
|
|
763
|
-
"priority": 85,
|
|
764
|
-
"enabled": true
|
|
765
|
-
},
|
|
766
|
-
{
|
|
767
|
-
"id": "uni-yaml-config",
|
|
768
|
-
"name": "YAML Config Files",
|
|
769
|
-
"type": "fileExt",
|
|
770
|
-
"value": ["*.yml", "*.yaml"],
|
|
771
|
-
"patterns": ["universal/config"],
|
|
772
|
-
"description": "Auto-loads YAML config patterns",
|
|
773
|
-
"priority": 85,
|
|
774
|
-
"enabled": true
|
|
775
|
-
},
|
|
776
|
-
{
|
|
777
|
-
"id": "uni-env-files",
|
|
778
|
-
"name": "Environment Files",
|
|
779
|
-
"type": "fileExt",
|
|
780
|
-
"value": [".env*"],
|
|
781
|
-
"patterns": ["universal/env-config"],
|
|
782
|
-
"description": "Auto-loads environment config patterns",
|
|
783
|
-
"priority": 90,
|
|
784
|
-
"enabled": true
|
|
785
|
-
},
|
|
786
|
-
{
|
|
787
|
-
"id": "uni-migrations",
|
|
788
|
-
"name": "Database Migrations",
|
|
789
|
-
"type": "path",
|
|
790
|
-
"value": ["migrations/**/*", "db/migrations/**/*"],
|
|
791
|
-
"patterns": ["backend/database", "backend/migrations"],
|
|
792
|
-
"description": "Auto-loads migration patterns",
|
|
793
|
-
"priority": 80,
|
|
794
|
-
"enabled": true
|
|
795
|
-
},
|
|
796
|
-
{
|
|
797
|
-
"id": "uni-seeds",
|
|
798
|
-
"name": "Database Seeds",
|
|
799
|
-
"type": "path",
|
|
800
|
-
"value": ["seeds/**/*", "db/seeds/**/*"],
|
|
801
|
-
"patterns": ["backend/database"],
|
|
802
|
-
"description": "Auto-loads seed patterns",
|
|
803
|
-
"priority": 80,
|
|
804
|
-
"enabled": true
|
|
805
|
-
},
|
|
806
|
-
{
|
|
807
|
-
"id": "uni-api-routes",
|
|
808
|
-
"name": "API Routes Directory",
|
|
809
|
-
"type": "path",
|
|
810
|
-
"value": ["api/**/*", "src/api/**/*"],
|
|
811
|
-
"patterns": ["backend/rest-api"],
|
|
812
|
-
"description": "Auto-loads REST API patterns",
|
|
813
|
-
"priority": 80,
|
|
814
|
-
"enabled": true
|
|
815
|
-
},
|
|
816
|
-
{
|
|
817
|
-
"id": "uni-middleware",
|
|
818
|
-
"name": "Middleware Directory",
|
|
819
|
-
"type": "path",
|
|
820
|
-
"value": ["middleware/**/*", "src/middleware/**/*"],
|
|
821
|
-
"patterns": ["backend/middleware"],
|
|
822
|
-
"description": "Auto-loads middleware patterns",
|
|
823
|
-
"priority": 80,
|
|
824
|
-
"enabled": true
|
|
825
|
-
},
|
|
826
|
-
{
|
|
827
|
-
"id": "uni-utils",
|
|
828
|
-
"name": "Utilities Directory",
|
|
829
|
-
"type": "path",
|
|
830
|
-
"value": ["utils/**/*", "src/utils/**/*", "lib/**/*"],
|
|
831
|
-
"patterns": ["universal/utilities"],
|
|
832
|
-
"description": "Auto-loads utility patterns",
|
|
833
|
-
"priority": 75,
|
|
834
|
-
"enabled": true
|
|
835
|
-
},
|
|
836
|
-
{
|
|
837
|
-
"id": "uni-types",
|
|
838
|
-
"name": "Type Definitions",
|
|
839
|
-
"type": "path",
|
|
840
|
-
"value": ["types/**/*", "src/types/**/*", "@types/**/*"],
|
|
841
|
-
"patterns": ["universal/typescript/types"],
|
|
842
|
-
"description": "Auto-loads type definition patterns",
|
|
843
|
-
"priority": 80,
|
|
844
|
-
"enabled": true
|
|
845
|
-
},
|
|
846
|
-
{
|
|
847
|
-
"id": "uni-dts",
|
|
848
|
-
"name": "Declaration Files",
|
|
849
|
-
"type": "fileExt",
|
|
850
|
-
"value": ["*.d.ts"],
|
|
851
|
-
"patterns": ["universal/typescript/declarations"],
|
|
852
|
-
"description": "Auto-loads TypeScript declaration patterns",
|
|
853
|
-
"priority": 95,
|
|
854
|
-
"enabled": true
|
|
855
|
-
},
|
|
856
|
-
{
|
|
857
|
-
"id": "cmd-npm-test",
|
|
858
|
-
"name": "NPM Test Command",
|
|
859
|
-
"type": "command",
|
|
860
|
-
"value": ["npm test", "pnpm test", "yarn test", "bun test"],
|
|
861
|
-
"patterns": ["universal/testing"],
|
|
862
|
-
"description": "Auto-loads testing patterns when running tests",
|
|
863
|
-
"priority": 20,
|
|
864
|
-
"enabled": true
|
|
865
|
-
},
|
|
866
|
-
{
|
|
867
|
-
"id": "cmd-npm-build",
|
|
868
|
-
"name": "Build Commands",
|
|
869
|
-
"type": "command",
|
|
870
|
-
"value": ["npm run build", "pnpm build", "yarn build", "bun run build"],
|
|
871
|
-
"patterns": ["universal/build"],
|
|
872
|
-
"description": "Auto-loads build patterns",
|
|
873
|
-
"priority": 20,
|
|
874
|
-
"enabled": true
|
|
875
|
-
},
|
|
876
|
-
{
|
|
877
|
-
"id": "cmd-npm-dev",
|
|
878
|
-
"name": "Dev Server Commands",
|
|
879
|
-
"type": "command",
|
|
880
|
-
"value": ["npm run dev", "pnpm dev", "yarn dev"],
|
|
881
|
-
"patterns": ["universal/development"],
|
|
882
|
-
"description": "Auto-loads development patterns",
|
|
883
|
-
"priority": 20,
|
|
884
|
-
"enabled": true
|
|
885
|
-
},
|
|
886
|
-
{
|
|
887
|
-
"id": "cmd-lint",
|
|
888
|
-
"name": "Lint Commands",
|
|
889
|
-
"type": "command",
|
|
890
|
-
"value": ["npm run lint", "eslint", "pnpm lint"],
|
|
891
|
-
"patterns": ["universal/linting"],
|
|
892
|
-
"description": "Auto-loads linting patterns",
|
|
893
|
-
"priority": 20,
|
|
894
|
-
"enabled": true
|
|
895
|
-
},
|
|
896
|
-
{
|
|
897
|
-
"id": "cmd-git",
|
|
898
|
-
"name": "Git Commands",
|
|
899
|
-
"type": "command",
|
|
900
|
-
"value": ["git commit", "git push", "git pull", "git merge"],
|
|
901
|
-
"patterns": ["universal/git"],
|
|
902
|
-
"description": "Auto-loads git workflow patterns",
|
|
903
|
-
"priority": 20,
|
|
904
|
-
"enabled": true
|
|
905
|
-
},
|
|
906
|
-
{
|
|
907
|
-
"id": "cmd-docker",
|
|
908
|
-
"name": "Docker Commands",
|
|
909
|
-
"type": "command",
|
|
910
|
-
"value": ["docker build", "docker-compose", "docker run"],
|
|
911
|
-
"patterns": ["universal/docker"],
|
|
912
|
-
"description": "Auto-loads Docker patterns",
|
|
913
|
-
"priority": 20,
|
|
914
|
-
"enabled": true
|
|
915
|
-
},
|
|
916
|
-
{
|
|
917
|
-
"id": "cmd-kubectl",
|
|
918
|
-
"name": "Kubectl Commands",
|
|
919
|
-
"type": "command",
|
|
920
|
-
"value": ["kubectl"],
|
|
921
|
-
"patterns": ["universal/kubernetes"],
|
|
922
|
-
"description": "Auto-loads Kubernetes patterns",
|
|
923
|
-
"priority": 20,
|
|
924
|
-
"enabled": true
|
|
925
|
-
},
|
|
926
|
-
{
|
|
927
|
-
"id": "kw-interface",
|
|
928
|
-
"name": "TypeScript Interface",
|
|
929
|
-
"type": "keyword",
|
|
930
|
-
"value": ["interface\\s+\\w+"],
|
|
931
|
-
"patterns": ["universal/typescript/interfaces"],
|
|
932
|
-
"description": "Auto-loads interface patterns",
|
|
933
|
-
"priority": 40,
|
|
934
|
-
"enabled": true
|
|
935
|
-
},
|
|
936
|
-
{
|
|
937
|
-
"id": "kw-class",
|
|
938
|
-
"name": "Class Definition",
|
|
939
|
-
"type": "keyword",
|
|
940
|
-
"value": ["class\\s+\\w+"],
|
|
941
|
-
"patterns": ["universal/oop"],
|
|
942
|
-
"description": "Auto-loads OOP patterns",
|
|
943
|
-
"priority": 40,
|
|
944
|
-
"enabled": true
|
|
945
|
-
},
|
|
946
|
-
{
|
|
947
|
-
"id": "kw-async-await",
|
|
948
|
-
"name": "Async/Await",
|
|
949
|
-
"type": "keyword",
|
|
950
|
-
"value": ["async\\s+function", "await\\s+"],
|
|
951
|
-
"patterns": ["universal/async"],
|
|
952
|
-
"description": "Auto-loads async patterns",
|
|
953
|
-
"priority": 40,
|
|
954
|
-
"enabled": true
|
|
955
|
-
},
|
|
956
|
-
{
|
|
957
|
-
"id": "kw-try-catch",
|
|
958
|
-
"name": "Error Handling",
|
|
959
|
-
"type": "keyword",
|
|
960
|
-
"value": ["try\\s*\\{", "catch\\s*\\(", "throw\\s+new"],
|
|
961
|
-
"patterns": ["universal/error-handling"],
|
|
962
|
-
"description": "Auto-loads error handling patterns",
|
|
963
|
-
"priority": 40,
|
|
964
|
-
"enabled": true
|
|
965
|
-
},
|
|
966
|
-
{
|
|
967
|
-
"id": "kw-fetch-api",
|
|
968
|
-
"name": "Fetch API",
|
|
969
|
-
"type": "keyword",
|
|
970
|
-
"value": ["fetch\\(", "axios\\.", "ky\\."],
|
|
971
|
-
"patterns": ["universal/http-client"],
|
|
972
|
-
"description": "Auto-loads HTTP client patterns",
|
|
973
|
-
"priority": 40,
|
|
974
|
-
"enabled": true
|
|
975
|
-
},
|
|
976
|
-
{
|
|
977
|
-
"id": "kw-regex",
|
|
978
|
-
"name": "Regular Expressions",
|
|
979
|
-
"type": "keyword",
|
|
980
|
-
"value": ["new RegExp\\(", "/.*?/[gimsuy]*"],
|
|
981
|
-
"patterns": ["universal/regex"],
|
|
982
|
-
"description": "Auto-loads regex patterns",
|
|
983
|
-
"priority": 35,
|
|
984
|
-
"enabled": true
|
|
985
|
-
},
|
|
986
|
-
{
|
|
987
|
-
"id": "kw-zod",
|
|
988
|
-
"name": "Zod Validation",
|
|
989
|
-
"type": "import",
|
|
990
|
-
"value": ["from.*zod", "import.*zod"],
|
|
991
|
-
"patterns": ["universal/validation/zod"],
|
|
992
|
-
"description": "Auto-loads Zod patterns",
|
|
993
|
-
"priority": 60,
|
|
994
|
-
"enabled": true
|
|
995
|
-
},
|
|
996
|
-
{
|
|
997
|
-
"id": "kw-yup",
|
|
998
|
-
"name": "Yup Validation",
|
|
999
|
-
"type": "import",
|
|
1000
|
-
"value": ["from.*yup", "import.*yup"],
|
|
1001
|
-
"patterns": ["universal/validation/yup"],
|
|
1002
|
-
"description": "Auto-loads Yup patterns",
|
|
1003
|
-
"priority": 60,
|
|
1004
|
-
"enabled": true
|
|
1005
|
-
},
|
|
1006
|
-
{
|
|
1007
|
-
"id": "fe-i18n",
|
|
1008
|
-
"name": "Internationalization",
|
|
1009
|
-
"type": "import",
|
|
1010
|
-
"value": ["react-i18next", "next-intl", "i18next"],
|
|
1011
|
-
"patterns": ["universal/i18n"],
|
|
1012
|
-
"description": "Auto-loads i18n patterns",
|
|
1013
|
-
"priority": 55,
|
|
1014
|
-
"enabled": true
|
|
1015
|
-
},
|
|
1016
|
-
{
|
|
1017
|
-
"id": "uni-monorepo",
|
|
1018
|
-
"name": "Monorepo Config",
|
|
1019
|
-
"type": "fileExt",
|
|
1020
|
-
"value": ["pnpm-workspace.yaml", "lerna.json", "turbo.json", "nx.json"],
|
|
1021
|
-
"patterns": ["universal/monorepo"],
|
|
1022
|
-
"description": "Auto-loads monorepo patterns",
|
|
1023
|
-
"priority": 95,
|
|
1024
|
-
"enabled": true
|
|
1025
|
-
},
|
|
1026
|
-
{
|
|
1027
|
-
"id": "uni-vite-config",
|
|
1028
|
-
"name": "Vite Config",
|
|
1029
|
-
"type": "fileExt",
|
|
1030
|
-
"value": ["vite.config.*"],
|
|
1031
|
-
"patterns": ["universal/vite"],
|
|
1032
|
-
"description": "Auto-loads Vite patterns",
|
|
1033
|
-
"priority": 95,
|
|
1034
|
-
"enabled": true
|
|
1035
|
-
},
|
|
1036
|
-
{
|
|
1037
|
-
"id": "uni-webpack-config",
|
|
1038
|
-
"name": "Webpack Config",
|
|
1039
|
-
"type": "fileExt",
|
|
1040
|
-
"value": ["webpack.config.*"],
|
|
1041
|
-
"patterns": ["universal/webpack"],
|
|
1042
|
-
"description": "Auto-loads Webpack patterns",
|
|
1043
|
-
"priority": 95,
|
|
1044
|
-
"enabled": true
|
|
1045
|
-
},
|
|
1046
|
-
{
|
|
1047
|
-
"id": "be-serverless",
|
|
1048
|
-
"name": "Serverless Framework",
|
|
1049
|
-
"type": "fileExt",
|
|
1050
|
-
"value": ["serverless.yml", "serverless.yaml"],
|
|
1051
|
-
"patterns": ["backend/serverless"],
|
|
1052
|
-
"description": "Auto-loads Serverless patterns",
|
|
1053
|
-
"priority": 95,
|
|
1054
|
-
"enabled": true
|
|
1055
|
-
},
|
|
1056
|
-
{
|
|
1057
|
-
"id": "be-aws-cdk",
|
|
1058
|
-
"name": "AWS CDK",
|
|
1059
|
-
"type": "import",
|
|
1060
|
-
"value": ["aws-cdk-lib", "@aws-cdk"],
|
|
1061
|
-
"patterns": ["backend/aws-cdk"],
|
|
1062
|
-
"description": "Auto-loads AWS CDK patterns",
|
|
1063
|
-
"priority": 60,
|
|
1064
|
-
"enabled": true
|
|
1065
|
-
},
|
|
1066
|
-
{
|
|
1067
|
-
"id": "be-aws-lambda",
|
|
1068
|
-
"name": "AWS Lambda",
|
|
1069
|
-
"type": "import",
|
|
1070
|
-
"value": ["@aws-sdk", "aws-lambda"],
|
|
1071
|
-
"patterns": ["backend/aws-lambda"],
|
|
1072
|
-
"description": "Auto-loads AWS Lambda patterns",
|
|
1073
|
-
"priority": 60,
|
|
1074
|
-
"enabled": true
|
|
1075
|
-
},
|
|
1076
|
-
{
|
|
1077
|
-
"id": "be-openapi",
|
|
1078
|
-
"name": "OpenAPI Spec",
|
|
1079
|
-
"type": "path",
|
|
1080
|
-
"value": ["openapi.yaml", "openapi.yml", "swagger.yaml", "swagger.json"],
|
|
1081
|
-
"patterns": ["backend/openapi"],
|
|
1082
|
-
"description": "Auto-loads OpenAPI patterns",
|
|
1083
|
-
"priority": 95,
|
|
1084
|
-
"enabled": true
|
|
1085
|
-
}
|
|
1086
|
-
]
|
|
1087
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"description": "Pattern trigger definitions - determines which patterns auto-load based on context",
|
|
4
|
+
"lastUpdated": "2026-01-22T00:00:00Z",
|
|
5
|
+
"triggers": [
|
|
6
|
+
{
|
|
7
|
+
"id": "fe-react-tsx",
|
|
8
|
+
"name": "React TypeScript Components",
|
|
9
|
+
"type": "fileExt",
|
|
10
|
+
"value": ["*.tsx"],
|
|
11
|
+
"patterns": ["frontend/react", "universal/typescript"],
|
|
12
|
+
"description": "Auto-loads React and TypeScript patterns for .tsx files",
|
|
13
|
+
"priority": 100,
|
|
14
|
+
"enabled": true
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "fe-react-jsx",
|
|
18
|
+
"name": "React JavaScript Components",
|
|
19
|
+
"type": "fileExt",
|
|
20
|
+
"value": ["*.jsx"],
|
|
21
|
+
"patterns": ["frontend/react"],
|
|
22
|
+
"description": "Auto-loads React patterns for .jsx files",
|
|
23
|
+
"priority": 100,
|
|
24
|
+
"enabled": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "fe-vue-sfc",
|
|
28
|
+
"name": "Vue Single File Components",
|
|
29
|
+
"type": "fileExt",
|
|
30
|
+
"value": ["*.vue"],
|
|
31
|
+
"patterns": ["frontend/vue", "universal/typescript"],
|
|
32
|
+
"description": "Auto-loads Vue patterns for .vue files",
|
|
33
|
+
"priority": 100,
|
|
34
|
+
"enabled": true
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "fe-svelte-components",
|
|
38
|
+
"name": "Svelte Components",
|
|
39
|
+
"type": "fileExt",
|
|
40
|
+
"value": ["*.svelte"],
|
|
41
|
+
"patterns": ["frontend/svelte"],
|
|
42
|
+
"description": "Auto-loads Svelte patterns for .svelte files",
|
|
43
|
+
"priority": 100,
|
|
44
|
+
"enabled": true
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "fe-angular-components",
|
|
48
|
+
"name": "Angular Components",
|
|
49
|
+
"type": "fileExt",
|
|
50
|
+
"value": ["*.component.ts"],
|
|
51
|
+
"patterns": ["frontend/angular", "universal/typescript"],
|
|
52
|
+
"description": "Auto-loads Angular patterns for component files",
|
|
53
|
+
"priority": 100,
|
|
54
|
+
"enabled": true
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "fe-css-styles",
|
|
58
|
+
"name": "CSS Stylesheets",
|
|
59
|
+
"type": "fileExt",
|
|
60
|
+
"value": ["*.css"],
|
|
61
|
+
"patterns": ["frontend/styling"],
|
|
62
|
+
"description": "Auto-loads CSS patterns",
|
|
63
|
+
"priority": 90,
|
|
64
|
+
"enabled": true
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "fe-scss-styles",
|
|
68
|
+
"name": "SCSS Stylesheets",
|
|
69
|
+
"type": "fileExt",
|
|
70
|
+
"value": ["*.scss", "*.sass"],
|
|
71
|
+
"patterns": ["frontend/styling", "frontend/scss"],
|
|
72
|
+
"description": "Auto-loads SCSS/Sass patterns",
|
|
73
|
+
"priority": 90,
|
|
74
|
+
"enabled": true
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "fe-tailwind",
|
|
78
|
+
"name": "Tailwind CSS",
|
|
79
|
+
"type": "import",
|
|
80
|
+
"value": ["tailwindcss", "tailwind.config"],
|
|
81
|
+
"patterns": ["frontend/tailwind"],
|
|
82
|
+
"description": "Auto-loads Tailwind patterns when detected",
|
|
83
|
+
"priority": 85,
|
|
84
|
+
"enabled": true
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "fe-nextjs-pages",
|
|
88
|
+
"name": "Next.js Pages",
|
|
89
|
+
"type": "path",
|
|
90
|
+
"value": ["pages/**/*.tsx", "pages/**/*.ts", "app/**/*.tsx"],
|
|
91
|
+
"patterns": ["frontend/nextjs", "frontend/react"],
|
|
92
|
+
"description": "Auto-loads Next.js patterns for pages directory",
|
|
93
|
+
"priority": 95,
|
|
94
|
+
"enabled": true
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"id": "fe-nextjs-api",
|
|
98
|
+
"name": "Next.js API Routes",
|
|
99
|
+
"type": "path",
|
|
100
|
+
"value": ["pages/api/**/*.ts", "app/api/**/*.ts"],
|
|
101
|
+
"patterns": ["frontend/nextjs", "backend/rest-api"],
|
|
102
|
+
"description": "Auto-loads Next.js API patterns",
|
|
103
|
+
"priority": 95,
|
|
104
|
+
"enabled": true
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"id": "fe-remix",
|
|
108
|
+
"name": "Remix Routes",
|
|
109
|
+
"type": "path",
|
|
110
|
+
"value": ["app/routes/**/*.tsx"],
|
|
111
|
+
"patterns": ["frontend/remix", "frontend/react"],
|
|
112
|
+
"description": "Auto-loads Remix patterns",
|
|
113
|
+
"priority": 95,
|
|
114
|
+
"enabled": true
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "fe-astro",
|
|
118
|
+
"name": "Astro Components",
|
|
119
|
+
"type": "fileExt",
|
|
120
|
+
"value": ["*.astro"],
|
|
121
|
+
"patterns": ["frontend/astro"],
|
|
122
|
+
"description": "Auto-loads Astro patterns",
|
|
123
|
+
"priority": 100,
|
|
124
|
+
"enabled": true
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"id": "fe-components-dir",
|
|
128
|
+
"name": "Component Directory",
|
|
129
|
+
"type": "path",
|
|
130
|
+
"value": ["src/components/**/*", "components/**/*"],
|
|
131
|
+
"patterns": ["frontend/components"],
|
|
132
|
+
"description": "Auto-loads component patterns for component directories",
|
|
133
|
+
"priority": 80,
|
|
134
|
+
"enabled": true
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"id": "fe-hooks-dir",
|
|
138
|
+
"name": "React Hooks Directory",
|
|
139
|
+
"type": "path",
|
|
140
|
+
"value": ["src/hooks/**/*", "hooks/**/*"],
|
|
141
|
+
"patterns": ["frontend/react/hooks"],
|
|
142
|
+
"description": "Auto-loads React hooks patterns",
|
|
143
|
+
"priority": 80,
|
|
144
|
+
"enabled": true
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"id": "fe-react-hooks-import",
|
|
148
|
+
"name": "React Hooks Usage",
|
|
149
|
+
"type": "import",
|
|
150
|
+
"value": ["import.*use(State|Effect|Context|Reducer|Memo|Callback|Ref)"],
|
|
151
|
+
"patterns": ["frontend/react/hooks"],
|
|
152
|
+
"description": "Auto-loads hooks patterns when using React hooks",
|
|
153
|
+
"priority": 60,
|
|
154
|
+
"enabled": true
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"id": "fe-react-query",
|
|
158
|
+
"name": "React Query / TanStack Query",
|
|
159
|
+
"type": "import",
|
|
160
|
+
"value": ["@tanstack/react-query", "react-query"],
|
|
161
|
+
"patterns": ["frontend/react-query"],
|
|
162
|
+
"description": "Auto-loads React Query patterns",
|
|
163
|
+
"priority": 60,
|
|
164
|
+
"enabled": true
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"id": "fe-redux",
|
|
168
|
+
"name": "Redux State Management",
|
|
169
|
+
"type": "import",
|
|
170
|
+
"value": ["@reduxjs/toolkit", "redux", "react-redux"],
|
|
171
|
+
"patterns": ["frontend/redux"],
|
|
172
|
+
"description": "Auto-loads Redux patterns",
|
|
173
|
+
"priority": 60,
|
|
174
|
+
"enabled": true
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "fe-zustand",
|
|
178
|
+
"name": "Zustand State Management",
|
|
179
|
+
"type": "import",
|
|
180
|
+
"value": ["zustand"],
|
|
181
|
+
"patterns": ["frontend/zustand"],
|
|
182
|
+
"description": "Auto-loads Zustand patterns",
|
|
183
|
+
"priority": 60,
|
|
184
|
+
"enabled": true
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"id": "fe-jotai",
|
|
188
|
+
"name": "Jotai State Management",
|
|
189
|
+
"type": "import",
|
|
190
|
+
"value": ["jotai"],
|
|
191
|
+
"patterns": ["frontend/jotai"],
|
|
192
|
+
"description": "Auto-loads Jotai patterns",
|
|
193
|
+
"priority": 60,
|
|
194
|
+
"enabled": true
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"id": "fe-shadcn",
|
|
198
|
+
"name": "shadcn/ui Components",
|
|
199
|
+
"type": "import",
|
|
200
|
+
"value": ["@/components/ui", "from.*shadcn"],
|
|
201
|
+
"patterns": ["frontend/shadcn"],
|
|
202
|
+
"description": "Auto-loads shadcn/ui patterns",
|
|
203
|
+
"priority": 60,
|
|
204
|
+
"enabled": true
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"id": "fe-radix",
|
|
208
|
+
"name": "Radix UI Components",
|
|
209
|
+
"type": "import",
|
|
210
|
+
"value": ["@radix-ui"],
|
|
211
|
+
"patterns": ["frontend/radix"],
|
|
212
|
+
"description": "Auto-loads Radix UI patterns",
|
|
213
|
+
"priority": 60,
|
|
214
|
+
"enabled": true
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"id": "fe-mui",
|
|
218
|
+
"name": "Material UI Components",
|
|
219
|
+
"type": "import",
|
|
220
|
+
"value": ["@mui/material", "@material-ui"],
|
|
221
|
+
"patterns": ["frontend/mui"],
|
|
222
|
+
"description": "Auto-loads MUI patterns",
|
|
223
|
+
"priority": 60,
|
|
224
|
+
"enabled": true
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"id": "fe-chakra",
|
|
228
|
+
"name": "Chakra UI Components",
|
|
229
|
+
"type": "import",
|
|
230
|
+
"value": ["@chakra-ui"],
|
|
231
|
+
"patterns": ["frontend/chakra"],
|
|
232
|
+
"description": "Auto-loads Chakra UI patterns",
|
|
233
|
+
"priority": 60,
|
|
234
|
+
"enabled": true
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"id": "fe-framer-motion",
|
|
238
|
+
"name": "Framer Motion Animations",
|
|
239
|
+
"type": "import",
|
|
240
|
+
"value": ["framer-motion"],
|
|
241
|
+
"patterns": ["frontend/animations"],
|
|
242
|
+
"description": "Auto-loads animation patterns",
|
|
243
|
+
"priority": 55,
|
|
244
|
+
"enabled": true
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"id": "be-express-routes",
|
|
248
|
+
"name": "Express Routes",
|
|
249
|
+
"type": "fileExt",
|
|
250
|
+
"value": ["*.routes.ts", "*.routes.js", "*.router.ts"],
|
|
251
|
+
"patterns": ["backend/express", "universal/rest-api"],
|
|
252
|
+
"description": "Auto-loads Express patterns for route files",
|
|
253
|
+
"priority": 100,
|
|
254
|
+
"enabled": true
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "be-express-import",
|
|
258
|
+
"name": "Express Framework",
|
|
259
|
+
"type": "import",
|
|
260
|
+
"value": ["from.*express", "require.*express"],
|
|
261
|
+
"patterns": ["backend/express"],
|
|
262
|
+
"description": "Auto-loads Express patterns",
|
|
263
|
+
"priority": 60,
|
|
264
|
+
"enabled": true
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "be-fastify",
|
|
268
|
+
"name": "Fastify Framework",
|
|
269
|
+
"type": "import",
|
|
270
|
+
"value": ["fastify"],
|
|
271
|
+
"patterns": ["backend/fastify"],
|
|
272
|
+
"description": "Auto-loads Fastify patterns",
|
|
273
|
+
"priority": 60,
|
|
274
|
+
"enabled": true
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"id": "be-hono",
|
|
278
|
+
"name": "Hono Framework",
|
|
279
|
+
"type": "import",
|
|
280
|
+
"value": ["hono"],
|
|
281
|
+
"patterns": ["backend/hono"],
|
|
282
|
+
"description": "Auto-loads Hono patterns",
|
|
283
|
+
"priority": 60,
|
|
284
|
+
"enabled": true
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"id": "be-nestjs",
|
|
288
|
+
"name": "NestJS Framework",
|
|
289
|
+
"type": "import",
|
|
290
|
+
"value": ["@nestjs"],
|
|
291
|
+
"patterns": ["backend/nestjs", "universal/typescript"],
|
|
292
|
+
"description": "Auto-loads NestJS patterns",
|
|
293
|
+
"priority": 60,
|
|
294
|
+
"enabled": true
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"id": "be-python",
|
|
298
|
+
"name": "Python Files",
|
|
299
|
+
"type": "fileExt",
|
|
300
|
+
"value": ["*.py"],
|
|
301
|
+
"patterns": ["backend/python"],
|
|
302
|
+
"description": "Auto-loads Python patterns",
|
|
303
|
+
"priority": 100,
|
|
304
|
+
"enabled": true
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"id": "be-fastapi",
|
|
308
|
+
"name": "FastAPI Framework",
|
|
309
|
+
"type": "import",
|
|
310
|
+
"value": ["from fastapi", "import fastapi"],
|
|
311
|
+
"patterns": ["backend/fastapi", "backend/python"],
|
|
312
|
+
"description": "Auto-loads FastAPI patterns",
|
|
313
|
+
"priority": 60,
|
|
314
|
+
"enabled": true
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"id": "be-django",
|
|
318
|
+
"name": "Django Framework",
|
|
319
|
+
"type": "import",
|
|
320
|
+
"value": ["from django", "import django"],
|
|
321
|
+
"patterns": ["backend/django", "backend/python"],
|
|
322
|
+
"description": "Auto-loads Django patterns",
|
|
323
|
+
"priority": 60,
|
|
324
|
+
"enabled": true
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"id": "be-flask",
|
|
328
|
+
"name": "Flask Framework",
|
|
329
|
+
"type": "import",
|
|
330
|
+
"value": ["from flask", "import flask"],
|
|
331
|
+
"patterns": ["backend/flask", "backend/python"],
|
|
332
|
+
"description": "Auto-loads Flask patterns",
|
|
333
|
+
"priority": 60,
|
|
334
|
+
"enabled": true
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"id": "be-go",
|
|
338
|
+
"name": "Go Files",
|
|
339
|
+
"type": "fileExt",
|
|
340
|
+
"value": ["*.go"],
|
|
341
|
+
"patterns": ["backend/go"],
|
|
342
|
+
"description": "Auto-loads Go patterns",
|
|
343
|
+
"priority": 100,
|
|
344
|
+
"enabled": true
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"id": "be-rust",
|
|
348
|
+
"name": "Rust Files",
|
|
349
|
+
"type": "fileExt",
|
|
350
|
+
"value": ["*.rs"],
|
|
351
|
+
"patterns": ["backend/rust"],
|
|
352
|
+
"description": "Auto-loads Rust patterns",
|
|
353
|
+
"priority": 100,
|
|
354
|
+
"enabled": true
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"id": "be-java",
|
|
358
|
+
"name": "Java Files",
|
|
359
|
+
"type": "fileExt",
|
|
360
|
+
"value": ["*.java"],
|
|
361
|
+
"patterns": ["backend/java"],
|
|
362
|
+
"description": "Auto-loads Java patterns",
|
|
363
|
+
"priority": 100,
|
|
364
|
+
"enabled": true
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"id": "be-kotlin",
|
|
368
|
+
"name": "Kotlin Files",
|
|
369
|
+
"type": "fileExt",
|
|
370
|
+
"value": ["*.kt"],
|
|
371
|
+
"patterns": ["backend/kotlin"],
|
|
372
|
+
"description": "Auto-loads Kotlin patterns",
|
|
373
|
+
"priority": 100,
|
|
374
|
+
"enabled": true
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"id": "be-spring",
|
|
378
|
+
"name": "Spring Framework",
|
|
379
|
+
"type": "import",
|
|
380
|
+
"value": ["org.springframework"],
|
|
381
|
+
"patterns": ["backend/spring", "backend/java"],
|
|
382
|
+
"description": "Auto-loads Spring patterns",
|
|
383
|
+
"priority": 60,
|
|
384
|
+
"enabled": true
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"id": "be-prisma",
|
|
388
|
+
"name": "Prisma ORM",
|
|
389
|
+
"type": "import",
|
|
390
|
+
"value": ["@prisma/client", "from.*prisma"],
|
|
391
|
+
"patterns": ["backend/prisma", "backend/database"],
|
|
392
|
+
"description": "Auto-loads Prisma patterns",
|
|
393
|
+
"priority": 60,
|
|
394
|
+
"enabled": true
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"id": "be-prisma-schema",
|
|
398
|
+
"name": "Prisma Schema",
|
|
399
|
+
"type": "fileExt",
|
|
400
|
+
"value": ["*.prisma"],
|
|
401
|
+
"patterns": ["backend/prisma"],
|
|
402
|
+
"description": "Auto-loads Prisma schema patterns",
|
|
403
|
+
"priority": 100,
|
|
404
|
+
"enabled": true
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"id": "be-drizzle",
|
|
408
|
+
"name": "Drizzle ORM",
|
|
409
|
+
"type": "import",
|
|
410
|
+
"value": ["drizzle-orm"],
|
|
411
|
+
"patterns": ["backend/drizzle", "backend/database"],
|
|
412
|
+
"description": "Auto-loads Drizzle patterns",
|
|
413
|
+
"priority": 60,
|
|
414
|
+
"enabled": true
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"id": "be-typeorm",
|
|
418
|
+
"name": "TypeORM",
|
|
419
|
+
"type": "import",
|
|
420
|
+
"value": ["typeorm"],
|
|
421
|
+
"patterns": ["backend/typeorm", "backend/database"],
|
|
422
|
+
"description": "Auto-loads TypeORM patterns",
|
|
423
|
+
"priority": 60,
|
|
424
|
+
"enabled": true
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"id": "be-sequelize",
|
|
428
|
+
"name": "Sequelize ORM",
|
|
429
|
+
"type": "import",
|
|
430
|
+
"value": ["sequelize"],
|
|
431
|
+
"patterns": ["backend/sequelize", "backend/database"],
|
|
432
|
+
"description": "Auto-loads Sequelize patterns",
|
|
433
|
+
"priority": 60,
|
|
434
|
+
"enabled": true
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"id": "be-knex",
|
|
438
|
+
"name": "Knex Query Builder",
|
|
439
|
+
"type": "import",
|
|
440
|
+
"value": ["knex"],
|
|
441
|
+
"patterns": ["backend/knex", "backend/database"],
|
|
442
|
+
"description": "Auto-loads Knex patterns",
|
|
443
|
+
"priority": 60,
|
|
444
|
+
"enabled": true
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"id": "be-mongoose",
|
|
448
|
+
"name": "Mongoose ODM",
|
|
449
|
+
"type": "import",
|
|
450
|
+
"value": ["mongoose"],
|
|
451
|
+
"patterns": ["backend/mongoose", "backend/mongodb"],
|
|
452
|
+
"description": "Auto-loads Mongoose patterns",
|
|
453
|
+
"priority": 60,
|
|
454
|
+
"enabled": true
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"id": "be-graphql",
|
|
458
|
+
"name": "GraphQL",
|
|
459
|
+
"type": "fileExt",
|
|
460
|
+
"value": ["*.graphql", "*.gql"],
|
|
461
|
+
"patterns": ["backend/graphql"],
|
|
462
|
+
"description": "Auto-loads GraphQL patterns",
|
|
463
|
+
"priority": 100,
|
|
464
|
+
"enabled": true
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"id": "be-graphql-import",
|
|
468
|
+
"name": "GraphQL Libraries",
|
|
469
|
+
"type": "import",
|
|
470
|
+
"value": ["graphql", "@apollo", "apollo-server"],
|
|
471
|
+
"patterns": ["backend/graphql"],
|
|
472
|
+
"description": "Auto-loads GraphQL patterns",
|
|
473
|
+
"priority": 60,
|
|
474
|
+
"enabled": true
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"id": "be-trpc",
|
|
478
|
+
"name": "tRPC",
|
|
479
|
+
"type": "import",
|
|
480
|
+
"value": ["@trpc"],
|
|
481
|
+
"patterns": ["backend/trpc"],
|
|
482
|
+
"description": "Auto-loads tRPC patterns",
|
|
483
|
+
"priority": 60,
|
|
484
|
+
"enabled": true
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"id": "be-grpc",
|
|
488
|
+
"name": "gRPC",
|
|
489
|
+
"type": "fileExt",
|
|
490
|
+
"value": ["*.proto"],
|
|
491
|
+
"patterns": ["backend/grpc"],
|
|
492
|
+
"description": "Auto-loads gRPC patterns",
|
|
493
|
+
"priority": 100,
|
|
494
|
+
"enabled": true
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"id": "be-auth-jwt",
|
|
498
|
+
"name": "JWT Authentication",
|
|
499
|
+
"type": "import",
|
|
500
|
+
"value": ["jsonwebtoken", "jose"],
|
|
501
|
+
"patterns": ["backend/auth", "backend/jwt"],
|
|
502
|
+
"description": "Auto-loads JWT auth patterns",
|
|
503
|
+
"priority": 55,
|
|
504
|
+
"enabled": true
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"id": "be-auth-passport",
|
|
508
|
+
"name": "Passport.js Authentication",
|
|
509
|
+
"type": "import",
|
|
510
|
+
"value": ["passport"],
|
|
511
|
+
"patterns": ["backend/auth", "backend/passport"],
|
|
512
|
+
"description": "Auto-loads Passport.js patterns",
|
|
513
|
+
"priority": 55,
|
|
514
|
+
"enabled": true
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"id": "be-auth-nextauth",
|
|
518
|
+
"name": "NextAuth.js",
|
|
519
|
+
"type": "import",
|
|
520
|
+
"value": ["next-auth"],
|
|
521
|
+
"patterns": ["backend/auth", "frontend/nextjs"],
|
|
522
|
+
"description": "Auto-loads NextAuth patterns",
|
|
523
|
+
"priority": 55,
|
|
524
|
+
"enabled": true
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"id": "be-auth-clerk",
|
|
528
|
+
"name": "Clerk Authentication",
|
|
529
|
+
"type": "import",
|
|
530
|
+
"value": ["@clerk"],
|
|
531
|
+
"patterns": ["backend/auth"],
|
|
532
|
+
"description": "Auto-loads Clerk patterns",
|
|
533
|
+
"priority": 55,
|
|
534
|
+
"enabled": true
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"id": "be-auth-supabase",
|
|
538
|
+
"name": "Supabase",
|
|
539
|
+
"type": "import",
|
|
540
|
+
"value": ["@supabase"],
|
|
541
|
+
"patterns": ["backend/supabase", "backend/database"],
|
|
542
|
+
"description": "Auto-loads Supabase patterns",
|
|
543
|
+
"priority": 55,
|
|
544
|
+
"enabled": true
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"id": "be-auth-firebase",
|
|
548
|
+
"name": "Firebase",
|
|
549
|
+
"type": "import",
|
|
550
|
+
"value": ["firebase", "@firebase"],
|
|
551
|
+
"patterns": ["backend/firebase"],
|
|
552
|
+
"description": "Auto-loads Firebase patterns",
|
|
553
|
+
"priority": 55,
|
|
554
|
+
"enabled": true
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
"id": "be-redis",
|
|
558
|
+
"name": "Redis",
|
|
559
|
+
"type": "import",
|
|
560
|
+
"value": ["redis", "ioredis"],
|
|
561
|
+
"patterns": ["backend/redis", "backend/caching"],
|
|
562
|
+
"description": "Auto-loads Redis patterns",
|
|
563
|
+
"priority": 55,
|
|
564
|
+
"enabled": true
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"id": "be-queue-bull",
|
|
568
|
+
"name": "Bull Queue",
|
|
569
|
+
"type": "import",
|
|
570
|
+
"value": ["bull", "bullmq"],
|
|
571
|
+
"patterns": ["backend/queues"],
|
|
572
|
+
"description": "Auto-loads queue patterns",
|
|
573
|
+
"priority": 55,
|
|
574
|
+
"enabled": true
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"id": "be-websocket",
|
|
578
|
+
"name": "WebSocket",
|
|
579
|
+
"type": "import",
|
|
580
|
+
"value": ["ws", "socket.io"],
|
|
581
|
+
"patterns": ["backend/websocket"],
|
|
582
|
+
"description": "Auto-loads WebSocket patterns",
|
|
583
|
+
"priority": 55,
|
|
584
|
+
"enabled": true
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"id": "uni-typescript",
|
|
588
|
+
"name": "TypeScript Files",
|
|
589
|
+
"type": "fileExt",
|
|
590
|
+
"value": ["*.ts"],
|
|
591
|
+
"patterns": ["universal/typescript"],
|
|
592
|
+
"description": "Auto-loads TypeScript patterns",
|
|
593
|
+
"priority": 90,
|
|
594
|
+
"enabled": true
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"id": "uni-typescript-config",
|
|
598
|
+
"name": "TypeScript Config",
|
|
599
|
+
"type": "fileExt",
|
|
600
|
+
"value": ["tsconfig.json", "tsconfig.*.json"],
|
|
601
|
+
"patterns": ["universal/typescript/config"],
|
|
602
|
+
"description": "Auto-loads TypeScript config patterns",
|
|
603
|
+
"priority": 95,
|
|
604
|
+
"enabled": true
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
"id": "uni-jest-tests",
|
|
608
|
+
"name": "Jest Tests",
|
|
609
|
+
"type": "fileExt",
|
|
610
|
+
"value": ["*.test.ts", "*.test.tsx", "*.test.js", "*.spec.ts", "*.spec.tsx"],
|
|
611
|
+
"patterns": ["universal/testing/jest"],
|
|
612
|
+
"description": "Auto-loads Jest patterns for test files",
|
|
613
|
+
"priority": 100,
|
|
614
|
+
"enabled": true
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"id": "uni-vitest-tests",
|
|
618
|
+
"name": "Vitest Tests",
|
|
619
|
+
"type": "import",
|
|
620
|
+
"value": ["vitest", "from.*vitest"],
|
|
621
|
+
"patterns": ["universal/testing/vitest"],
|
|
622
|
+
"description": "Auto-loads Vitest patterns",
|
|
623
|
+
"priority": 60,
|
|
624
|
+
"enabled": true
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"id": "uni-testing-library",
|
|
628
|
+
"name": "Testing Library",
|
|
629
|
+
"type": "import",
|
|
630
|
+
"value": ["@testing-library"],
|
|
631
|
+
"patterns": ["universal/testing/testing-library"],
|
|
632
|
+
"description": "Auto-loads Testing Library patterns",
|
|
633
|
+
"priority": 60,
|
|
634
|
+
"enabled": true
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"id": "uni-cypress",
|
|
638
|
+
"name": "Cypress E2E",
|
|
639
|
+
"type": "path",
|
|
640
|
+
"value": ["cypress/**/*", "*.cy.ts", "*.cy.tsx"],
|
|
641
|
+
"patterns": ["universal/testing/cypress"],
|
|
642
|
+
"description": "Auto-loads Cypress patterns",
|
|
643
|
+
"priority": 80,
|
|
644
|
+
"enabled": true
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"id": "uni-playwright",
|
|
648
|
+
"name": "Playwright E2E",
|
|
649
|
+
"type": "path",
|
|
650
|
+
"value": ["playwright/**/*", "*.spec.ts"],
|
|
651
|
+
"patterns": ["universal/testing/playwright"],
|
|
652
|
+
"description": "Auto-loads Playwright patterns",
|
|
653
|
+
"priority": 80,
|
|
654
|
+
"enabled": true
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"id": "uni-storybook",
|
|
658
|
+
"name": "Storybook Stories",
|
|
659
|
+
"type": "fileExt",
|
|
660
|
+
"value": ["*.stories.tsx", "*.stories.ts", "*.stories.jsx"],
|
|
661
|
+
"patterns": ["universal/storybook"],
|
|
662
|
+
"description": "Auto-loads Storybook patterns",
|
|
663
|
+
"priority": 100,
|
|
664
|
+
"enabled": true
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
"id": "uni-eslint",
|
|
668
|
+
"name": "ESLint Config",
|
|
669
|
+
"type": "fileExt",
|
|
670
|
+
"value": [".eslintrc.*", "eslint.config.*"],
|
|
671
|
+
"patterns": ["universal/linting"],
|
|
672
|
+
"description": "Auto-loads ESLint patterns",
|
|
673
|
+
"priority": 95,
|
|
674
|
+
"enabled": true
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"id": "uni-prettier",
|
|
678
|
+
"name": "Prettier Config",
|
|
679
|
+
"type": "fileExt",
|
|
680
|
+
"value": [".prettierrc*", "prettier.config.*"],
|
|
681
|
+
"patterns": ["universal/formatting"],
|
|
682
|
+
"description": "Auto-loads Prettier patterns",
|
|
683
|
+
"priority": 95,
|
|
684
|
+
"enabled": true
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"id": "uni-docker",
|
|
688
|
+
"name": "Docker Files",
|
|
689
|
+
"type": "fileExt",
|
|
690
|
+
"value": ["Dockerfile*", "docker-compose*.yml", "docker-compose*.yaml"],
|
|
691
|
+
"patterns": ["universal/docker"],
|
|
692
|
+
"description": "Auto-loads Docker patterns",
|
|
693
|
+
"priority": 100,
|
|
694
|
+
"enabled": true
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"id": "uni-kubernetes",
|
|
698
|
+
"name": "Kubernetes Manifests",
|
|
699
|
+
"type": "path",
|
|
700
|
+
"value": ["k8s/**/*.yaml", "k8s/**/*.yml", "kubernetes/**/*"],
|
|
701
|
+
"patterns": ["universal/kubernetes"],
|
|
702
|
+
"description": "Auto-loads Kubernetes patterns",
|
|
703
|
+
"priority": 80,
|
|
704
|
+
"enabled": true
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"id": "uni-terraform",
|
|
708
|
+
"name": "Terraform Files",
|
|
709
|
+
"type": "fileExt",
|
|
710
|
+
"value": ["*.tf", "*.tfvars"],
|
|
711
|
+
"patterns": ["universal/terraform"],
|
|
712
|
+
"description": "Auto-loads Terraform patterns",
|
|
713
|
+
"priority": 100,
|
|
714
|
+
"enabled": true
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"id": "uni-github-actions",
|
|
718
|
+
"name": "GitHub Actions",
|
|
719
|
+
"type": "path",
|
|
720
|
+
"value": [".github/workflows/**/*.yml", ".github/workflows/**/*.yaml"],
|
|
721
|
+
"patterns": ["universal/ci-cd/github-actions"],
|
|
722
|
+
"description": "Auto-loads GitHub Actions patterns",
|
|
723
|
+
"priority": 80,
|
|
724
|
+
"enabled": true
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"id": "uni-gitlab-ci",
|
|
728
|
+
"name": "GitLab CI",
|
|
729
|
+
"type": "fileExt",
|
|
730
|
+
"value": [".gitlab-ci.yml"],
|
|
731
|
+
"patterns": ["universal/ci-cd/gitlab"],
|
|
732
|
+
"description": "Auto-loads GitLab CI patterns",
|
|
733
|
+
"priority": 100,
|
|
734
|
+
"enabled": true
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"id": "uni-package-json",
|
|
738
|
+
"name": "Package.json",
|
|
739
|
+
"type": "fileExt",
|
|
740
|
+
"value": ["package.json"],
|
|
741
|
+
"patterns": ["universal/npm"],
|
|
742
|
+
"description": "Auto-loads npm/package patterns",
|
|
743
|
+
"priority": 95,
|
|
744
|
+
"enabled": true
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"id": "uni-markdown",
|
|
748
|
+
"name": "Markdown Files",
|
|
749
|
+
"type": "fileExt",
|
|
750
|
+
"value": ["*.md", "*.mdx"],
|
|
751
|
+
"patterns": ["universal/documentation"],
|
|
752
|
+
"description": "Auto-loads documentation patterns",
|
|
753
|
+
"priority": 85,
|
|
754
|
+
"enabled": true
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"id": "uni-json-config",
|
|
758
|
+
"name": "JSON Config Files",
|
|
759
|
+
"type": "fileExt",
|
|
760
|
+
"value": ["*.config.json", ".*.json"],
|
|
761
|
+
"patterns": ["universal/config"],
|
|
762
|
+
"description": "Auto-loads config file patterns",
|
|
763
|
+
"priority": 85,
|
|
764
|
+
"enabled": true
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"id": "uni-yaml-config",
|
|
768
|
+
"name": "YAML Config Files",
|
|
769
|
+
"type": "fileExt",
|
|
770
|
+
"value": ["*.yml", "*.yaml"],
|
|
771
|
+
"patterns": ["universal/config"],
|
|
772
|
+
"description": "Auto-loads YAML config patterns",
|
|
773
|
+
"priority": 85,
|
|
774
|
+
"enabled": true
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"id": "uni-env-files",
|
|
778
|
+
"name": "Environment Files",
|
|
779
|
+
"type": "fileExt",
|
|
780
|
+
"value": [".env*"],
|
|
781
|
+
"patterns": ["universal/env-config"],
|
|
782
|
+
"description": "Auto-loads environment config patterns",
|
|
783
|
+
"priority": 90,
|
|
784
|
+
"enabled": true
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"id": "uni-migrations",
|
|
788
|
+
"name": "Database Migrations",
|
|
789
|
+
"type": "path",
|
|
790
|
+
"value": ["migrations/**/*", "db/migrations/**/*"],
|
|
791
|
+
"patterns": ["backend/database", "backend/migrations"],
|
|
792
|
+
"description": "Auto-loads migration patterns",
|
|
793
|
+
"priority": 80,
|
|
794
|
+
"enabled": true
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"id": "uni-seeds",
|
|
798
|
+
"name": "Database Seeds",
|
|
799
|
+
"type": "path",
|
|
800
|
+
"value": ["seeds/**/*", "db/seeds/**/*"],
|
|
801
|
+
"patterns": ["backend/database"],
|
|
802
|
+
"description": "Auto-loads seed patterns",
|
|
803
|
+
"priority": 80,
|
|
804
|
+
"enabled": true
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"id": "uni-api-routes",
|
|
808
|
+
"name": "API Routes Directory",
|
|
809
|
+
"type": "path",
|
|
810
|
+
"value": ["api/**/*", "src/api/**/*"],
|
|
811
|
+
"patterns": ["backend/rest-api"],
|
|
812
|
+
"description": "Auto-loads REST API patterns",
|
|
813
|
+
"priority": 80,
|
|
814
|
+
"enabled": true
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"id": "uni-middleware",
|
|
818
|
+
"name": "Middleware Directory",
|
|
819
|
+
"type": "path",
|
|
820
|
+
"value": ["middleware/**/*", "src/middleware/**/*"],
|
|
821
|
+
"patterns": ["backend/middleware"],
|
|
822
|
+
"description": "Auto-loads middleware patterns",
|
|
823
|
+
"priority": 80,
|
|
824
|
+
"enabled": true
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
"id": "uni-utils",
|
|
828
|
+
"name": "Utilities Directory",
|
|
829
|
+
"type": "path",
|
|
830
|
+
"value": ["utils/**/*", "src/utils/**/*", "lib/**/*"],
|
|
831
|
+
"patterns": ["universal/utilities"],
|
|
832
|
+
"description": "Auto-loads utility patterns",
|
|
833
|
+
"priority": 75,
|
|
834
|
+
"enabled": true
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"id": "uni-types",
|
|
838
|
+
"name": "Type Definitions",
|
|
839
|
+
"type": "path",
|
|
840
|
+
"value": ["types/**/*", "src/types/**/*", "@types/**/*"],
|
|
841
|
+
"patterns": ["universal/typescript/types"],
|
|
842
|
+
"description": "Auto-loads type definition patterns",
|
|
843
|
+
"priority": 80,
|
|
844
|
+
"enabled": true
|
|
845
|
+
},
|
|
846
|
+
{
|
|
847
|
+
"id": "uni-dts",
|
|
848
|
+
"name": "Declaration Files",
|
|
849
|
+
"type": "fileExt",
|
|
850
|
+
"value": ["*.d.ts"],
|
|
851
|
+
"patterns": ["universal/typescript/declarations"],
|
|
852
|
+
"description": "Auto-loads TypeScript declaration patterns",
|
|
853
|
+
"priority": 95,
|
|
854
|
+
"enabled": true
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"id": "cmd-npm-test",
|
|
858
|
+
"name": "NPM Test Command",
|
|
859
|
+
"type": "command",
|
|
860
|
+
"value": ["npm test", "pnpm test", "yarn test", "bun test"],
|
|
861
|
+
"patterns": ["universal/testing"],
|
|
862
|
+
"description": "Auto-loads testing patterns when running tests",
|
|
863
|
+
"priority": 20,
|
|
864
|
+
"enabled": true
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"id": "cmd-npm-build",
|
|
868
|
+
"name": "Build Commands",
|
|
869
|
+
"type": "command",
|
|
870
|
+
"value": ["npm run build", "pnpm build", "yarn build", "bun run build"],
|
|
871
|
+
"patterns": ["universal/build"],
|
|
872
|
+
"description": "Auto-loads build patterns",
|
|
873
|
+
"priority": 20,
|
|
874
|
+
"enabled": true
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"id": "cmd-npm-dev",
|
|
878
|
+
"name": "Dev Server Commands",
|
|
879
|
+
"type": "command",
|
|
880
|
+
"value": ["npm run dev", "pnpm dev", "yarn dev"],
|
|
881
|
+
"patterns": ["universal/development"],
|
|
882
|
+
"description": "Auto-loads development patterns",
|
|
883
|
+
"priority": 20,
|
|
884
|
+
"enabled": true
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"id": "cmd-lint",
|
|
888
|
+
"name": "Lint Commands",
|
|
889
|
+
"type": "command",
|
|
890
|
+
"value": ["npm run lint", "eslint", "pnpm lint"],
|
|
891
|
+
"patterns": ["universal/linting"],
|
|
892
|
+
"description": "Auto-loads linting patterns",
|
|
893
|
+
"priority": 20,
|
|
894
|
+
"enabled": true
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"id": "cmd-git",
|
|
898
|
+
"name": "Git Commands",
|
|
899
|
+
"type": "command",
|
|
900
|
+
"value": ["git commit", "git push", "git pull", "git merge"],
|
|
901
|
+
"patterns": ["universal/git"],
|
|
902
|
+
"description": "Auto-loads git workflow patterns",
|
|
903
|
+
"priority": 20,
|
|
904
|
+
"enabled": true
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"id": "cmd-docker",
|
|
908
|
+
"name": "Docker Commands",
|
|
909
|
+
"type": "command",
|
|
910
|
+
"value": ["docker build", "docker-compose", "docker run"],
|
|
911
|
+
"patterns": ["universal/docker"],
|
|
912
|
+
"description": "Auto-loads Docker patterns",
|
|
913
|
+
"priority": 20,
|
|
914
|
+
"enabled": true
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
"id": "cmd-kubectl",
|
|
918
|
+
"name": "Kubectl Commands",
|
|
919
|
+
"type": "command",
|
|
920
|
+
"value": ["kubectl"],
|
|
921
|
+
"patterns": ["universal/kubernetes"],
|
|
922
|
+
"description": "Auto-loads Kubernetes patterns",
|
|
923
|
+
"priority": 20,
|
|
924
|
+
"enabled": true
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
"id": "kw-interface",
|
|
928
|
+
"name": "TypeScript Interface",
|
|
929
|
+
"type": "keyword",
|
|
930
|
+
"value": ["interface\\s+\\w+"],
|
|
931
|
+
"patterns": ["universal/typescript/interfaces"],
|
|
932
|
+
"description": "Auto-loads interface patterns",
|
|
933
|
+
"priority": 40,
|
|
934
|
+
"enabled": true
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
"id": "kw-class",
|
|
938
|
+
"name": "Class Definition",
|
|
939
|
+
"type": "keyword",
|
|
940
|
+
"value": ["class\\s+\\w+"],
|
|
941
|
+
"patterns": ["universal/oop"],
|
|
942
|
+
"description": "Auto-loads OOP patterns",
|
|
943
|
+
"priority": 40,
|
|
944
|
+
"enabled": true
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
"id": "kw-async-await",
|
|
948
|
+
"name": "Async/Await",
|
|
949
|
+
"type": "keyword",
|
|
950
|
+
"value": ["async\\s+function", "await\\s+"],
|
|
951
|
+
"patterns": ["universal/async"],
|
|
952
|
+
"description": "Auto-loads async patterns",
|
|
953
|
+
"priority": 40,
|
|
954
|
+
"enabled": true
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
"id": "kw-try-catch",
|
|
958
|
+
"name": "Error Handling",
|
|
959
|
+
"type": "keyword",
|
|
960
|
+
"value": ["try\\s*\\{", "catch\\s*\\(", "throw\\s+new"],
|
|
961
|
+
"patterns": ["universal/error-handling"],
|
|
962
|
+
"description": "Auto-loads error handling patterns",
|
|
963
|
+
"priority": 40,
|
|
964
|
+
"enabled": true
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"id": "kw-fetch-api",
|
|
968
|
+
"name": "Fetch API",
|
|
969
|
+
"type": "keyword",
|
|
970
|
+
"value": ["fetch\\(", "axios\\.", "ky\\."],
|
|
971
|
+
"patterns": ["universal/http-client"],
|
|
972
|
+
"description": "Auto-loads HTTP client patterns",
|
|
973
|
+
"priority": 40,
|
|
974
|
+
"enabled": true
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"id": "kw-regex",
|
|
978
|
+
"name": "Regular Expressions",
|
|
979
|
+
"type": "keyword",
|
|
980
|
+
"value": ["new RegExp\\(", "/.*?/[gimsuy]*"],
|
|
981
|
+
"patterns": ["universal/regex"],
|
|
982
|
+
"description": "Auto-loads regex patterns",
|
|
983
|
+
"priority": 35,
|
|
984
|
+
"enabled": true
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"id": "kw-zod",
|
|
988
|
+
"name": "Zod Validation",
|
|
989
|
+
"type": "import",
|
|
990
|
+
"value": ["from.*zod", "import.*zod"],
|
|
991
|
+
"patterns": ["universal/validation/zod"],
|
|
992
|
+
"description": "Auto-loads Zod patterns",
|
|
993
|
+
"priority": 60,
|
|
994
|
+
"enabled": true
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
"id": "kw-yup",
|
|
998
|
+
"name": "Yup Validation",
|
|
999
|
+
"type": "import",
|
|
1000
|
+
"value": ["from.*yup", "import.*yup"],
|
|
1001
|
+
"patterns": ["universal/validation/yup"],
|
|
1002
|
+
"description": "Auto-loads Yup patterns",
|
|
1003
|
+
"priority": 60,
|
|
1004
|
+
"enabled": true
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
"id": "fe-i18n",
|
|
1008
|
+
"name": "Internationalization",
|
|
1009
|
+
"type": "import",
|
|
1010
|
+
"value": ["react-i18next", "next-intl", "i18next"],
|
|
1011
|
+
"patterns": ["universal/i18n"],
|
|
1012
|
+
"description": "Auto-loads i18n patterns",
|
|
1013
|
+
"priority": 55,
|
|
1014
|
+
"enabled": true
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"id": "uni-monorepo",
|
|
1018
|
+
"name": "Monorepo Config",
|
|
1019
|
+
"type": "fileExt",
|
|
1020
|
+
"value": ["pnpm-workspace.yaml", "lerna.json", "turbo.json", "nx.json"],
|
|
1021
|
+
"patterns": ["universal/monorepo"],
|
|
1022
|
+
"description": "Auto-loads monorepo patterns",
|
|
1023
|
+
"priority": 95,
|
|
1024
|
+
"enabled": true
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"id": "uni-vite-config",
|
|
1028
|
+
"name": "Vite Config",
|
|
1029
|
+
"type": "fileExt",
|
|
1030
|
+
"value": ["vite.config.*"],
|
|
1031
|
+
"patterns": ["universal/vite"],
|
|
1032
|
+
"description": "Auto-loads Vite patterns",
|
|
1033
|
+
"priority": 95,
|
|
1034
|
+
"enabled": true
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
"id": "uni-webpack-config",
|
|
1038
|
+
"name": "Webpack Config",
|
|
1039
|
+
"type": "fileExt",
|
|
1040
|
+
"value": ["webpack.config.*"],
|
|
1041
|
+
"patterns": ["universal/webpack"],
|
|
1042
|
+
"description": "Auto-loads Webpack patterns",
|
|
1043
|
+
"priority": 95,
|
|
1044
|
+
"enabled": true
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
"id": "be-serverless",
|
|
1048
|
+
"name": "Serverless Framework",
|
|
1049
|
+
"type": "fileExt",
|
|
1050
|
+
"value": ["serverless.yml", "serverless.yaml"],
|
|
1051
|
+
"patterns": ["backend/serverless"],
|
|
1052
|
+
"description": "Auto-loads Serverless patterns",
|
|
1053
|
+
"priority": 95,
|
|
1054
|
+
"enabled": true
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"id": "be-aws-cdk",
|
|
1058
|
+
"name": "AWS CDK",
|
|
1059
|
+
"type": "import",
|
|
1060
|
+
"value": ["aws-cdk-lib", "@aws-cdk"],
|
|
1061
|
+
"patterns": ["backend/aws-cdk"],
|
|
1062
|
+
"description": "Auto-loads AWS CDK patterns",
|
|
1063
|
+
"priority": 60,
|
|
1064
|
+
"enabled": true
|
|
1065
|
+
},
|
|
1066
|
+
{
|
|
1067
|
+
"id": "be-aws-lambda",
|
|
1068
|
+
"name": "AWS Lambda",
|
|
1069
|
+
"type": "import",
|
|
1070
|
+
"value": ["@aws-sdk", "aws-lambda"],
|
|
1071
|
+
"patterns": ["backend/aws-lambda"],
|
|
1072
|
+
"description": "Auto-loads AWS Lambda patterns",
|
|
1073
|
+
"priority": 60,
|
|
1074
|
+
"enabled": true
|
|
1075
|
+
},
|
|
1076
|
+
{
|
|
1077
|
+
"id": "be-openapi",
|
|
1078
|
+
"name": "OpenAPI Spec",
|
|
1079
|
+
"type": "path",
|
|
1080
|
+
"value": ["openapi.yaml", "openapi.yml", "swagger.yaml", "swagger.json"],
|
|
1081
|
+
"patterns": ["backend/openapi"],
|
|
1082
|
+
"description": "Auto-loads OpenAPI patterns",
|
|
1083
|
+
"priority": 95,
|
|
1084
|
+
"enabled": true
|
|
1085
|
+
}
|
|
1086
|
+
]
|
|
1087
|
+
}
|