@aicgen/aicgen 1.0.0-beta.1

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 (287) hide show
  1. package/.claude/agents/architecture-reviewer.md +88 -0
  2. package/.claude/agents/guideline-checker.md +73 -0
  3. package/.claude/agents/security-auditor.md +108 -0
  4. package/.claude/guidelines/api-design.md +645 -0
  5. package/.claude/guidelines/architecture.md +2503 -0
  6. package/.claude/guidelines/best-practices.md +618 -0
  7. package/.claude/guidelines/code-style.md +304 -0
  8. package/.claude/guidelines/design-patterns.md +573 -0
  9. package/.claude/guidelines/devops.md +226 -0
  10. package/.claude/guidelines/error-handling.md +413 -0
  11. package/.claude/guidelines/language.md +782 -0
  12. package/.claude/guidelines/performance.md +706 -0
  13. package/.claude/guidelines/security.md +583 -0
  14. package/.claude/guidelines/testing.md +568 -0
  15. package/.claude/settings.json +98 -0
  16. package/.claude/settings.local.json +8 -0
  17. package/.env.example +23 -0
  18. package/.eslintrc.json +28 -0
  19. package/.github/workflows/release.yml +180 -0
  20. package/.github/workflows/test.yml +81 -0
  21. package/.gitmodules +3 -0
  22. package/.vs/ProjectSettings.json +3 -0
  23. package/.vs/VSWorkspaceState.json +16 -0
  24. package/.vs/aicgen.slnx/FileContentIndex/5f0ce2a3-fd68-4863-9e23-e428cf1794e3.vsidx +0 -0
  25. package/.vs/aicgen.slnx/v18/.wsuo +0 -0
  26. package/.vs/aicgen.slnx/v18/DocumentLayout.json +54 -0
  27. package/.vs/slnx.sqlite +0 -0
  28. package/AGENTS.md +121 -0
  29. package/CLAUDE.md +36 -0
  30. package/CONTRIBUTING.md +821 -0
  31. package/LICENSE +21 -0
  32. package/README.md +199 -0
  33. package/assets/icon.svg +34 -0
  34. package/assets/logo.svg +41 -0
  35. package/bun.lock +848 -0
  36. package/data/LICENSE +21 -0
  37. package/data/README.md +203 -0
  38. package/data/api/basics.md +292 -0
  39. package/data/api/index.md +8 -0
  40. package/data/api/pagination.md +142 -0
  41. package/data/api/rest.md +137 -0
  42. package/data/api/versioning.md +60 -0
  43. package/data/architecture/clean-architecture/index.md +7 -0
  44. package/data/architecture/clean-architecture/layers.md +111 -0
  45. package/data/architecture/ddd/index.md +8 -0
  46. package/data/architecture/ddd/strategic.md +89 -0
  47. package/data/architecture/ddd/tactical.md +132 -0
  48. package/data/architecture/event-driven/index.md +7 -0
  49. package/data/architecture/event-driven/messaging.md +242 -0
  50. package/data/architecture/event-driven/patterns.md +129 -0
  51. package/data/architecture/feature-toggles/index.md +7 -0
  52. package/data/architecture/feature-toggles/patterns.md +73 -0
  53. package/data/architecture/gui/index.md +7 -0
  54. package/data/architecture/gui/patterns.md +132 -0
  55. package/data/architecture/hexagonal/ports-adapters.md +132 -0
  56. package/data/architecture/index.md +12 -0
  57. package/data/architecture/layered/index.md +7 -0
  58. package/data/architecture/layered/layers.md +100 -0
  59. package/data/architecture/microservices/api-gateway.md +56 -0
  60. package/data/architecture/microservices/boundaries.md +80 -0
  61. package/data/architecture/microservices/communication.md +97 -0
  62. package/data/architecture/microservices/data.md +92 -0
  63. package/data/architecture/microservices/index.md +11 -0
  64. package/data/architecture/microservices/resilience.md +111 -0
  65. package/data/architecture/modular-monolith/boundaries.md +133 -0
  66. package/data/architecture/modular-monolith/structure.md +131 -0
  67. package/data/architecture/serverless/best-practices.md +322 -0
  68. package/data/architecture/serverless/index.md +7 -0
  69. package/data/architecture/serverless/patterns.md +80 -0
  70. package/data/architecture/solid/index.md +7 -0
  71. package/data/architecture/solid/principles.md +187 -0
  72. package/data/database/basics.md +365 -0
  73. package/data/database/design-patterns.md +68 -0
  74. package/data/database/index.md +8 -0
  75. package/data/database/indexing.md +136 -0
  76. package/data/database/nosql.md +223 -0
  77. package/data/database/schema.md +137 -0
  78. package/data/devops/ci-cd.md +66 -0
  79. package/data/devops/index.md +8 -0
  80. package/data/devops/observability.md +73 -0
  81. package/data/devops/practices.md +77 -0
  82. package/data/error-handling/basics.md +222 -0
  83. package/data/error-handling/index.md +7 -0
  84. package/data/error-handling/strategy.md +185 -0
  85. package/data/guideline-mappings.yml +1077 -0
  86. package/data/index.md +3 -0
  87. package/data/language/csharp/basics.md +210 -0
  88. package/data/language/csharp/testing.md +252 -0
  89. package/data/language/go/basics.md +158 -0
  90. package/data/language/go/testing.md +192 -0
  91. package/data/language/index.md +14 -0
  92. package/data/language/java/basics.md +184 -0
  93. package/data/language/java/testing.md +273 -0
  94. package/data/language/javascript/basics.md +217 -0
  95. package/data/language/javascript/testing.md +269 -0
  96. package/data/language/python/async.md +100 -0
  97. package/data/language/python/basics.md +100 -0
  98. package/data/language/python/index.md +10 -0
  99. package/data/language/python/testing.md +125 -0
  100. package/data/language/python/types.md +99 -0
  101. package/data/language/ruby/basics.md +227 -0
  102. package/data/language/ruby/testing.md +267 -0
  103. package/data/language/rust/basics.md +175 -0
  104. package/data/language/rust/testing.md +219 -0
  105. package/data/language/typescript/async.md +103 -0
  106. package/data/language/typescript/basics.md +87 -0
  107. package/data/language/typescript/config.md +95 -0
  108. package/data/language/typescript/error-handling.md +98 -0
  109. package/data/language/typescript/generics.md +85 -0
  110. package/data/language/typescript/index.md +14 -0
  111. package/data/language/typescript/interfaces-types.md +83 -0
  112. package/data/language/typescript/performance.md +103 -0
  113. package/data/language/typescript/testing.md +98 -0
  114. package/data/patterns/base-patterns.md +105 -0
  115. package/data/patterns/concurrency.md +87 -0
  116. package/data/patterns/data-access.md +83 -0
  117. package/data/patterns/distribution.md +86 -0
  118. package/data/patterns/domain-logic.md +81 -0
  119. package/data/patterns/gof.md +109 -0
  120. package/data/patterns/index.md +12 -0
  121. package/data/performance/async.md +148 -0
  122. package/data/performance/basics.md +324 -0
  123. package/data/performance/caching-strategies.md +68 -0
  124. package/data/performance/caching.md +152 -0
  125. package/data/performance/index.md +8 -0
  126. package/data/practices/code-review.md +52 -0
  127. package/data/practices/documentation.md +260 -0
  128. package/data/practices/index.md +11 -0
  129. package/data/practices/planning.md +142 -0
  130. package/data/practices/refactoring.md +91 -0
  131. package/data/practices/version-control.md +55 -0
  132. package/data/security/auth-jwt.md +159 -0
  133. package/data/security/headers.md +143 -0
  134. package/data/security/index.md +10 -0
  135. package/data/security/injection.md +119 -0
  136. package/data/security/secrets.md +148 -0
  137. package/data/style/index.md +8 -0
  138. package/data/style/naming.md +136 -0
  139. package/data/style/organization.md +162 -0
  140. package/data/templates/agents/architecture-reviewer.md +88 -0
  141. package/data/templates/agents/guideline-checker.md +73 -0
  142. package/data/templates/agents/security-auditor.md +108 -0
  143. package/data/templates/antigravity/rules/architecture.md.hbs +5 -0
  144. package/data/templates/antigravity/rules/code-style.md.hbs +5 -0
  145. package/data/templates/antigravity/rules/language.md.hbs +5 -0
  146. package/data/templates/antigravity/rules/performance.md.hbs +5 -0
  147. package/data/templates/antigravity/rules/security.md.hbs +5 -0
  148. package/data/templates/antigravity/rules/testing.md.hbs +5 -0
  149. package/data/templates/antigravity/workflows/add-documentation.md.hbs +23 -0
  150. package/data/templates/antigravity/workflows/generate-integration-tests.md.hbs +17 -0
  151. package/data/templates/antigravity/workflows/generate-unit-tests.md.hbs +20 -0
  152. package/data/templates/antigravity/workflows/performance-audit.md.hbs +24 -0
  153. package/data/templates/antigravity/workflows/refactor-extract-module.md.hbs +17 -0
  154. package/data/templates/antigravity/workflows/security-audit.md.hbs +20 -0
  155. package/data/templates/hooks/formatting.json +26 -0
  156. package/data/templates/hooks/security.json +35 -0
  157. package/data/templates/hooks/testing.json +17 -0
  158. package/data/testing/basics.md +151 -0
  159. package/data/testing/index.md +9 -0
  160. package/data/testing/integration.md +159 -0
  161. package/data/testing/unit-fundamentals.md +128 -0
  162. package/data/testing/unit-mocking.md +116 -0
  163. package/data/version.json +49 -0
  164. package/dist/commands/init.d.ts +8 -0
  165. package/dist/commands/init.d.ts.map +1 -0
  166. package/dist/commands/init.js +46 -0
  167. package/dist/commands/init.js.map +1 -0
  168. package/dist/config/profiles.d.ts +4 -0
  169. package/dist/config/profiles.d.ts.map +1 -0
  170. package/dist/config/profiles.js +30 -0
  171. package/dist/config/profiles.js.map +1 -0
  172. package/dist/config/settings.d.ts +7 -0
  173. package/dist/config/settings.d.ts.map +1 -0
  174. package/dist/config/settings.js +7 -0
  175. package/dist/config/settings.js.map +1 -0
  176. package/dist/index.d.ts +3 -0
  177. package/dist/index.d.ts.map +1 -0
  178. package/dist/index.js +58489 -0
  179. package/dist/index.js.map +1 -0
  180. package/dist/models/guideline.d.ts +15 -0
  181. package/dist/models/guideline.d.ts.map +1 -0
  182. package/dist/models/guideline.js +2 -0
  183. package/dist/models/guideline.js.map +1 -0
  184. package/dist/models/preference.d.ts +9 -0
  185. package/dist/models/preference.d.ts.map +1 -0
  186. package/dist/models/preference.js +2 -0
  187. package/dist/models/preference.js.map +1 -0
  188. package/dist/models/profile.d.ts +9 -0
  189. package/dist/models/profile.d.ts.map +1 -0
  190. package/dist/models/profile.js +2 -0
  191. package/dist/models/profile.js.map +1 -0
  192. package/dist/models/project.d.ts +13 -0
  193. package/dist/models/project.d.ts.map +1 -0
  194. package/dist/models/project.js +2 -0
  195. package/dist/models/project.js.map +1 -0
  196. package/dist/services/ai/anthropic.d.ts +7 -0
  197. package/dist/services/ai/anthropic.d.ts.map +1 -0
  198. package/dist/services/ai/anthropic.js +39 -0
  199. package/dist/services/ai/anthropic.js.map +1 -0
  200. package/dist/services/generator.d.ts +2 -0
  201. package/dist/services/generator.d.ts.map +1 -0
  202. package/dist/services/generator.js +4 -0
  203. package/dist/services/generator.js.map +1 -0
  204. package/dist/services/learner.d.ts +2 -0
  205. package/dist/services/learner.d.ts.map +1 -0
  206. package/dist/services/learner.js +4 -0
  207. package/dist/services/learner.js.map +1 -0
  208. package/dist/services/scanner.d.ts +3 -0
  209. package/dist/services/scanner.d.ts.map +1 -0
  210. package/dist/services/scanner.js +54 -0
  211. package/dist/services/scanner.js.map +1 -0
  212. package/dist/utils/errors.d.ts +15 -0
  213. package/dist/utils/errors.d.ts.map +1 -0
  214. package/dist/utils/errors.js +27 -0
  215. package/dist/utils/errors.js.map +1 -0
  216. package/dist/utils/file.d.ts +7 -0
  217. package/dist/utils/file.d.ts.map +1 -0
  218. package/dist/utils/file.js +32 -0
  219. package/dist/utils/file.js.map +1 -0
  220. package/dist/utils/logger.d.ts +6 -0
  221. package/dist/utils/logger.d.ts.map +1 -0
  222. package/dist/utils/logger.js +17 -0
  223. package/dist/utils/logger.js.map +1 -0
  224. package/dist/utils/path.d.ts +6 -0
  225. package/dist/utils/path.d.ts.map +1 -0
  226. package/dist/utils/path.js +14 -0
  227. package/dist/utils/path.js.map +1 -0
  228. package/docs/planning/memory-lane.md +83 -0
  229. package/package.json +64 -0
  230. package/packaging/linux/aicgen.spec +23 -0
  231. package/packaging/linux/control +9 -0
  232. package/packaging/macos/scripts/postinstall +12 -0
  233. package/packaging/windows/setup.nsi +92 -0
  234. package/planning/BRANDING-SUMMARY.md +194 -0
  235. package/planning/BRANDING.md +174 -0
  236. package/planning/BUILD.md +186 -0
  237. package/planning/CHUNK-IMPLEMENTATION-PLAN.md +87 -0
  238. package/planning/CHUNK-TAXONOMY.md +375 -0
  239. package/planning/CHUNKS-COMPLETE.md +382 -0
  240. package/planning/DESIGN.md +313 -0
  241. package/planning/DYNAMIC-GUIDELINES-DESIGN.md +265 -0
  242. package/planning/ENTERPRISE-UX-COMPLETE.md +281 -0
  243. package/planning/IMPLEMENTATION-PLAN.md +20 -0
  244. package/planning/PHASE1-COMPLETE.md +211 -0
  245. package/planning/PHASE2-COMPLETE.md +350 -0
  246. package/planning/PHASE3-COMPLETE.md +399 -0
  247. package/planning/PHASE4-COMPLETE.md +361 -0
  248. package/planning/PHASE4.5-CHUNKS.md +462 -0
  249. package/planning/STRUCTURE.md +170 -0
  250. package/scripts/add-categories.ts +87 -0
  251. package/scripts/build-binary.ts +46 -0
  252. package/scripts/embed-data.ts +105 -0
  253. package/scripts/generate-version.ts +150 -0
  254. package/scripts/test-decompress.ts +27 -0
  255. package/scripts/test-extract.ts +31 -0
  256. package/src/__tests__/services/assistant-file-writer.test.ts +400 -0
  257. package/src/__tests__/services/guideline-loader.test.ts +281 -0
  258. package/src/__tests__/services/tarball-extraction.test.ts +125 -0
  259. package/src/commands/add-guideline.ts +296 -0
  260. package/src/commands/clear.ts +61 -0
  261. package/src/commands/guideline-selector.ts +123 -0
  262. package/src/commands/init.ts +645 -0
  263. package/src/commands/quick-add.ts +586 -0
  264. package/src/commands/remove-guideline.ts +152 -0
  265. package/src/commands/stats.ts +49 -0
  266. package/src/commands/update.ts +240 -0
  267. package/src/config.ts +82 -0
  268. package/src/embedded-data.ts +1492 -0
  269. package/src/index.ts +67 -0
  270. package/src/models/profile.ts +24 -0
  271. package/src/models/project.ts +43 -0
  272. package/src/services/assistant-file-writer.ts +612 -0
  273. package/src/services/config-generator.ts +150 -0
  274. package/src/services/config-manager.ts +70 -0
  275. package/src/services/data-source.ts +248 -0
  276. package/src/services/first-run-init.ts +148 -0
  277. package/src/services/guideline-loader.ts +311 -0
  278. package/src/services/hook-generator.ts +178 -0
  279. package/src/services/subagent-generator.ts +310 -0
  280. package/src/utils/banner.ts +66 -0
  281. package/src/utils/errors.ts +27 -0
  282. package/src/utils/file.ts +67 -0
  283. package/src/utils/formatting.ts +172 -0
  284. package/src/utils/logger.ts +89 -0
  285. package/src/utils/path.ts +17 -0
  286. package/src/utils/wizard-state.ts +132 -0
  287. package/tsconfig.json +25 -0
package/.eslintrc.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "parserOptions": {
5
+ "project": "./tsconfig.json",
6
+ "ecmaVersion": "latest",
7
+ "sourceType": "module"
8
+ },
9
+ "plugins": ["@typescript-eslint"],
10
+ "extends": [
11
+ "eslint:recommended",
12
+ "plugin:@typescript-eslint/recommended"
13
+ ],
14
+ "env": {
15
+ "node": true,
16
+ "es2022": true
17
+ },
18
+ "rules": {
19
+ "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
20
+ "@typescript-eslint/no-explicit-any": "error",
21
+ "@typescript-eslint/explicit-function-return-type": "off",
22
+ "@typescript-eslint/no-non-null-assertion": "warn",
23
+ "no-console": "off",
24
+ "prefer-const": "error",
25
+ "no-var": "error"
26
+ },
27
+ "ignorePatterns": ["dist/", "node_modules/", "*.js"]
28
+ }
@@ -0,0 +1,180 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ permissions:
9
+ contents: write
10
+ id-token: write
11
+
12
+ jobs:
13
+ # ----------------------------------------------------------------
14
+ # JOB: BUILD WINDOWS
15
+ # ----------------------------------------------------------------
16
+ release-windows:
17
+ runs-on: windows-latest
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ with:
21
+ submodules: true
22
+
23
+ - uses: oven-sh/setup-bun@v1
24
+
25
+ - name: Build Windows Binary
26
+ run: |
27
+ bun install
28
+ bun run build:binary:windows
29
+
30
+ - name: Setup NSIS
31
+ run: |
32
+ choco install nsis
33
+ echo "C:\Program Files (x86)\NSIS" >> $env:GITHUB_PATH
34
+
35
+ # Install EnVar Plugin
36
+ Invoke-WebRequest -Uri "https://github.com/GsNSIS/EnVar/releases/download/v0.3.1/EnVar-Plugin.zip" -OutFile "envar.zip"
37
+ Expand-Archive "envar.zip" -DestinationPath "envar_temp"
38
+ Copy-Item "envar_temp\Plugins\x86-unicode\EnVar.dll" "C:\Program Files (x86)\NSIS\Plugins\x86-unicode\EnVar.dll"
39
+
40
+ - name: Create Installer (NSIS)
41
+ run: |
42
+ makensis packaging/windows/setup.nsi
43
+
44
+ - name: Upload Artifact
45
+ uses: actions/upload-artifact@v4
46
+ with:
47
+ name: windows-installer
48
+ path: dist/aicgen-setup-x64.exe
49
+
50
+ # ----------------------------------------------------------------
51
+ # JOB: BUILD LINUX
52
+ # ----------------------------------------------------------------
53
+ release-linux:
54
+ runs-on: ubuntu-latest
55
+ steps:
56
+ - uses: actions/checkout@v4
57
+ with:
58
+ submodules: true
59
+
60
+ - uses: oven-sh/setup-bun@v1
61
+
62
+ - name: Build Linux Binary
63
+ run: |
64
+ bun install
65
+ bun run build:binary:linux
66
+
67
+ - name: Create Deb Package
68
+ run: |
69
+ mkdir -p dist/deb/usr/bin
70
+ cp dist/aicgen-linux dist/deb/usr/bin/aicgen
71
+ chmod +x dist/deb/usr/bin/aicgen
72
+
73
+ mkdir -p dist/deb/DEBIAN
74
+ cp packaging/linux/control dist/deb/DEBIAN/control
75
+
76
+ dpkg-deb --build dist/deb dist/aicgen_amd64.deb
77
+
78
+ - name: Create RPM Package
79
+ run: |
80
+ sudo apt-get update
81
+ sudo apt-get install -y rpm
82
+
83
+ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
84
+ cp dist/aicgen-linux ~/rpmbuild/SOURCES/
85
+ cp packaging/linux/aicgen.spec ~/rpmbuild/SPECS/
86
+
87
+ rpmbuild -ba ~/rpmbuild/SPECS/aicgen.spec
88
+ cp ~/rpmbuild/RPMS/x86_64/*.rpm dist/aicgen_x86_64.rpm
89
+
90
+ - name: Upload Artifact
91
+ uses: actions/upload-artifact@v4
92
+ with:
93
+ name: linux-package
94
+ path: |
95
+ dist/aicgen_amd64.deb
96
+ dist/aicgen_x86_64.rpm
97
+
98
+ # ----------------------------------------------------------------
99
+ # JOB: BUILD MACOS
100
+ # ----------------------------------------------------------------
101
+ release-macos:
102
+ runs-on: macos-latest
103
+ steps:
104
+ - uses: actions/checkout@v4
105
+ with:
106
+ submodules: true
107
+
108
+ - uses: oven-sh/setup-bun@v1
109
+
110
+ - name: Build macOS Binary
111
+ run: |
112
+ bun install
113
+ bun run build:binary:macos
114
+
115
+ - name: Create PKG Installer
116
+ run: |
117
+ # Structure
118
+ mkdir -p dist/pkg/usr/local/bin
119
+ cp dist/aicgen-macos dist/pkg/usr/local/bin/aicgen
120
+ chmod +x dist/pkg/usr/local/bin/aicgen
121
+
122
+ # Build PKG
123
+ pkgbuild --root dist/pkg \
124
+ --identifier com.lpsandaruwan.aicgen \
125
+ --version ${{ github.ref_name }} \
126
+ --install-location / \
127
+ --scripts packaging/macos/scripts \
128
+ dist/aicgen.pkg
129
+
130
+ - name: Upload Artifact
131
+ uses: actions/upload-artifact@v4
132
+ with:
133
+ name: macos-installer
134
+ path: dist/aicgen.pkg
135
+
136
+ # ----------------------------------------------------------------
137
+ publish-npm:
138
+ needs: [release-windows, release-linux, release-macos]
139
+ runs-on: ubuntu-latest
140
+ steps:
141
+ - uses: actions/checkout@v4
142
+ with:
143
+ submodules: true
144
+
145
+ - uses: oven-sh/setup-bun@v1
146
+
147
+ - uses: actions/setup-node@v4
148
+ with:
149
+ node-version: '20.x'
150
+ registry-url: 'https://registry.npmjs.org'
151
+
152
+ - name: Update npm
153
+ run: npm install -g npm@latest
154
+
155
+ - name: Build and Publish
156
+ run: |
157
+ bun install
158
+ bun run build
159
+ npm publish --access public
160
+
161
+ # ----------------------------------------------------------------
162
+ # JOB: PUBLISH RELEASE
163
+ # ----------------------------------------------------------------
164
+ publish-release:
165
+ needs: [release-windows, release-linux, release-macos]
166
+ runs-on: ubuntu-latest
167
+ steps:
168
+ - uses: actions/download-artifact@v4
169
+
170
+ - name: Create Release
171
+ uses: softprops/action-gh-release@v1
172
+ with:
173
+ files: |
174
+ windows-installer/aicgen-setup-x64.exe
175
+ linux-package/aicgen_amd64.deb
176
+ linux-package/aicgen_x86_64.rpm
177
+ macos-installer/aicgen.pkg
178
+ draft: false
179
+ prerelease: false
180
+ generate_release_notes: true
@@ -0,0 +1,81 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main, develop]
6
+ pull_request:
7
+ branches: [main, develop]
8
+
9
+ jobs:
10
+ test:
11
+ name: Test Suite
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ with:
17
+ submodules: true
18
+
19
+ - uses: oven-sh/setup-bun@v1
20
+ with:
21
+ bun-version: latest
22
+
23
+ - name: Install dependencies
24
+ run: bun install
25
+
26
+ - name: Run tests with coverage
27
+ run: bun test --coverage
28
+
29
+ - name: Generate coverage report
30
+ run: |
31
+ echo "## Test Coverage Report" >> $GITHUB_STEP_SUMMARY
32
+ echo "" >> $GITHUB_STEP_SUMMARY
33
+ echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
34
+ bun test --coverage 2>&1 | tail -n 20 >> $GITHUB_STEP_SUMMARY || true
35
+ echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
36
+
37
+ - name: Upload coverage to Codecov
38
+ uses: codecov/codecov-action@v4
39
+ with:
40
+ files: ./coverage/coverage-final.json
41
+ fail_ci_if_error: false
42
+ token: ${{ secrets.CODECOV_TOKEN }}
43
+ continue-on-error: true
44
+
45
+ test-windows:
46
+ name: Test Suite (Windows)
47
+ runs-on: windows-latest
48
+
49
+ steps:
50
+ - uses: actions/checkout@v4
51
+ with:
52
+ submodules: true
53
+
54
+ - uses: oven-sh/setup-bun@v1
55
+ with:
56
+ bun-version: latest
57
+
58
+ - name: Install dependencies
59
+ run: bun install
60
+
61
+ - name: Run tests
62
+ run: bun test
63
+
64
+ test-macos:
65
+ name: Test Suite (macOS)
66
+ runs-on: macos-latest
67
+
68
+ steps:
69
+ - uses: actions/checkout@v4
70
+ with:
71
+ submodules: true
72
+
73
+ - uses: oven-sh/setup-bun@v1
74
+ with:
75
+ bun-version: latest
76
+
77
+ - name: Install dependencies
78
+ run: bun install
79
+
80
+ - name: Run tests
81
+ run: bun test
package/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "data"]
2
+ path = data
3
+ url = https://github.com/lpsandaruwan/aicgen-docs
@@ -0,0 +1,3 @@
1
+ {
2
+ "CurrentProjectSetting": null
3
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "ExpandedNodes": [
3
+ "",
4
+ "\\src",
5
+ "\\src\\config",
6
+ "\\src\\models",
7
+ "\\src\\prompts",
8
+ "\\src\\services",
9
+ "\\src\\services\\ai",
10
+ "\\src\\templates",
11
+ "\\src\\templates\\guidelines",
12
+ "\\src\\utils"
13
+ ],
14
+ "SelectedNode": "\\src\\services\\ai\\anthropic.ts",
15
+ "PreviewInSolutionExplorer": false
16
+ }
Binary file
@@ -0,0 +1,54 @@
1
+ {
2
+ "Version": 1,
3
+ "WorkspaceRootPath": "F:\\aicgen\\aicgen\\",
4
+ "Documents": [
5
+ {
6
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|F:\\aicgen\\aicgen\\src\\services\\ai\\anthropic.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}",
7
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\services\\ai\\anthropic.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}"
8
+ },
9
+ {
10
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|F:\\aicgen\\aicgen\\src\\commands\\init.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}",
11
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\commands\\init.ts||{0F2454B1-A556-402D-A7D0-1FDE7F99DEE0}"
12
+ }
13
+ ],
14
+ "DocumentGroupContainers": [
15
+ {
16
+ "Orientation": 0,
17
+ "VerticalTabListWidth": 256,
18
+ "DocumentGroups": [
19
+ {
20
+ "DockedWidth": 200,
21
+ "SelectedChildIndex": 0,
22
+ "Children": [
23
+ {
24
+ "$type": "Document",
25
+ "DocumentIndex": 0,
26
+ "Title": "anthropic.ts",
27
+ "DocumentMoniker": "F:\\aicgen\\aicgen\\src\\services\\ai\\anthropic.ts",
28
+ "RelativeDocumentMoniker": "src\\services\\ai\\anthropic.ts",
29
+ "ToolTip": "F:\\aicgen\\aicgen\\src\\services\\ai\\anthropic.ts",
30
+ "RelativeToolTip": "src\\services\\ai\\anthropic.ts",
31
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAB8AAAAqAAAAAAAAAA==",
32
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003213|",
33
+ "WhenOpened": "2025-12-06T03:22:51.667Z",
34
+ "EditorCaption": ""
35
+ },
36
+ {
37
+ "$type": "Document",
38
+ "DocumentIndex": 1,
39
+ "Title": "init.ts",
40
+ "DocumentMoniker": "F:\\aicgen\\aicgen\\src\\commands\\init.ts",
41
+ "RelativeDocumentMoniker": "src\\commands\\init.ts",
42
+ "ToolTip": "F:\\aicgen\\aicgen\\src\\commands\\init.ts",
43
+ "RelativeToolTip": "src\\commands\\init.ts",
44
+ "ViewState": "AgIAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
45
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003213|",
46
+ "WhenOpened": "2025-12-06T03:20:37.462Z",
47
+ "EditorCaption": ""
48
+ }
49
+ ]
50
+ }
51
+ ]
52
+ }
53
+ ]
54
+ }
Binary file
package/AGENTS.md ADDED
@@ -0,0 +1,121 @@
1
+ # AGENTS.md
2
+
3
+ ## Project Overview
4
+
5
+ **Language:** typescript
6
+ **Type:** cli
7
+
8
+ ## Development Guidelines
9
+
10
+ This project follows structured coding guidelines across multiple categories:
11
+
12
+ ### Language
13
+
14
+ - basics
15
+ - async
16
+ - interfaces-types
17
+
18
+ ### Architecture
19
+
20
+ - boundaries
21
+ - communication
22
+ - data
23
+
24
+ ### Testing
25
+
26
+ - unit-fundamentals
27
+ - unit-mocking
28
+ - integration
29
+
30
+ ### Security
31
+
32
+ - injection
33
+ - auth-jwt
34
+ - secrets
35
+
36
+ ### Performance
37
+
38
+ - basics
39
+ - caching
40
+ - async
41
+
42
+ ### API Design
43
+
44
+ - basics
45
+ - rest
46
+ - pagination
47
+
48
+ ### Code Style
49
+
50
+ - naming
51
+ - organization
52
+
53
+ ### Error Handling
54
+
55
+ - strategy
56
+ - basics
57
+
58
+ ### DevOps
59
+
60
+ - ci-cd
61
+ - practices
62
+ - observability
63
+
64
+ ### Best Practices
65
+
66
+ - planning
67
+ - documentation
68
+ - code-review
69
+
70
+ ### Design Patterns
71
+
72
+ - base-patterns
73
+ - concurrency
74
+ - data-access
75
+
76
+
77
+ ## Commands
78
+
79
+ **Install dependencies:**
80
+ ```bash
81
+ # Check package.json for package manager
82
+ npm install
83
+ # or yarn install
84
+ # or pnpm install
85
+ # or bun install
86
+ ```
87
+
88
+ **Run tests:**
89
+ ```bash
90
+ # Check package.json scripts section
91
+ npm test
92
+ ```
93
+
94
+ **Build:**
95
+ ```bash
96
+ # Check package.json scripts section
97
+ npm run build
98
+ ```
99
+
100
+ ## Code Style
101
+
102
+ See tool-specific instruction files for detailed code style guidelines:
103
+ - Claude Code: `CLAUDE.md`
104
+ - GitHub Copilot: `.github/copilot-instructions.md`
105
+ - Gemini: `.gemini/instructions.md`
106
+ - Antigravity: `.agent/rules/instructions.md`
107
+
108
+ ## Testing
109
+
110
+ Follow testing guidelines in tool-specific instruction files.
111
+
112
+ ## Git Workflow
113
+
114
+ - Write clear commit messages
115
+ - Follow conventional commits if configured
116
+ - Run tests before pushing
117
+ - Keep PRs focused and reviewable
118
+
119
+ ---
120
+
121
+ *Generated by aicgen - Universal AI agent instructions following the AGENTS.md standard*
package/CLAUDE.md ADDED
@@ -0,0 +1,36 @@
1
+ # @aicgen/aicgen - Development Guidelines
2
+
3
+ **Role:** You are an expert software engineer specialized in typescript.
4
+ **User's Goal:** Build high-quality, maintainable software following strict project guidelines.
5
+
6
+ ## Guidelines
7
+
8
+ This project follows structured coding guidelines organized by category:
9
+
10
+ - **Language**: @.claude/guidelines/language.md
11
+ - **Architecture**: @.claude/guidelines/architecture.md
12
+ - **Testing**: @.claude/guidelines/testing.md
13
+ - **Security**: @.claude/guidelines/security.md
14
+ - **Performance**: @.claude/guidelines/performance.md
15
+ - **API Design**: @.claude/guidelines/api-design.md
16
+ - **Code Style**: @.claude/guidelines/code-style.md
17
+ - **Error Handling**: @.claude/guidelines/error-handling.md
18
+ - **DevOps**: @.claude/guidelines/devops.md
19
+ - **Best Practices**: @.claude/guidelines/best-practices.md
20
+ - **Design Patterns**: @.claude/guidelines/design-patterns.md
21
+
22
+ ## Quick Reference
23
+
24
+ - Run tests: Check package.json scripts
25
+ - Build: Check package.json scripts
26
+ - Code style: See Code Style guidelines above
27
+ - Architecture: See Architecture guidelines above
28
+
29
+ ## Important Notes
30
+
31
+ - **Follow the guidelines** referenced above.
32
+ - **Verification**: Use sub-agents in `.claude/agents/` to verify compliance.
33
+ - **Constraints**: Hooks in `.claude/settings.json` enforce critical rules.
34
+
35
+ ---
36
+ *Generated by aicgen*