@el-j/magic-helix-core 4.0.0-beta.1 → 4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/index-B88j4AyE.js +13 -0
  2. package/dist/index-B88j4AyE.js.map +1 -0
  3. package/dist/index-CY-pQbuu.cjs +2 -0
  4. package/dist/index-CY-pQbuu.cjs.map +1 -0
  5. package/dist/index.cjs +75 -1
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.ts +0 -1
  8. package/dist/index.mjs +2234 -51
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/pattern-combiner.d.ts +1 -1
  11. package/dist/plugin-loader.d.ts +7 -1
  12. package/package.json +4 -4
  13. package/dist/BasePlugin-6wv0hYJ9.js +0 -98
  14. package/dist/BasePlugin-6wv0hYJ9.js.map +0 -1
  15. package/dist/BasePlugin-odQJAKA-.cjs +0 -2
  16. package/dist/BasePlugin-odQJAKA-.cjs.map +0 -1
  17. package/dist/builtin-plugins/base/BasePlugin.d.ts +0 -69
  18. package/dist/builtin-plugins/csharp/index.d.ts +0 -20
  19. package/dist/builtin-plugins/go/index.d.ts +0 -23
  20. package/dist/builtin-plugins/index.d.ts +0 -15
  21. package/dist/builtin-plugins/java/index.d.ts +0 -22
  22. package/dist/builtin-plugins/nodejs/index.d.ts +0 -44
  23. package/dist/builtin-plugins/php/index.d.ts +0 -20
  24. package/dist/builtin-plugins/python/index.d.ts +0 -27
  25. package/dist/builtin-plugins/ruby/index.d.ts +0 -20
  26. package/dist/builtin-plugins/rust/index.d.ts +0 -53
  27. package/dist/builtin-plugins/swift/index.d.ts +0 -22
  28. package/dist/default_templates/angular/angular-core.md +0 -19
  29. package/dist/default_templates/architecture/codeowners.md +0 -123
  30. package/dist/default_templates/architecture/monorepo.md +0 -146
  31. package/dist/default_templates/architecture/nx.md +0 -122
  32. package/dist/default_templates/architecture/turborepo.md +0 -114
  33. package/dist/default_templates/ci/github-actions.md +0 -268
  34. package/dist/default_templates/ci/gitlab-ci.md +0 -330
  35. package/dist/default_templates/containers/docker-multistage.md +0 -120
  36. package/dist/default_templates/containers/kubernetes-deploy.md +0 -210
  37. package/dist/default_templates/devops/docker-compose.md +0 -111
  38. package/dist/default_templates/devops/docker-dockerfile.md +0 -94
  39. package/dist/default_templates/devops/github-actions.md +0 -160
  40. package/dist/default_templates/devops/gitlab-ci.md +0 -210
  41. package/dist/default_templates/dotnet/framework-aspnetcore.md +0 -205
  42. package/dist/default_templates/dotnet/framework-blazor.md +0 -271
  43. package/dist/default_templates/dotnet/lang-csharp.md +0 -162
  44. package/dist/default_templates/generic/lang-typescript.md +0 -11
  45. package/dist/default_templates/generic/state-redux.md +0 -21
  46. package/dist/default_templates/generic/state-rxjs.md +0 -6
  47. package/dist/default_templates/generic/style-mui.md +0 -23
  48. package/dist/default_templates/generic/style-tailwind.md +0 -6
  49. package/dist/default_templates/generic/test-cypress.md +0 -21
  50. package/dist/default_templates/generic/test-jest.md +0 -20
  51. package/dist/default_templates/generic/test-playwright.md +0 -21
  52. package/dist/default_templates/generic/test-vitest.md +0 -6
  53. package/dist/default_templates/go/lang-go.md +0 -571
  54. package/dist/default_templates/java/build-gradle.md +0 -102
  55. package/dist/default_templates/java/build-maven.md +0 -86
  56. package/dist/default_templates/java/framework-spring-boot.md +0 -179
  57. package/dist/default_templates/java/lang-java.md +0 -78
  58. package/dist/default_templates/java/lang-kotlin.md +0 -88
  59. package/dist/default_templates/meta/magic-helix-meta.md +0 -213
  60. package/dist/default_templates/meta/meta-debug.md +0 -459
  61. package/dist/default_templates/meta/meta-implement.md +0 -450
  62. package/dist/default_templates/meta/meta-roadmap.md +0 -265
  63. package/dist/default_templates/nestjs/nestjs-core.md +0 -7
  64. package/dist/default_templates/patterns/architecture/clean-architecture.md +0 -469
  65. package/dist/default_templates/patterns/architecture/dependency-injection.md +0 -517
  66. package/dist/default_templates/patterns/architecture/domain-driven-design.md +0 -621
  67. package/dist/default_templates/patterns/architecture/layered-architecture.md +0 -382
  68. package/dist/default_templates/patterns/architecture/repository-pattern.md +0 -408
  69. package/dist/default_templates/patterns/domain-expertise/nextjs-rules.md +0 -115
  70. package/dist/default_templates/patterns/domain-expertise/react-patterns.md +0 -181
  71. package/dist/default_templates/patterns/domain-expertise/server-components.md +0 -212
  72. package/dist/default_templates/patterns/domain-expertise/shadcn-ui.md +0 -52
  73. package/dist/default_templates/patterns/domain-expertise/tailwind-patterns.md +0 -52
  74. package/dist/default_templates/patterns/environment/container-awareness.md +0 -17
  75. package/dist/default_templates/patterns/environment/ide-features.md +0 -17
  76. package/dist/default_templates/patterns/environment/os-commands.md +0 -17
  77. package/dist/default_templates/patterns/organization/heading-hierarchy.md +0 -103
  78. package/dist/default_templates/patterns/organization/sequential-workflows.md +0 -102
  79. package/dist/default_templates/patterns/organization/xml-rule-groups.md +0 -64
  80. package/dist/default_templates/patterns/reasoning/agent-loop.md +0 -151
  81. package/dist/default_templates/patterns/reasoning/confirmation-gates.md +0 -141
  82. package/dist/default_templates/patterns/reasoning/dependency-analysis.md +0 -132
  83. package/dist/default_templates/patterns/reasoning/one-tool-per-iteration.md +0 -152
  84. package/dist/default_templates/patterns/reasoning/preview-before-action.md +0 -194
  85. package/dist/default_templates/patterns/reasoning/reflection-checkpoints.md +0 -166
  86. package/dist/default_templates/patterns/reasoning/result-verification.md +0 -157
  87. package/dist/default_templates/patterns/reasoning/subtask-breakdown.md +0 -131
  88. package/dist/default_templates/patterns/reasoning/thinking-tags.md +0 -100
  89. package/dist/default_templates/patterns/role-definition/capability-declarations.md +0 -72
  90. package/dist/default_templates/patterns/role-definition/expert-identity.md +0 -45
  91. package/dist/default_templates/patterns/role-definition/scope-boundaries.md +0 -61
  92. package/dist/default_templates/patterns/safety/code-safety-rules.md +0 -17
  93. package/dist/default_templates/patterns/safety/credential-handling.md +0 -17
  94. package/dist/default_templates/patterns/safety/destructive-warnings.md +0 -17
  95. package/dist/default_templates/patterns/safety/refusal-messages.md +0 -17
  96. package/dist/default_templates/patterns/tone/adaptive-tone.md +0 -17
  97. package/dist/default_templates/patterns/tone/concise-communication.md +0 -17
  98. package/dist/default_templates/patterns/tone/forbidden-phrases.md +0 -17
  99. package/dist/default_templates/patterns/tool-guidelines/function-schemas.md +0 -143
  100. package/dist/default_templates/patterns/tool-guidelines/parameter-examples.md +0 -137
  101. package/dist/default_templates/patterns/tool-guidelines/usage-policies.md +0 -105
  102. package/dist/default_templates/php/framework-laravel.md +0 -112
  103. package/dist/default_templates/php/lang-php.md +0 -94
  104. package/dist/default_templates/python/lang-python.md +0 -508
  105. package/dist/default_templates/react/react-core.md +0 -677
  106. package/dist/default_templates/react/react-zustand.md +0 -7
  107. package/dist/default_templates/ruby/framework-rails.md +0 -309
  108. package/dist/default_templates/ruby/framework-sinatra.md +0 -227
  109. package/dist/default_templates/ruby/lang-ruby.md +0 -216
  110. package/dist/default_templates/rust/lang-rust.md +0 -89
  111. package/dist/default_templates/swift/framework-vapor.md +0 -352
  112. package/dist/default_templates/swift/lang-swift.md +0 -291
  113. package/dist/default_templates/vue/style-primevue.md +0 -6
  114. package/dist/default_templates/vue/style-quasar.md +0 -22
  115. package/dist/default_templates/vue/vue-core.md +0 -28
  116. package/dist/default_templates/vue/vue-pinia.md +0 -5
  117. package/dist/index-AkVwRl-r.js +0 -92
  118. package/dist/index-AkVwRl-r.js.map +0 -1
  119. package/dist/index-B6BeG1yT.cjs +0 -68
  120. package/dist/index-B6BeG1yT.cjs.map +0 -1
  121. package/dist/index-B8pyjKdF.js +0 -94
  122. package/dist/index-B8pyjKdF.js.map +0 -1
  123. package/dist/index-B_6W_RnJ.cjs +0 -76
  124. package/dist/index-B_6W_RnJ.cjs.map +0 -1
  125. package/dist/index-Bg8DD8ku.js +0 -216
  126. package/dist/index-Bg8DD8ku.js.map +0 -1
  127. package/dist/index-BkJhe5Af.js +0 -1748
  128. package/dist/index-BkJhe5Af.js.map +0 -1
  129. package/dist/index-Bv4Q1Pr7.cjs +0 -33
  130. package/dist/index-Bv4Q1Pr7.cjs.map +0 -1
  131. package/dist/index-CN8J45Nc.cjs +0 -24
  132. package/dist/index-CN8J45Nc.cjs.map +0 -1
  133. package/dist/index-CPbv2Od1.js +0 -62
  134. package/dist/index-CPbv2Od1.js.map +0 -1
  135. package/dist/index-Cf-MC6Al.js +0 -63
  136. package/dist/index-Cf-MC6Al.js.map +0 -1
  137. package/dist/index-DDPXXXDy.cjs +0 -19
  138. package/dist/index-DDPXXXDy.cjs.map +0 -1
  139. package/dist/index-DO30AzDe.cjs +0 -19
  140. package/dist/index-DO30AzDe.cjs.map +0 -1
  141. package/dist/index-Dm37u5ut.js +0 -2128
  142. package/dist/index-Dm37u5ut.js.map +0 -1
  143. package/dist/index-DqHvgoXJ.cjs +0 -19
  144. package/dist/index-DqHvgoXJ.cjs.map +0 -1
  145. package/dist/index-J1qAfsnO.cjs +0 -2
  146. package/dist/index-J1qAfsnO.cjs.map +0 -1
  147. package/dist/index-Jz0HYZ7B.js +0 -13
  148. package/dist/index-Jz0HYZ7B.js.map +0 -1
  149. package/dist/index-K39pdw94.cjs +0 -31
  150. package/dist/index-K39pdw94.cjs.map +0 -1
  151. package/dist/index-L3IVvhd1.cjs +0 -89
  152. package/dist/index-L3IVvhd1.cjs.map +0 -1
  153. package/dist/index-OT2XAJkc.js +0 -117
  154. package/dist/index-OT2XAJkc.js.map +0 -1
  155. package/dist/index-TPAX4XKg.cjs +0 -30
  156. package/dist/index-TPAX4XKg.cjs.map +0 -1
  157. package/dist/index-WmVSB57y.js +0 -107
  158. package/dist/index-WmVSB57y.js.map +0 -1
  159. package/dist/index-mYXvc3Fs.js +0 -68
  160. package/dist/index-mYXvc3Fs.js.map +0 -1
@@ -1,216 +0,0 @@
1
- import * as t from "node:path";
2
- import { B as r } from "./BasePlugin-6wv0hYJ9.js";
3
- class c extends r {
4
- constructor() {
5
- super(...arguments), this.name = "nodejs", this.displayName = "Node.js", this.version = "3.0.0", this.priority = 100;
6
- }
7
- // High priority - very common
8
- async detect(e) {
9
- if (!this.fileExists(e, "package.json"))
10
- return null;
11
- const s = this.readJSON(e, "package.json");
12
- if (!s)
13
- return {
14
- language: "JavaScript/TypeScript",
15
- name: this.getProjectName(e),
16
- dependencies: {},
17
- manifestFile: "package.json",
18
- projectPath: e
19
- };
20
- const a = this.parseDependencies(
21
- s,
22
- "dependencies",
23
- "devDependencies"
24
- ), n = {
25
- language: "JavaScript/TypeScript",
26
- name: s.name || this.getProjectName(e),
27
- description: s.description,
28
- dependencies: a,
29
- manifestFile: "package.json",
30
- projectPath: e
31
- }, i = this.extractWorkspaces(s);
32
- return i.length > 0 && (n.workspaceMembers = i), n;
33
- }
34
- getTemplates() {
35
- return [
36
- {
37
- name: "lang-typescript",
38
- tags: ["typescript"],
39
- content: () => this.loadTemplateFromFile(
40
- t.join(__dirname, "templates/lang-typescript.md")
41
- ).then((e) => e || this.getTypescriptTemplate())
42
- },
43
- {
44
- name: "react-core",
45
- tags: ["react"],
46
- content: () => this.loadTemplateFromFile(
47
- t.join(__dirname, "templates/react-core.md")
48
- ).then((e) => e || this.getReactTemplate())
49
- },
50
- {
51
- name: "react-zustand",
52
- tags: ["zustand"],
53
- content: () => this.loadTemplateFromFile(
54
- t.join(__dirname, "templates/react-zustand.md")
55
- ).then((e) => e || this.getReactZustandTemplate())
56
- },
57
- {
58
- name: "vue-core",
59
- tags: ["vue"],
60
- content: () => this.loadTemplateFromFile(
61
- t.join(__dirname, "templates/vue-core.md")
62
- ).then((e) => e || this.getVueTemplate())
63
- },
64
- {
65
- name: "vue-pinia",
66
- tags: ["pinia"],
67
- content: () => this.loadTemplateFromFile(
68
- t.join(__dirname, "templates/vue-pinia.md")
69
- ).then((e) => e || this.getVuePiniaTemplate())
70
- },
71
- {
72
- name: "nestjs-core",
73
- tags: ["nestjs"],
74
- content: () => this.loadTemplateFromFile(
75
- t.join(__dirname, "templates/nestjs-core.md")
76
- ).then((e) => e || this.getNestJSTemplate())
77
- },
78
- {
79
- name: "style-tailwind",
80
- tags: ["tailwind"],
81
- content: () => this.loadTemplateFromFile(
82
- t.join(__dirname, "templates/style-tailwind.md")
83
- ).then((e) => e || this.getTailwindTemplate())
84
- },
85
- {
86
- name: "test-vitest",
87
- tags: ["vitest"],
88
- content: () => this.loadTemplateFromFile(
89
- t.join(__dirname, "templates/test-vitest.md")
90
- ).then((e) => e || this.getVitestTemplate())
91
- }
92
- ];
93
- }
94
- getDependencyTagMap() {
95
- return {
96
- react: "react",
97
- "react-dom": "react",
98
- vue: "vue",
99
- "@vue/runtime-core": "vue",
100
- pinia: "pinia",
101
- "@nestjs/core": "nestjs",
102
- tailwindcss: "tailwind",
103
- vitest: "vitest",
104
- zustand: "zustand",
105
- typescript: "typescript"
106
- };
107
- }
108
- getConfigFileTagMap() {
109
- return {
110
- "tailwind.config.js": "tailwind",
111
- "tailwind.config.ts": "tailwind",
112
- "vitest.config.js": "vitest",
113
- "vitest.config.ts": "vitest",
114
- "tsconfig.json": "typescript"
115
- };
116
- }
117
- // Private helper methods
118
- extractWorkspaces(e) {
119
- return e.workspaces ? (Array.isArray(e.workspaces) ? e.workspaces : e.workspaces.packages || []).map((a) => a.replace(/\/\*$/, "")) : [];
120
- }
121
- // Fallback template content (if files don't exist)
122
- getTypescriptTemplate() {
123
- return `# TypeScript Guidelines
124
-
125
- This project uses TypeScript for type safety.
126
-
127
- ## Type Safety
128
- - Use strict type checking
129
- - Avoid \`any\` types
130
- - Prefer interfaces over types for objects
131
-
132
- ## Best Practices
133
- - Enable all strict compiler options
134
- - Use proper type inference
135
- - Leverage utility types`;
136
- }
137
- getReactTemplate() {
138
- return `# React Development Guidelines
139
-
140
- This project uses React.
141
-
142
- ## Component Structure
143
- - Use functional components with hooks
144
- - Keep components focused and reusable
145
- - Follow React best practices
146
-
147
- ## State Management
148
- - Use appropriate state management for complexity
149
- - Consider component composition
150
- - Leverage React context when needed`;
151
- }
152
- getReactZustandTemplate() {
153
- return `# Zustand State Management
154
-
155
- This project uses Zustand for state management.
156
-
157
- ## Store Structure
158
- - Create focused, modular stores
159
- - Use selectors to prevent unnecessary re-renders
160
- - Follow Zustand best practices`;
161
- }
162
- getVueTemplate() {
163
- return `# Vue.js Development Guidelines
164
-
165
- This project uses Vue.js.
166
-
167
- ## Component Structure
168
- - Use Composition API
169
- - Follow Vue.js style guide
170
- - Keep components composable and reusable`;
171
- }
172
- getVuePiniaTemplate() {
173
- return `# Pinia State Management
174
-
175
- This project uses Pinia for state management.
176
-
177
- ## Store Structure
178
- - Create modular stores
179
- - Use composition stores pattern
180
- - Follow Pinia best practices`;
181
- }
182
- getNestJSTemplate() {
183
- return `# NestJS Development Guidelines
184
-
185
- This project uses NestJS framework.
186
-
187
- ## Architecture
188
- - Follow modular architecture
189
- - Use dependency injection
190
- - Implement proper error handling`;
191
- }
192
- getTailwindTemplate() {
193
- return `# Tailwind CSS Guidelines
194
-
195
- This project uses Tailwind CSS.
196
-
197
- ## Styling Approach
198
- - Use utility-first classes
199
- - Create reusable components
200
- - Follow Tailwind best practices`;
201
- }
202
- getVitestTemplate() {
203
- return `# Vitest Testing Guidelines
204
-
205
- This project uses Vitest for testing.
206
-
207
- ## Testing Strategy
208
- - Write unit tests for utilities
209
- - Use component testing
210
- - Follow testing best practices`;
211
- }
212
- }
213
- export {
214
- c as NodeJSPlugin
215
- };
216
- //# sourceMappingURL=index-Bg8DD8ku.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Bg8DD8ku.js","sources":["../src/builtin-plugins/nodejs/index.ts"],"sourcesContent":["/**\n * Node.js Language Plugin\n *\n * Detects Node.js/JavaScript/TypeScript projects via package.json\n * Supports npm workspaces for monorepo detection\n */\n\nimport * as path from 'node:path';\nimport type { ProjectMetadata, TemplateDefinition } from '../../types';\nimport { BasePlugin } from '../base/BasePlugin';\n\ninterface PackageJson {\n name?: string;\n description?: string;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n workspaces?: string[] | { packages: string[] };\n}\n\nexport class NodeJSPlugin extends BasePlugin {\n name = 'nodejs';\n displayName = 'Node.js';\n version = '3.0.0';\n priority = 100; // High priority - very common\n\n async detect(projectPath: string): Promise<ProjectMetadata | null> {\n if (!this.fileExists(projectPath, 'package.json')) {\n return null;\n }\n\n const pkg = this.readJSON<PackageJson>(projectPath, 'package.json');\n if (!pkg) {\n // package.json exists but couldn't parse - still consider it a Node.js project\n return {\n language: 'JavaScript/TypeScript',\n name: this.getProjectName(projectPath),\n dependencies: {},\n manifestFile: 'package.json',\n projectPath,\n };\n }\n\n const deps = this.parseDependencies(\n pkg as Record<string, unknown>,\n 'dependencies',\n 'devDependencies',\n );\n\n const metadata: ProjectMetadata = {\n language: 'JavaScript/TypeScript',\n name: pkg.name || this.getProjectName(projectPath),\n description: pkg.description,\n dependencies: deps,\n manifestFile: 'package.json',\n projectPath,\n };\n\n // Check for workspaces (monorepo support)\n const workspaces = this.extractWorkspaces(pkg);\n if (workspaces.length > 0) {\n metadata.workspaceMembers = workspaces;\n }\n\n return metadata;\n }\n\n getTemplates(): TemplateDefinition[] {\n return [\n {\n name: 'lang-typescript',\n tags: ['typescript'],\n content: () =>\n this.loadTemplateFromFile(\n path.join(__dirname, 'templates/lang-typescript.md'),\n ).then((c) => c || this.getTypescriptTemplate()),\n },\n {\n name: 'react-core',\n tags: ['react'],\n content: () =>\n this.loadTemplateFromFile(\n path.join(__dirname, 'templates/react-core.md'),\n ).then((c) => c || this.getReactTemplate()),\n },\n {\n name: 'react-zustand',\n tags: ['zustand'],\n content: () =>\n this.loadTemplateFromFile(\n path.join(__dirname, 'templates/react-zustand.md'),\n ).then((c) => c || this.getReactZustandTemplate()),\n },\n {\n name: 'vue-core',\n tags: ['vue'],\n content: () =>\n this.loadTemplateFromFile(\n path.join(__dirname, 'templates/vue-core.md'),\n ).then((c) => c || this.getVueTemplate()),\n },\n {\n name: 'vue-pinia',\n tags: ['pinia'],\n content: () =>\n this.loadTemplateFromFile(\n path.join(__dirname, 'templates/vue-pinia.md'),\n ).then((c) => c || this.getVuePiniaTemplate()),\n },\n {\n name: 'nestjs-core',\n tags: ['nestjs'],\n content: () =>\n this.loadTemplateFromFile(\n path.join(__dirname, 'templates/nestjs-core.md'),\n ).then((c) => c || this.getNestJSTemplate()),\n },\n {\n name: 'style-tailwind',\n tags: ['tailwind'],\n content: () =>\n this.loadTemplateFromFile(\n path.join(__dirname, 'templates/style-tailwind.md'),\n ).then((c) => c || this.getTailwindTemplate()),\n },\n {\n name: 'test-vitest',\n tags: ['vitest'],\n content: () =>\n this.loadTemplateFromFile(\n path.join(__dirname, 'templates/test-vitest.md'),\n ).then((c) => c || this.getVitestTemplate()),\n },\n ];\n }\n\n getDependencyTagMap() {\n return {\n react: 'react',\n 'react-dom': 'react',\n vue: 'vue',\n '@vue/runtime-core': 'vue',\n pinia: 'pinia',\n '@nestjs/core': 'nestjs',\n tailwindcss: 'tailwind',\n vitest: 'vitest',\n zustand: 'zustand',\n typescript: 'typescript',\n };\n }\n\n getConfigFileTagMap() {\n return {\n 'tailwind.config.js': 'tailwind',\n 'tailwind.config.ts': 'tailwind',\n 'vitest.config.js': 'vitest',\n 'vitest.config.ts': 'vitest',\n 'tsconfig.json': 'typescript',\n };\n }\n\n // Private helper methods\n\n private extractWorkspaces(pkg: PackageJson): string[] {\n if (!pkg.workspaces) return [];\n\n const workspacePatterns = Array.isArray(pkg.workspaces)\n ? pkg.workspaces\n : pkg.workspaces.packages || [];\n\n // Convert glob patterns to actual paths (simplified - just remove wildcards)\n return workspacePatterns.map((pattern) => pattern.replace(/\\/\\*$/, ''));\n }\n\n // Fallback template content (if files don't exist)\n\n private getTypescriptTemplate(): string {\n return `# TypeScript Guidelines\n\nThis project uses TypeScript for type safety.\n\n## Type Safety\n- Use strict type checking\n- Avoid \\`any\\` types\n- Prefer interfaces over types for objects\n\n## Best Practices\n- Enable all strict compiler options\n- Use proper type inference\n- Leverage utility types`;\n }\n\n private getReactTemplate(): string {\n return `# React Development Guidelines\n\nThis project uses React.\n\n## Component Structure\n- Use functional components with hooks\n- Keep components focused and reusable\n- Follow React best practices\n\n## State Management\n- Use appropriate state management for complexity\n- Consider component composition\n- Leverage React context when needed`;\n }\n\n private getReactZustandTemplate(): string {\n return `# Zustand State Management\n\nThis project uses Zustand for state management.\n\n## Store Structure\n- Create focused, modular stores\n- Use selectors to prevent unnecessary re-renders\n- Follow Zustand best practices`;\n }\n\n private getVueTemplate(): string {\n return `# Vue.js Development Guidelines\n\nThis project uses Vue.js.\n\n## Component Structure\n- Use Composition API\n- Follow Vue.js style guide\n- Keep components composable and reusable`;\n }\n\n private getVuePiniaTemplate(): string {\n return `# Pinia State Management\n\nThis project uses Pinia for state management.\n\n## Store Structure\n- Create modular stores\n- Use composition stores pattern\n- Follow Pinia best practices`;\n }\n\n private getNestJSTemplate(): string {\n return `# NestJS Development Guidelines\n\nThis project uses NestJS framework.\n\n## Architecture\n- Follow modular architecture\n- Use dependency injection\n- Implement proper error handling`;\n }\n\n private getTailwindTemplate(): string {\n return `# Tailwind CSS Guidelines\n\nThis project uses Tailwind CSS.\n\n## Styling Approach\n- Use utility-first classes\n- Create reusable components\n- Follow Tailwind best practices`;\n }\n\n private getVitestTemplate(): string {\n return `# Vitest Testing Guidelines\n\nThis project uses Vitest for testing.\n\n## Testing Strategy\n- Write unit tests for utilities\n- Use component testing\n- Follow testing best practices`;\n }\n}\n"],"names":["NodeJSPlugin","BasePlugin","projectPath","pkg","deps","metadata","workspaces","path","c","pattern"],"mappings":"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"}