@el-j/magic-helix-core 4.0.0-beta.2 → 4.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) 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 +2214 -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 +2 -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/cpp/index.d.ts +0 -46
  19. package/dist/builtin-plugins/csharp/index.d.ts +0 -20
  20. package/dist/builtin-plugins/go/index.d.ts +0 -23
  21. package/dist/builtin-plugins/index.d.ts +0 -16
  22. package/dist/builtin-plugins/java/index.d.ts +0 -22
  23. package/dist/builtin-plugins/nodejs/index.d.ts +0 -44
  24. package/dist/builtin-plugins/php/index.d.ts +0 -20
  25. package/dist/builtin-plugins/python/index.d.ts +0 -27
  26. package/dist/builtin-plugins/ruby/index.d.ts +0 -20
  27. package/dist/builtin-plugins/rust/index.d.ts +0 -53
  28. package/dist/builtin-plugins/swift/index.d.ts +0 -22
  29. package/dist/default_templates/angular/angular-core.md +0 -19
  30. package/dist/default_templates/architecture/codeowners.md +0 -123
  31. package/dist/default_templates/architecture/monorepo.md +0 -146
  32. package/dist/default_templates/architecture/nx.md +0 -122
  33. package/dist/default_templates/architecture/turborepo.md +0 -114
  34. package/dist/default_templates/ci/github-actions.md +0 -268
  35. package/dist/default_templates/ci/gitlab-ci.md +0 -330
  36. package/dist/default_templates/containers/docker-multistage.md +0 -120
  37. package/dist/default_templates/containers/kubernetes-deploy.md +0 -210
  38. package/dist/default_templates/devops/docker-compose.md +0 -111
  39. package/dist/default_templates/devops/docker-dockerfile.md +0 -94
  40. package/dist/default_templates/devops/github-actions.md +0 -160
  41. package/dist/default_templates/devops/gitlab-ci.md +0 -210
  42. package/dist/default_templates/dotnet/framework-aspnetcore.md +0 -205
  43. package/dist/default_templates/dotnet/framework-blazor.md +0 -271
  44. package/dist/default_templates/dotnet/lang-csharp.md +0 -162
  45. package/dist/default_templates/generic/lang-typescript.md +0 -57
  46. package/dist/default_templates/generic/state-redux.md +0 -21
  47. package/dist/default_templates/generic/state-rxjs.md +0 -6
  48. package/dist/default_templates/generic/style-mui.md +0 -23
  49. package/dist/default_templates/generic/style-tailwind.md +0 -76
  50. package/dist/default_templates/generic/test-cypress.md +0 -21
  51. package/dist/default_templates/generic/test-jest.md +0 -20
  52. package/dist/default_templates/generic/test-playwright.md +0 -21
  53. package/dist/default_templates/generic/test-vitest.md +0 -131
  54. package/dist/default_templates/go/lang-go.md +0 -571
  55. package/dist/default_templates/java/build-gradle.md +0 -102
  56. package/dist/default_templates/java/build-maven.md +0 -86
  57. package/dist/default_templates/java/framework-spring-boot.md +0 -179
  58. package/dist/default_templates/java/lang-java.md +0 -78
  59. package/dist/default_templates/java/lang-kotlin.md +0 -88
  60. package/dist/default_templates/meta/magic-helix-meta.md +0 -213
  61. package/dist/default_templates/meta/meta-debug.md +0 -459
  62. package/dist/default_templates/meta/meta-implement.md +0 -450
  63. package/dist/default_templates/meta/meta-roadmap.md +0 -265
  64. package/dist/default_templates/nestjs/nestjs-core.md +0 -7
  65. package/dist/default_templates/patterns/architecture/clean-architecture.md +0 -469
  66. package/dist/default_templates/patterns/architecture/dependency-injection.md +0 -517
  67. package/dist/default_templates/patterns/architecture/domain-driven-design.md +0 -621
  68. package/dist/default_templates/patterns/architecture/layered-architecture.md +0 -382
  69. package/dist/default_templates/patterns/architecture/repository-pattern.md +0 -408
  70. package/dist/default_templates/patterns/domain-expertise/nextjs-rules.md +0 -115
  71. package/dist/default_templates/patterns/domain-expertise/react-patterns.md +0 -181
  72. package/dist/default_templates/patterns/domain-expertise/server-components.md +0 -212
  73. package/dist/default_templates/patterns/domain-expertise/shadcn-ui.md +0 -52
  74. package/dist/default_templates/patterns/domain-expertise/tailwind-patterns.md +0 -52
  75. package/dist/default_templates/patterns/environment/container-awareness.md +0 -17
  76. package/dist/default_templates/patterns/environment/ide-features.md +0 -17
  77. package/dist/default_templates/patterns/environment/os-commands.md +0 -17
  78. package/dist/default_templates/patterns/organization/heading-hierarchy.md +0 -103
  79. package/dist/default_templates/patterns/organization/sequential-workflows.md +0 -102
  80. package/dist/default_templates/patterns/organization/xml-rule-groups.md +0 -64
  81. package/dist/default_templates/patterns/reasoning/agent-loop.md +0 -151
  82. package/dist/default_templates/patterns/reasoning/confirmation-gates.md +0 -141
  83. package/dist/default_templates/patterns/reasoning/dependency-analysis.md +0 -132
  84. package/dist/default_templates/patterns/reasoning/one-tool-per-iteration.md +0 -152
  85. package/dist/default_templates/patterns/reasoning/preview-before-action.md +0 -194
  86. package/dist/default_templates/patterns/reasoning/reflection-checkpoints.md +0 -166
  87. package/dist/default_templates/patterns/reasoning/result-verification.md +0 -157
  88. package/dist/default_templates/patterns/reasoning/subtask-breakdown.md +0 -131
  89. package/dist/default_templates/patterns/reasoning/thinking-tags.md +0 -100
  90. package/dist/default_templates/patterns/role-definition/capability-declarations.md +0 -72
  91. package/dist/default_templates/patterns/role-definition/expert-identity.md +0 -45
  92. package/dist/default_templates/patterns/role-definition/scope-boundaries.md +0 -61
  93. package/dist/default_templates/patterns/safety/code-safety-rules.md +0 -17
  94. package/dist/default_templates/patterns/safety/credential-handling.md +0 -17
  95. package/dist/default_templates/patterns/safety/destructive-warnings.md +0 -17
  96. package/dist/default_templates/patterns/safety/refusal-messages.md +0 -17
  97. package/dist/default_templates/patterns/tone/adaptive-tone.md +0 -17
  98. package/dist/default_templates/patterns/tone/concise-communication.md +0 -17
  99. package/dist/default_templates/patterns/tone/forbidden-phrases.md +0 -17
  100. package/dist/default_templates/patterns/tool-guidelines/function-schemas.md +0 -143
  101. package/dist/default_templates/patterns/tool-guidelines/parameter-examples.md +0 -137
  102. package/dist/default_templates/patterns/tool-guidelines/usage-policies.md +0 -105
  103. package/dist/default_templates/php/framework-laravel.md +0 -112
  104. package/dist/default_templates/php/lang-php.md +0 -94
  105. package/dist/default_templates/python/lang-python.md +0 -508
  106. package/dist/default_templates/react/react-core.md +0 -677
  107. package/dist/default_templates/react/react-zustand.md +0 -7
  108. package/dist/default_templates/ruby/framework-rails.md +0 -309
  109. package/dist/default_templates/ruby/framework-sinatra.md +0 -227
  110. package/dist/default_templates/ruby/lang-ruby.md +0 -216
  111. package/dist/default_templates/rust/lang-rust.md +0 -89
  112. package/dist/default_templates/swift/framework-vapor.md +0 -352
  113. package/dist/default_templates/swift/lang-swift.md +0 -291
  114. package/dist/default_templates/vue/style-primevue.md +0 -6
  115. package/dist/default_templates/vue/style-quasar.md +0 -22
  116. package/dist/default_templates/vue/vue-core.md +0 -108
  117. package/dist/default_templates/vue/vue-pinia.md +0 -5
  118. package/dist/index-0GK4RlUx.js +0 -1748
  119. package/dist/index-0GK4RlUx.js.map +0 -1
  120. package/dist/index-AkVwRl-r.js +0 -92
  121. package/dist/index-AkVwRl-r.js.map +0 -1
  122. package/dist/index-B6BeG1yT.cjs +0 -68
  123. package/dist/index-B6BeG1yT.cjs.map +0 -1
  124. package/dist/index-B8pyjKdF.js +0 -94
  125. package/dist/index-B8pyjKdF.js.map +0 -1
  126. package/dist/index-BQ6v041y.js +0 -13
  127. package/dist/index-BQ6v041y.js.map +0 -1
  128. package/dist/index-Baxb1vI_.js +0 -210
  129. package/dist/index-Baxb1vI_.js.map +0 -1
  130. package/dist/index-Bg8DD8ku.js +0 -216
  131. package/dist/index-Bg8DD8ku.js.map +0 -1
  132. package/dist/index-BqTqxCpG.cjs +0 -89
  133. package/dist/index-BqTqxCpG.cjs.map +0 -1
  134. package/dist/index-Bv4Q1Pr7.cjs +0 -33
  135. package/dist/index-Bv4Q1Pr7.cjs.map +0 -1
  136. package/dist/index-CN8J45Nc.cjs +0 -24
  137. package/dist/index-CN8J45Nc.cjs.map +0 -1
  138. package/dist/index-CPbv2Od1.js +0 -62
  139. package/dist/index-CPbv2Od1.js.map +0 -1
  140. package/dist/index-Cf-MC6Al.js +0 -63
  141. package/dist/index-Cf-MC6Al.js.map +0 -1
  142. package/dist/index-DDPXXXDy.cjs +0 -19
  143. package/dist/index-DDPXXXDy.cjs.map +0 -1
  144. package/dist/index-DO30AzDe.cjs +0 -19
  145. package/dist/index-DO30AzDe.cjs.map +0 -1
  146. package/dist/index-DkvW5yBY.js +0 -2249
  147. package/dist/index-DkvW5yBY.js.map +0 -1
  148. package/dist/index-Dn1ehjIj.cjs +0 -80
  149. package/dist/index-Dn1ehjIj.cjs.map +0 -1
  150. package/dist/index-DqHvgoXJ.cjs +0 -19
  151. package/dist/index-DqHvgoXJ.cjs.map +0 -1
  152. package/dist/index-K39pdw94.cjs +0 -31
  153. package/dist/index-K39pdw94.cjs.map +0 -1
  154. package/dist/index-OT2XAJkc.js +0 -117
  155. package/dist/index-OT2XAJkc.js.map +0 -1
  156. package/dist/index-TPAX4XKg.cjs +0 -30
  157. package/dist/index-TPAX4XKg.cjs.map +0 -1
  158. package/dist/index-WmVSB57y.js +0 -107
  159. package/dist/index-WmVSB57y.js.map +0 -1
  160. package/dist/index-mYXvc3Fs.js +0 -68
  161. package/dist/index-mYXvc3Fs.js.map +0 -1
  162. package/dist/index-nioXOg4m.cjs +0 -76
  163. package/dist/index-nioXOg4m.cjs.map +0 -1
  164. package/dist/index-okhY3fWD.cjs +0 -2
  165. package/dist/index-okhY3fWD.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CN8J45Nc.cjs","sources":["../src/builtin-plugins/java/index.ts"],"sourcesContent":["/**\n * Java Language Plugin\n *\n * Detects Java projects via pom.xml (Maven) or build.gradle (Gradle)\n */\n\nimport type { ProjectMetadata, TemplateDefinition } from '../../types';\nimport { BasePlugin } from '../base/BasePlugin';\n\nexport class JavaPlugin extends BasePlugin {\n name = 'java';\n displayName = 'Java';\n version = '3.0.0';\n priority = 75;\n\n async detect(projectPath: string): Promise<ProjectMetadata | null> {\n // Check for Maven\n if (this.fileExists(projectPath, 'pom.xml')) {\n return this.detectMaven(projectPath);\n }\n\n // Check for Gradle\n if (\n this.fileExists(projectPath, 'build.gradle') ||\n this.fileExists(projectPath, 'build.gradle.kts')\n ) {\n return this.detectGradle(projectPath);\n }\n\n return null;\n }\n\n getTemplates(): TemplateDefinition[] {\n return [\n {\n name: 'java-core',\n tags: ['java'],\n content: `# Java Development Guidelines\n\nThis project uses Java.\n\n## Project Structure\n- Follow Maven/Gradle conventions\n- Organize in packages\n- Use proper dependency management\n\n## Code Style\n- Follow Java naming conventions\n- Use Google Java Style or similar\n- Leverage IDE formatting\n\n## Best Practices\n- Use appropriate design patterns\n- Handle exceptions properly\n- Write Javadoc for public APIs\n\n## Testing\n- Write JUnit tests\n- Use Mockito for mocking\n- Aim for good test coverage`,\n },\n ];\n }\n\n getDependencyTagMap() {\n return {\n 'org.springframework.boot:spring-boot': 'spring-boot',\n 'spring-boot-starter': 'spring-boot',\n junit: 'junit',\n };\n }\n\n private detectMaven(projectPath: string): ProjectMetadata {\n const content = this.readFile(projectPath, 'pom.xml');\n if (!content) {\n return {\n language: 'Java',\n name: this.getProjectName(projectPath),\n dependencies: {},\n manifestFile: 'pom.xml',\n projectPath,\n };\n }\n\n const artifactMatch = content.match(/<artifactId>([^<]+)<\\/artifactId>/);\n const descMatch = content.match(/<description>([^<]+)<\\/description>/);\n const deps: Record<string, string> = {};\n\n const depMatches = content.matchAll(\n /<dependency>[\\s\\S]*?<groupId>([^<]+)<\\/groupId>[\\s\\S]*?<artifactId>([^<]+)<\\/artifactId>[\\s\\S]*?(?:<version>([^<]+)<\\/version>)?/g,\n );\n for (const match of depMatches) {\n deps[`${match[1]}:${match[2]}`] = match[3] || '*';\n }\n\n return {\n language: 'Java',\n name: artifactMatch?.[1] || this.getProjectName(projectPath),\n description: descMatch?.[1],\n dependencies: deps,\n manifestFile: 'pom.xml',\n projectPath,\n };\n }\n\n private detectGradle(projectPath: string): ProjectMetadata {\n const manifestFile = this.fileExists(projectPath, 'build.gradle')\n ? 'build.gradle'\n : 'build.gradle.kts';\n\n const content = this.readFile(projectPath, manifestFile);\n const deps: Record<string, string> = {};\n\n if (content) {\n const depMatches = content.matchAll(\n /(?:implementation|api|testImplementation)\\s*['\"]([^:'\"]+):([^:'\"]+):?([^'\"]*)['\"]/g,\n );\n for (const match of depMatches) {\n deps[`${match[1]}:${match[2]}`] = match[3] || '*';\n }\n }\n\n return {\n language: 'Java/Kotlin',\n name: this.getProjectName(projectPath),\n dependencies: deps,\n manifestFile,\n projectPath,\n };\n }\n}\n"],"names":["JavaPlugin","BasePlugin","projectPath","content","artifactMatch","descMatch","deps","depMatches","match","manifestFile"],"mappings":"6HASO,MAAMA,UAAmBC,EAAAA,UAAW,CAApC,aAAA,CAAA,MAAA,GAAA,SAAA,EACL,KAAA,KAAO,OACP,KAAA,YAAc,OACd,KAAA,QAAU,QACV,KAAA,SAAW,EAAA,CAEX,MAAM,OAAOC,EAAsD,CAEjE,OAAI,KAAK,WAAWA,EAAa,SAAS,EACjC,KAAK,YAAYA,CAAW,EAKnC,KAAK,WAAWA,EAAa,cAAc,GAC3C,KAAK,WAAWA,EAAa,kBAAkB,EAExC,KAAK,aAAaA,CAAW,EAG/B,IACT,CAEA,cAAqC,CACnC,MAAO,CACL,CACE,KAAM,YACN,KAAM,CAAC,MAAM,EACb,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAA,CAuBX,CAEJ,CAEA,qBAAsB,CACpB,MAAO,CACL,uCAAwC,cACxC,sBAAuB,cACvB,MAAO,OAAA,CAEX,CAEQ,YAAYA,EAAsC,CACxD,MAAMC,EAAU,KAAK,SAASD,EAAa,SAAS,EACpD,GAAI,CAACC,EACH,MAAO,CACL,SAAU,OACV,KAAM,KAAK,eAAeD,CAAW,EACrC,aAAc,CAAA,EACd,aAAc,UACd,YAAAA,CAAA,EAIJ,MAAME,EAAgBD,EAAQ,MAAM,mCAAmC,EACjEE,EAAYF,EAAQ,MAAM,qCAAqC,EAC/DG,EAA+B,CAAA,EAE/BC,EAAaJ,EAAQ,SACzB,mIAAA,EAEF,UAAWK,KAASD,EAClBD,EAAK,GAAGE,EAAM,CAAC,CAAC,IAAIA,EAAM,CAAC,CAAC,EAAE,EAAIA,EAAM,CAAC,GAAK,IAGhD,MAAO,CACL,SAAU,OACV,KAAMJ,IAAgB,CAAC,GAAK,KAAK,eAAeF,CAAW,EAC3D,YAAaG,IAAY,CAAC,EAC1B,aAAcC,EACd,aAAc,UACd,YAAAJ,CAAA,CAEJ,CAEQ,aAAaA,EAAsC,CACzD,MAAMO,EAAe,KAAK,WAAWP,EAAa,cAAc,EAC5D,eACA,mBAEEC,EAAU,KAAK,SAASD,EAAaO,CAAY,EACjDH,EAA+B,CAAA,EAErC,GAAIH,EAAS,CACX,MAAMI,EAAaJ,EAAQ,SACzB,oFAAA,EAEF,UAAWK,KAASD,EAClBD,EAAK,GAAGE,EAAM,CAAC,CAAC,IAAIA,EAAM,CAAC,CAAC,EAAE,EAAIA,EAAM,CAAC,GAAK,GAElD,CAEA,MAAO,CACL,SAAU,cACV,KAAM,KAAK,eAAeN,CAAW,EACrC,aAAcI,EACd,aAAAG,EACA,YAAAP,CAAA,CAEJ,CACF"}
@@ -1,62 +0,0 @@
1
- import { B as r } from "./BasePlugin-6wv0hYJ9.js";
2
- class c extends r {
3
- constructor() {
4
- super(...arguments), this.name = "ruby", this.displayName = "Ruby", this.version = "3.0.0", this.priority = 70;
5
- }
6
- async detect(e) {
7
- if (!this.fileExists(e, "Gemfile"))
8
- return null;
9
- const t = this.readFile(e, "Gemfile"), s = {};
10
- if (t) {
11
- const n = t.matchAll(
12
- /gem\s+['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?/g
13
- );
14
- for (const i of n)
15
- s[i[1]] = i[2] || "*";
16
- }
17
- return {
18
- language: "Ruby",
19
- name: this.getProjectName(e),
20
- dependencies: s,
21
- manifestFile: "Gemfile",
22
- projectPath: e
23
- };
24
- }
25
- getTemplates() {
26
- return [
27
- {
28
- name: "ruby-core",
29
- tags: ["ruby"],
30
- content: `# Ruby Development Guidelines
31
-
32
- This project uses Ruby.
33
-
34
- ## Code Style
35
- - Follow Ruby style guide
36
- - Use Rubocop for linting
37
- - Keep code idiomatic
38
-
39
- ## Dependencies
40
- - Manage with Bundler
41
- - Keep Gemfile.lock committed
42
- - Review gem security
43
-
44
- ## Testing
45
- - Write tests with RSpec/Minitest
46
- - Use fixtures and factories
47
- - Aim for good coverage`
48
- }
49
- ];
50
- }
51
- getDependencyTagMap() {
52
- return {
53
- rails: "rails",
54
- rspec: "rspec",
55
- sinatra: "sinatra"
56
- };
57
- }
58
- }
59
- export {
60
- c as RubyPlugin
61
- };
62
- //# sourceMappingURL=index-CPbv2Od1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CPbv2Od1.js","sources":["../src/builtin-plugins/ruby/index.ts"],"sourcesContent":["/**\n * Ruby Language Plugin\n *\n * Detects Ruby projects via Gemfile\n */\n\nimport type { ProjectMetadata, TemplateDefinition } from '../../types';\nimport { BasePlugin } from '../base/BasePlugin';\n\nexport class RubyPlugin extends BasePlugin {\n name = 'ruby';\n displayName = 'Ruby';\n version = '3.0.0';\n priority = 70;\n\n async detect(projectPath: string): Promise<ProjectMetadata | null> {\n if (!this.fileExists(projectPath, 'Gemfile')) {\n return null;\n }\n\n const content = this.readFile(projectPath, 'Gemfile');\n const deps: Record<string, string> = {};\n\n if (content) {\n const gemMatches = content.matchAll(\n /gem\\s+['\"]([^'\"]+)['\"](?:,\\s*['\"]([^'\"]+)['\"])?/g,\n );\n for (const match of gemMatches) {\n deps[match[1]] = match[2] || '*';\n }\n }\n\n return {\n language: 'Ruby',\n name: this.getProjectName(projectPath),\n dependencies: deps,\n manifestFile: 'Gemfile',\n projectPath,\n };\n }\n\n getTemplates(): TemplateDefinition[] {\n return [\n {\n name: 'ruby-core',\n tags: ['ruby'],\n content: `# Ruby Development Guidelines\n\nThis project uses Ruby.\n\n## Code Style\n- Follow Ruby style guide\n- Use Rubocop for linting\n- Keep code idiomatic\n\n## Dependencies\n- Manage with Bundler\n- Keep Gemfile.lock committed\n- Review gem security\n\n## Testing\n- Write tests with RSpec/Minitest\n- Use fixtures and factories\n- Aim for good coverage`,\n },\n ];\n }\n\n getDependencyTagMap() {\n return {\n rails: 'rails',\n rspec: 'rspec',\n sinatra: 'sinatra',\n };\n }\n}\n"],"names":["RubyPlugin","BasePlugin","projectPath","content","deps","gemMatches","match"],"mappings":";AASO,MAAMA,UAAmBC,EAAW;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA,GACL,KAAA,OAAO,QACP,KAAA,cAAc,QACd,KAAA,UAAU,SACV,KAAA,WAAW;AAAA,EAAA;AAAA,EAEX,MAAM,OAAOC,GAAsD;AACjE,QAAI,CAAC,KAAK,WAAWA,GAAa,SAAS;AACzC,aAAO;AAGT,UAAMC,IAAU,KAAK,SAASD,GAAa,SAAS,GAC9CE,IAA+B,CAAA;AAErC,QAAID,GAAS;AACX,YAAME,IAAaF,EAAQ;AAAA,QACzB;AAAA,MAAA;AAEF,iBAAWG,KAASD;AAClB,QAAAD,EAAKE,EAAM,CAAC,CAAC,IAAIA,EAAM,CAAC,KAAK;AAAA,IAEjC;AAEA,WAAO;AAAA,MACL,UAAU;AAAA,MACV,MAAM,KAAK,eAAeJ,CAAW;AAAA,MACrC,cAAcE;AAAA,MACd,cAAc;AAAA,MACd,aAAAF;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,eAAqC;AACnC,WAAO;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,MAAM,CAAC,MAAM;AAAA,QACb,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA;AAAA,IAkBX;AAAA,EAEJ;AAAA,EAEA,sBAAsB;AACpB,WAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EAEb;AACF;"}
@@ -1,63 +0,0 @@
1
- import { B as o } from "./BasePlugin-6wv0hYJ9.js";
2
- class l extends o {
3
- constructor() {
4
- super(...arguments), this.name = "csharp", this.displayName = "C#", this.version = "3.0.0", this.priority = 60;
5
- }
6
- async detect(e) {
7
- const s = await this.findFiles(e, "*.csproj");
8
- if (s.length === 0)
9
- return null;
10
- const t = s[0], n = this.readFile(e, t), r = {};
11
- if (n) {
12
- const i = n.matchAll(
13
- /<PackageReference\s+Include="([^"]+)"(?:\s+Version="([^"]+)")?/g
14
- );
15
- for (const a of i)
16
- r[a[1]] = a[2] || "*";
17
- }
18
- return {
19
- language: "C#",
20
- name: t.replace(".csproj", ""),
21
- dependencies: r,
22
- manifestFile: t,
23
- projectPath: e
24
- };
25
- }
26
- getTemplates() {
27
- return [
28
- {
29
- name: "csharp-core",
30
- tags: ["csharp", "dotnet"],
31
- content: `# C# / .NET Development Guidelines
32
-
33
- This project uses C# and .NET.
34
-
35
- ## Code Style
36
- - Follow C# naming conventions
37
- - Use proper async/await patterns
38
- - Leverage LINQ where appropriate
39
-
40
- ## Dependencies
41
- - Manage with NuGet
42
- - Review package security
43
- - Keep packages updated
44
-
45
- ## Testing
46
- - Write xUnit/NUnit tests
47
- - Use proper assertions
48
- - Aim for good coverage`
49
- }
50
- ];
51
- }
52
- getDependencyTagMap() {
53
- return {
54
- "Microsoft.AspNetCore": "aspnetcore",
55
- xunit: "xunit",
56
- NUnit: "nunit"
57
- };
58
- }
59
- }
60
- export {
61
- l as CSharpPlugin
62
- };
63
- //# sourceMappingURL=index-Cf-MC6Al.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Cf-MC6Al.js","sources":["../src/builtin-plugins/csharp/index.ts"],"sourcesContent":["/**\n * C# / .NET Language Plugin\n *\n * Detects C# projects via .csproj files\n */\n\nimport type { ProjectMetadata, TemplateDefinition } from '../../types';\nimport { BasePlugin } from '../base/BasePlugin';\n\nexport class CSharpPlugin extends BasePlugin {\n name = 'csharp';\n displayName = 'C#';\n version = '3.0.0';\n priority = 60;\n\n async detect(projectPath: string): Promise<ProjectMetadata | null> {\n const csprojFiles = await this.findFiles(projectPath, '*.csproj');\n\n if (csprojFiles.length === 0) {\n return null;\n }\n\n const csprojFile = csprojFiles[0];\n const content = this.readFile(projectPath, csprojFile);\n const deps: Record<string, string> = {};\n\n if (content) {\n const depMatches = content.matchAll(\n /<PackageReference\\s+Include=\"([^\"]+)\"(?:\\s+Version=\"([^\"]+)\")?/g,\n );\n for (const match of depMatches) {\n deps[match[1]] = match[2] || '*';\n }\n }\n\n return {\n language: 'C#',\n name: csprojFile.replace('.csproj', ''),\n dependencies: deps,\n manifestFile: csprojFile,\n projectPath,\n };\n }\n\n getTemplates(): TemplateDefinition[] {\n return [\n {\n name: 'csharp-core',\n tags: ['csharp', 'dotnet'],\n content: `# C# / .NET Development Guidelines\n\nThis project uses C# and .NET.\n\n## Code Style\n- Follow C# naming conventions\n- Use proper async/await patterns\n- Leverage LINQ where appropriate\n\n## Dependencies\n- Manage with NuGet\n- Review package security\n- Keep packages updated\n\n## Testing\n- Write xUnit/NUnit tests\n- Use proper assertions\n- Aim for good coverage`,\n },\n ];\n }\n\n getDependencyTagMap() {\n return {\n 'Microsoft.AspNetCore': 'aspnetcore',\n xunit: 'xunit',\n NUnit: 'nunit',\n };\n }\n}\n"],"names":["CSharpPlugin","BasePlugin","projectPath","csprojFiles","csprojFile","content","deps","depMatches","match"],"mappings":";AASO,MAAMA,UAAqBC,EAAW;AAAA,EAAtC,cAAA;AAAA,UAAA,GAAA,SAAA,GACL,KAAA,OAAO,UACP,KAAA,cAAc,MACd,KAAA,UAAU,SACV,KAAA,WAAW;AAAA,EAAA;AAAA,EAEX,MAAM,OAAOC,GAAsD;AACjE,UAAMC,IAAc,MAAM,KAAK,UAAUD,GAAa,UAAU;AAEhE,QAAIC,EAAY,WAAW;AACzB,aAAO;AAGT,UAAMC,IAAaD,EAAY,CAAC,GAC1BE,IAAU,KAAK,SAASH,GAAaE,CAAU,GAC/CE,IAA+B,CAAA;AAErC,QAAID,GAAS;AACX,YAAME,IAAaF,EAAQ;AAAA,QACzB;AAAA,MAAA;AAEF,iBAAWG,KAASD;AAClB,QAAAD,EAAKE,EAAM,CAAC,CAAC,IAAIA,EAAM,CAAC,KAAK;AAAA,IAEjC;AAEA,WAAO;AAAA,MACL,UAAU;AAAA,MACV,MAAMJ,EAAW,QAAQ,WAAW,EAAE;AAAA,MACtC,cAAcE;AAAA,MACd,cAAcF;AAAA,MACd,aAAAF;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,eAAqC;AACnC,WAAO;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,MAAM,CAAC,UAAU,QAAQ;AAAA,QACzB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA;AAAA,IAkBX;AAAA,EAEJ;AAAA,EAEA,sBAAsB;AACpB,WAAO;AAAA,MACL,wBAAwB;AAAA,MACxB,OAAO;AAAA,MACP,OAAO;AAAA,IAAA;AAAA,EAEX;AACF;"}
@@ -1,19 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./BasePlugin-odQJAKA-.cjs");class t extends i.BasePlugin{constructor(){super(...arguments),this.name="php",this.displayName="PHP",this.version="3.0.0",this.priority=65}async detect(e){if(!this.fileExists(e,"composer.json"))return null;const s=this.readJSON(e,"composer.json");if(!s)return{language:"PHP",name:this.getProjectName(e),dependencies:{},manifestFile:"composer.json",projectPath:e};const n={...s.require,...s["require-dev"]};return{language:"PHP",name:s.name||this.getProjectName(e),description:s.description,dependencies:n,manifestFile:"composer.json",projectPath:e}}getTemplates(){return[{name:"php-core",tags:["php"],content:`# PHP Development Guidelines
2
-
3
- This project uses PHP.
4
-
5
- ## Code Style
6
- - Follow PSR-12 coding standard
7
- - Use PHP-CS-Fixer
8
- - Type hint where possible
9
-
10
- ## Dependencies
11
- - Manage with Composer
12
- - Keep composer.lock committed
13
- - Review package security
14
-
15
- ## Testing
16
- - Write PHPUnit tests
17
- - Use proper assertions
18
- - Aim for good coverage`}]}getDependencyTagMap(){return{"laravel/framework":"laravel","symfony/symfony":"symfony","phpunit/phpunit":"phpunit"}}}exports.PHPPlugin=t;
19
- //# sourceMappingURL=index-DDPXXXDy.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DDPXXXDy.cjs","sources":["../src/builtin-plugins/php/index.ts"],"sourcesContent":["/**\n * PHP Language Plugin\n *\n * Detects PHP projects via composer.json\n */\n\nimport type { ProjectMetadata, TemplateDefinition } from '../../types';\nimport { BasePlugin } from '../base/BasePlugin';\n\nexport class PHPPlugin extends BasePlugin {\n name = 'php';\n displayName = 'PHP';\n version = '3.0.0';\n priority = 65;\n\n async detect(projectPath: string): Promise<ProjectMetadata | null> {\n if (!this.fileExists(projectPath, 'composer.json')) {\n return null;\n }\n\n const composer = this.readJSON<{\n name?: string;\n description?: string;\n require?: Record<string, string>;\n 'require-dev'?: Record<string, string>;\n }>(projectPath, 'composer.json');\n\n if (!composer) {\n return {\n language: 'PHP',\n name: this.getProjectName(projectPath),\n dependencies: {},\n manifestFile: 'composer.json',\n projectPath,\n };\n }\n\n const deps = {\n ...composer.require,\n ...composer['require-dev'],\n };\n\n return {\n language: 'PHP',\n name: composer.name || this.getProjectName(projectPath),\n description: composer.description,\n dependencies: deps,\n manifestFile: 'composer.json',\n projectPath,\n };\n }\n\n getTemplates(): TemplateDefinition[] {\n return [\n {\n name: 'php-core',\n tags: ['php'],\n content: `# PHP Development Guidelines\n\nThis project uses PHP.\n\n## Code Style\n- Follow PSR-12 coding standard\n- Use PHP-CS-Fixer\n- Type hint where possible\n\n## Dependencies\n- Manage with Composer\n- Keep composer.lock committed\n- Review package security\n\n## Testing\n- Write PHPUnit tests\n- Use proper assertions\n- Aim for good coverage`,\n },\n ];\n }\n\n getDependencyTagMap() {\n return {\n 'laravel/framework': 'laravel',\n 'symfony/symfony': 'symfony',\n 'phpunit/phpunit': 'phpunit',\n };\n }\n}\n"],"names":["PHPPlugin","BasePlugin","projectPath","composer","deps"],"mappings":"6HASO,MAAMA,UAAkBC,EAAAA,UAAW,CAAnC,aAAA,CAAA,MAAA,GAAA,SAAA,EACL,KAAA,KAAO,MACP,KAAA,YAAc,MACd,KAAA,QAAU,QACV,KAAA,SAAW,EAAA,CAEX,MAAM,OAAOC,EAAsD,CACjE,GAAI,CAAC,KAAK,WAAWA,EAAa,eAAe,EAC/C,OAAO,KAGT,MAAMC,EAAW,KAAK,SAKnBD,EAAa,eAAe,EAE/B,GAAI,CAACC,EACH,MAAO,CACL,SAAU,MACV,KAAM,KAAK,eAAeD,CAAW,EACrC,aAAc,CAAA,EACd,aAAc,gBACd,YAAAA,CAAA,EAIJ,MAAME,EAAO,CACX,GAAGD,EAAS,QACZ,GAAGA,EAAS,aAAa,CAAA,EAG3B,MAAO,CACL,SAAU,MACV,KAAMA,EAAS,MAAQ,KAAK,eAAeD,CAAW,EACtD,YAAaC,EAAS,YACtB,aAAcC,EACd,aAAc,gBACd,YAAAF,CAAA,CAEJ,CAEA,cAAqC,CACnC,MAAO,CACL,CACE,KAAM,WACN,KAAM,CAAC,KAAK,EACZ,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAA,CAkBX,CAEJ,CAEA,qBAAsB,CACpB,MAAO,CACL,oBAAqB,UACrB,kBAAmB,UACnB,kBAAmB,SAAA,CAEvB,CACF"}
@@ -1,19 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./BasePlugin-odQJAKA-.cjs");class u extends r.BasePlugin{constructor(){super(...arguments),this.name="ruby",this.displayName="Ruby",this.version="3.0.0",this.priority=70}async detect(e){if(!this.fileExists(e,"Gemfile"))return null;const t=this.readFile(e,"Gemfile"),i={};if(t){const n=t.matchAll(/gem\s+['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?/g);for(const s of n)i[s[1]]=s[2]||"*"}return{language:"Ruby",name:this.getProjectName(e),dependencies:i,manifestFile:"Gemfile",projectPath:e}}getTemplates(){return[{name:"ruby-core",tags:["ruby"],content:`# Ruby Development Guidelines
2
-
3
- This project uses Ruby.
4
-
5
- ## Code Style
6
- - Follow Ruby style guide
7
- - Use Rubocop for linting
8
- - Keep code idiomatic
9
-
10
- ## Dependencies
11
- - Manage with Bundler
12
- - Keep Gemfile.lock committed
13
- - Review gem security
14
-
15
- ## Testing
16
- - Write tests with RSpec/Minitest
17
- - Use fixtures and factories
18
- - Aim for good coverage`}]}getDependencyTagMap(){return{rails:"rails",rspec:"rspec",sinatra:"sinatra"}}}exports.RubyPlugin=u;
19
- //# sourceMappingURL=index-DO30AzDe.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DO30AzDe.cjs","sources":["../src/builtin-plugins/ruby/index.ts"],"sourcesContent":["/**\n * Ruby Language Plugin\n *\n * Detects Ruby projects via Gemfile\n */\n\nimport type { ProjectMetadata, TemplateDefinition } from '../../types';\nimport { BasePlugin } from '../base/BasePlugin';\n\nexport class RubyPlugin extends BasePlugin {\n name = 'ruby';\n displayName = 'Ruby';\n version = '3.0.0';\n priority = 70;\n\n async detect(projectPath: string): Promise<ProjectMetadata | null> {\n if (!this.fileExists(projectPath, 'Gemfile')) {\n return null;\n }\n\n const content = this.readFile(projectPath, 'Gemfile');\n const deps: Record<string, string> = {};\n\n if (content) {\n const gemMatches = content.matchAll(\n /gem\\s+['\"]([^'\"]+)['\"](?:,\\s*['\"]([^'\"]+)['\"])?/g,\n );\n for (const match of gemMatches) {\n deps[match[1]] = match[2] || '*';\n }\n }\n\n return {\n language: 'Ruby',\n name: this.getProjectName(projectPath),\n dependencies: deps,\n manifestFile: 'Gemfile',\n projectPath,\n };\n }\n\n getTemplates(): TemplateDefinition[] {\n return [\n {\n name: 'ruby-core',\n tags: ['ruby'],\n content: `# Ruby Development Guidelines\n\nThis project uses Ruby.\n\n## Code Style\n- Follow Ruby style guide\n- Use Rubocop for linting\n- Keep code idiomatic\n\n## Dependencies\n- Manage with Bundler\n- Keep Gemfile.lock committed\n- Review gem security\n\n## Testing\n- Write tests with RSpec/Minitest\n- Use fixtures and factories\n- Aim for good coverage`,\n },\n ];\n }\n\n getDependencyTagMap() {\n return {\n rails: 'rails',\n rspec: 'rspec',\n sinatra: 'sinatra',\n };\n }\n}\n"],"names":["RubyPlugin","BasePlugin","projectPath","content","deps","gemMatches","match"],"mappings":"6HASO,MAAMA,UAAmBC,EAAAA,UAAW,CAApC,aAAA,CAAA,MAAA,GAAA,SAAA,EACL,KAAA,KAAO,OACP,KAAA,YAAc,OACd,KAAA,QAAU,QACV,KAAA,SAAW,EAAA,CAEX,MAAM,OAAOC,EAAsD,CACjE,GAAI,CAAC,KAAK,WAAWA,EAAa,SAAS,EACzC,OAAO,KAGT,MAAMC,EAAU,KAAK,SAASD,EAAa,SAAS,EAC9CE,EAA+B,CAAA,EAErC,GAAID,EAAS,CACX,MAAME,EAAaF,EAAQ,SACzB,kDAAA,EAEF,UAAWG,KAASD,EAClBD,EAAKE,EAAM,CAAC,CAAC,EAAIA,EAAM,CAAC,GAAK,GAEjC,CAEA,MAAO,CACL,SAAU,OACV,KAAM,KAAK,eAAeJ,CAAW,EACrC,aAAcE,EACd,aAAc,UACd,YAAAF,CAAA,CAEJ,CAEA,cAAqC,CACnC,MAAO,CACL,CACE,KAAM,YACN,KAAM,CAAC,MAAM,EACb,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAA,CAkBX,CAEJ,CAEA,qBAAsB,CACpB,MAAO,CACL,MAAO,QACP,MAAO,QACP,QAAS,SAAA,CAEb,CACF"}