@hivehub/rulebook 1.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.
Files changed (379) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +539 -0
  3. package/dist/agents/claude-code.d.ts +69 -0
  4. package/dist/agents/claude-code.d.ts.map +1 -0
  5. package/dist/agents/claude-code.js +180 -0
  6. package/dist/agents/claude-code.js.map +1 -0
  7. package/dist/agents/cursor-agent.d.ts +184 -0
  8. package/dist/agents/cursor-agent.d.ts.map +1 -0
  9. package/dist/agents/cursor-agent.js +299 -0
  10. package/dist/agents/cursor-agent.js.map +1 -0
  11. package/dist/agents/gemini-cli.d.ts +69 -0
  12. package/dist/agents/gemini-cli.d.ts.map +1 -0
  13. package/dist/agents/gemini-cli.js +180 -0
  14. package/dist/agents/gemini-cli.js.map +1 -0
  15. package/dist/cli/commands.d.ts +57 -0
  16. package/dist/cli/commands.d.ts.map +1 -0
  17. package/dist/cli/commands.js +1370 -0
  18. package/dist/cli/commands.js.map +1 -0
  19. package/dist/cli/docs-prompts.d.ts +3 -0
  20. package/dist/cli/docs-prompts.d.ts.map +1 -0
  21. package/dist/cli/docs-prompts.js +45 -0
  22. package/dist/cli/docs-prompts.js.map +1 -0
  23. package/dist/cli/prompts.d.ts +6 -0
  24. package/dist/cli/prompts.d.ts.map +1 -0
  25. package/dist/cli/prompts.js +376 -0
  26. package/dist/cli/prompts.js.map +1 -0
  27. package/dist/core/agent-manager.d.ts +89 -0
  28. package/dist/core/agent-manager.d.ts.map +1 -0
  29. package/dist/core/agent-manager.js +546 -0
  30. package/dist/core/agent-manager.js.map +1 -0
  31. package/dist/core/auto-fixer.d.ts +14 -0
  32. package/dist/core/auto-fixer.d.ts.map +1 -0
  33. package/dist/core/auto-fixer.js +207 -0
  34. package/dist/core/auto-fixer.js.map +1 -0
  35. package/dist/core/changelog-generator.d.ts +44 -0
  36. package/dist/core/changelog-generator.d.ts.map +1 -0
  37. package/dist/core/changelog-generator.js +222 -0
  38. package/dist/core/changelog-generator.js.map +1 -0
  39. package/dist/core/cli-bridge.d.ts +113 -0
  40. package/dist/core/cli-bridge.d.ts.map +1 -0
  41. package/dist/core/cli-bridge.js +1094 -0
  42. package/dist/core/cli-bridge.js.map +1 -0
  43. package/dist/core/config-manager.d.ts +65 -0
  44. package/dist/core/config-manager.d.ts.map +1 -0
  45. package/dist/core/config-manager.js +266 -0
  46. package/dist/core/config-manager.js.map +1 -0
  47. package/dist/core/coverage-checker.d.ts +14 -0
  48. package/dist/core/coverage-checker.d.ts.map +1 -0
  49. package/dist/core/coverage-checker.js +176 -0
  50. package/dist/core/coverage-checker.js.map +1 -0
  51. package/dist/core/custom-templates.d.ts +27 -0
  52. package/dist/core/custom-templates.d.ts.map +1 -0
  53. package/dist/core/custom-templates.js +122 -0
  54. package/dist/core/custom-templates.js.map +1 -0
  55. package/dist/core/dependency-checker.d.ts +21 -0
  56. package/dist/core/dependency-checker.d.ts.map +1 -0
  57. package/dist/core/dependency-checker.js +247 -0
  58. package/dist/core/dependency-checker.js.map +1 -0
  59. package/dist/core/detector.d.ts +3 -0
  60. package/dist/core/detector.d.ts.map +1 -0
  61. package/dist/core/detector.js +1443 -0
  62. package/dist/core/detector.js.map +1 -0
  63. package/dist/core/docs-generator.d.ts +9 -0
  64. package/dist/core/docs-generator.d.ts.map +1 -0
  65. package/dist/core/docs-generator.js +531 -0
  66. package/dist/core/docs-generator.js.map +1 -0
  67. package/dist/core/generator.d.ts +16 -0
  68. package/dist/core/generator.d.ts.map +1 -0
  69. package/dist/core/generator.js +561 -0
  70. package/dist/core/generator.js.map +1 -0
  71. package/dist/core/gitignore-generator.d.ts +13 -0
  72. package/dist/core/gitignore-generator.d.ts.map +1 -0
  73. package/dist/core/gitignore-generator.js +307 -0
  74. package/dist/core/gitignore-generator.js.map +1 -0
  75. package/dist/core/health-scorer.d.ts +22 -0
  76. package/dist/core/health-scorer.d.ts.map +1 -0
  77. package/dist/core/health-scorer.js +395 -0
  78. package/dist/core/health-scorer.js.map +1 -0
  79. package/dist/core/logger.d.ts +116 -0
  80. package/dist/core/logger.d.ts.map +1 -0
  81. package/dist/core/logger.js +289 -0
  82. package/dist/core/logger.js.map +1 -0
  83. package/dist/core/merger.d.ts +6 -0
  84. package/dist/core/merger.d.ts.map +1 -0
  85. package/dist/core/merger.js +131 -0
  86. package/dist/core/merger.js.map +1 -0
  87. package/dist/core/migrator.d.ts +19 -0
  88. package/dist/core/migrator.d.ts.map +1 -0
  89. package/dist/core/migrator.js +102 -0
  90. package/dist/core/migrator.js.map +1 -0
  91. package/dist/core/minimal-scaffolder.d.ts +8 -0
  92. package/dist/core/minimal-scaffolder.d.ts.map +1 -0
  93. package/dist/core/minimal-scaffolder.js +51 -0
  94. package/dist/core/minimal-scaffolder.js.map +1 -0
  95. package/dist/core/modern-console-new.d.ts +81 -0
  96. package/dist/core/modern-console-new.d.ts.map +1 -0
  97. package/dist/core/modern-console-new.js +340 -0
  98. package/dist/core/modern-console-new.js.map +1 -0
  99. package/dist/core/modern-console.d.ts +99 -0
  100. package/dist/core/modern-console.d.ts.map +1 -0
  101. package/dist/core/modern-console.js +568 -0
  102. package/dist/core/modern-console.js.map +1 -0
  103. package/dist/core/openspec-manager.d.ts +133 -0
  104. package/dist/core/openspec-manager.d.ts.map +1 -0
  105. package/dist/core/openspec-manager.js +605 -0
  106. package/dist/core/openspec-manager.js.map +1 -0
  107. package/dist/core/openspec-migrator.d.ts +27 -0
  108. package/dist/core/openspec-migrator.d.ts.map +1 -0
  109. package/dist/core/openspec-migrator.js +255 -0
  110. package/dist/core/openspec-migrator.js.map +1 -0
  111. package/dist/core/task-manager.d.ts +65 -0
  112. package/dist/core/task-manager.d.ts.map +1 -0
  113. package/dist/core/task-manager.js +318 -0
  114. package/dist/core/task-manager.js.map +1 -0
  115. package/dist/core/test-task-manager.d.ts +49 -0
  116. package/dist/core/test-task-manager.d.ts.map +1 -0
  117. package/dist/core/test-task-manager.js +121 -0
  118. package/dist/core/test-task-manager.js.map +1 -0
  119. package/dist/core/validator.d.ts +21 -0
  120. package/dist/core/validator.d.ts.map +1 -0
  121. package/dist/core/validator.js +177 -0
  122. package/dist/core/validator.js.map +1 -0
  123. package/dist/core/version-bumper.d.ts +19 -0
  124. package/dist/core/version-bumper.d.ts.map +1 -0
  125. package/dist/core/version-bumper.js +180 -0
  126. package/dist/core/version-bumper.js.map +1 -0
  127. package/dist/core/watcher.d.ts +9 -0
  128. package/dist/core/watcher.d.ts.map +1 -0
  129. package/dist/core/watcher.js +22 -0
  130. package/dist/core/watcher.js.map +1 -0
  131. package/dist/core/workflow-generator.d.ts +10 -0
  132. package/dist/core/workflow-generator.d.ts.map +1 -0
  133. package/dist/core/workflow-generator.js +279 -0
  134. package/dist/core/workflow-generator.js.map +1 -0
  135. package/dist/index.d.ts +3 -0
  136. package/dist/index.d.ts.map +1 -0
  137. package/dist/index.js +159 -0
  138. package/dist/index.js.map +1 -0
  139. package/dist/mcp/handlers/archive-task.d.ts +17 -0
  140. package/dist/mcp/handlers/archive-task.d.ts.map +1 -0
  141. package/dist/mcp/handlers/archive-task.js +36 -0
  142. package/dist/mcp/handlers/archive-task.js.map +1 -0
  143. package/dist/mcp/handlers/create-task.d.ts +17 -0
  144. package/dist/mcp/handlers/create-task.d.ts.map +1 -0
  145. package/dist/mcp/handlers/create-task.js +56 -0
  146. package/dist/mcp/handlers/create-task.js.map +1 -0
  147. package/dist/mcp/handlers/list-tasks.d.ts +22 -0
  148. package/dist/mcp/handlers/list-tasks.d.ts.map +1 -0
  149. package/dist/mcp/handlers/list-tasks.js +42 -0
  150. package/dist/mcp/handlers/list-tasks.js.map +1 -0
  151. package/dist/mcp/handlers/show-task.d.ts +25 -0
  152. package/dist/mcp/handlers/show-task.d.ts.map +1 -0
  153. package/dist/mcp/handlers/show-task.js +43 -0
  154. package/dist/mcp/handlers/show-task.js.map +1 -0
  155. package/dist/mcp/handlers/update-task.d.ts +17 -0
  156. package/dist/mcp/handlers/update-task.d.ts.map +1 -0
  157. package/dist/mcp/handlers/update-task.js +35 -0
  158. package/dist/mcp/handlers/update-task.js.map +1 -0
  159. package/dist/mcp/handlers/validate-task.d.ts +15 -0
  160. package/dist/mcp/handlers/validate-task.d.ts.map +1 -0
  161. package/dist/mcp/handlers/validate-task.js +27 -0
  162. package/dist/mcp/handlers/validate-task.js.map +1 -0
  163. package/dist/mcp/rulebook-config.d.ts +22 -0
  164. package/dist/mcp/rulebook-config.d.ts.map +1 -0
  165. package/dist/mcp/rulebook-config.js +65 -0
  166. package/dist/mcp/rulebook-config.js.map +1 -0
  167. package/dist/mcp/rulebook-server.d.ts +4 -0
  168. package/dist/mcp/rulebook-server.d.ts.map +1 -0
  169. package/dist/mcp/rulebook-server.js +246 -0
  170. package/dist/mcp/rulebook-server.js.map +1 -0
  171. package/dist/types.d.ts +190 -0
  172. package/dist/types.d.ts.map +1 -0
  173. package/dist/types.js +2 -0
  174. package/dist/types.js.map +1 -0
  175. package/dist/utils/file-system.d.ts +9 -0
  176. package/dist/utils/file-system.d.ts.map +1 -0
  177. package/dist/utils/file-system.js +51 -0
  178. package/dist/utils/file-system.js.map +1 -0
  179. package/dist/utils/git-hooks.d.ts +8 -0
  180. package/dist/utils/git-hooks.d.ts.map +1 -0
  181. package/dist/utils/git-hooks.js +440 -0
  182. package/dist/utils/git-hooks.js.map +1 -0
  183. package/dist/utils/rulesignore.d.ts +9 -0
  184. package/dist/utils/rulesignore.d.ts.map +1 -0
  185. package/dist/utils/rulesignore.js +42 -0
  186. package/dist/utils/rulesignore.js.map +1 -0
  187. package/package.json +106 -0
  188. package/templates/cli/AIDER.md +49 -0
  189. package/templates/cli/AMAZON_Q.md +25 -0
  190. package/templates/cli/AUGGIE.md +32 -0
  191. package/templates/cli/CLAUDE.md +32 -0
  192. package/templates/cli/CLAUDE_CODE.md +35 -0
  193. package/templates/cli/CLINE.md +32 -0
  194. package/templates/cli/CODEBUDDY.md +20 -0
  195. package/templates/cli/CODEIUM.md +20 -0
  196. package/templates/cli/CODEX.md +21 -0
  197. package/templates/cli/CONTINUE.md +34 -0
  198. package/templates/cli/CURSOR_CLI.md +28 -0
  199. package/templates/cli/FACTORY.md +18 -0
  200. package/templates/cli/GEMINI.md +35 -0
  201. package/templates/cli/KILOCODE.md +18 -0
  202. package/templates/cli/OPENCODE.md +18 -0
  203. package/templates/cli/_GENERIC_TEMPLATE.md +29 -0
  204. package/templates/commands/rulebook-task-apply.md +67 -0
  205. package/templates/commands/rulebook-task-archive.md +70 -0
  206. package/templates/commands/rulebook-task-create.md +93 -0
  207. package/templates/commands/rulebook-task-list.md +42 -0
  208. package/templates/commands/rulebook-task-show.md +52 -0
  209. package/templates/commands/rulebook-task-validate.md +53 -0
  210. package/templates/core/AGENT_AUTOMATION.md +184 -0
  211. package/templates/core/DAG.md +304 -0
  212. package/templates/core/DOCUMENTATION_RULES.md +37 -0
  213. package/templates/core/QUALITY_ENFORCEMENT.md +68 -0
  214. package/templates/core/RULEBOOK.md +1874 -0
  215. package/templates/frameworks/ANGULAR.md +36 -0
  216. package/templates/frameworks/DJANGO.md +83 -0
  217. package/templates/frameworks/ELECTRON.md +147 -0
  218. package/templates/frameworks/FLASK.md +38 -0
  219. package/templates/frameworks/FLUTTER.md +55 -0
  220. package/templates/frameworks/JQUERY.md +32 -0
  221. package/templates/frameworks/LARAVEL.md +38 -0
  222. package/templates/frameworks/NESTJS.md +43 -0
  223. package/templates/frameworks/NEXTJS.md +127 -0
  224. package/templates/frameworks/NUXT.md +40 -0
  225. package/templates/frameworks/RAILS.md +66 -0
  226. package/templates/frameworks/REACT.md +38 -0
  227. package/templates/frameworks/REACT_NATIVE.md +47 -0
  228. package/templates/frameworks/SPRING.md +39 -0
  229. package/templates/frameworks/SYMFONY.md +36 -0
  230. package/templates/frameworks/VUE.md +36 -0
  231. package/templates/frameworks/ZEND.md +35 -0
  232. package/templates/git/CI_CD_PATTERNS.md +661 -0
  233. package/templates/git/GITHUB_ACTIONS.md +728 -0
  234. package/templates/git/GITLAB_CI.md +730 -0
  235. package/templates/git/GIT_WORKFLOW.md +1157 -0
  236. package/templates/git/SECRETS_MANAGEMENT.md +585 -0
  237. package/templates/hooks/COMMIT_MSG.md +530 -0
  238. package/templates/hooks/POST_CHECKOUT.md +546 -0
  239. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -0
  240. package/templates/hooks/PRE_COMMIT.md +414 -0
  241. package/templates/hooks/PRE_PUSH.md +601 -0
  242. package/templates/hooks/csharp-pre-commit.sh +23 -0
  243. package/templates/hooks/csharp-pre-push.sh +23 -0
  244. package/templates/hooks/dart-pre-commit.sh +30 -0
  245. package/templates/hooks/dart-pre-push.sh +25 -0
  246. package/templates/hooks/elixir-pre-commit.sh +32 -0
  247. package/templates/hooks/elixir-pre-push.sh +31 -0
  248. package/templates/hooks/erlang-pre-commit.sh +30 -0
  249. package/templates/hooks/erlang-pre-push.sh +37 -0
  250. package/templates/hooks/go-pre-commit.sh +40 -0
  251. package/templates/hooks/go-pre-push.sh +31 -0
  252. package/templates/hooks/haskell-pre-commit.sh +41 -0
  253. package/templates/hooks/haskell-pre-push.sh +37 -0
  254. package/templates/hooks/java-pre-commit.sh +34 -0
  255. package/templates/hooks/java-pre-push.sh +24 -0
  256. package/templates/hooks/kotlin-pre-commit.sh +32 -0
  257. package/templates/hooks/kotlin-pre-push.sh +16 -0
  258. package/templates/hooks/php-pre-commit.sh +36 -0
  259. package/templates/hooks/php-pre-push.sh +26 -0
  260. package/templates/hooks/python-pre-commit.sh +51 -0
  261. package/templates/hooks/python-pre-push.sh +25 -0
  262. package/templates/hooks/ruby-pre-commit.sh +33 -0
  263. package/templates/hooks/ruby-pre-push.sh +32 -0
  264. package/templates/hooks/rust-pre-commit.sh +30 -0
  265. package/templates/hooks/rust-pre-push.sh +30 -0
  266. package/templates/hooks/scala-pre-commit.sh +32 -0
  267. package/templates/hooks/scala-pre-push.sh +24 -0
  268. package/templates/hooks/swift-pre-commit.sh +25 -0
  269. package/templates/hooks/swift-pre-push.sh +23 -0
  270. package/templates/hooks/typescript-pre-commit.sh +37 -0
  271. package/templates/hooks/typescript-pre-push.sh +36 -0
  272. package/templates/ides/COPILOT.md +37 -0
  273. package/templates/ides/CURSOR.md +43 -0
  274. package/templates/ides/JETBRAINS_AI.md +35 -0
  275. package/templates/ides/REPLIT.md +36 -0
  276. package/templates/ides/TABNINE.md +29 -0
  277. package/templates/ides/VSCODE.md +40 -0
  278. package/templates/ides/WINDSURF.md +36 -0
  279. package/templates/ides/ZED.md +32 -0
  280. package/templates/languages/ADA.md +58 -0
  281. package/templates/languages/C.md +333 -0
  282. package/templates/languages/CPP.md +743 -0
  283. package/templates/languages/CSHARP.md +417 -0
  284. package/templates/languages/DART.md +332 -0
  285. package/templates/languages/ELIXIR.md +454 -0
  286. package/templates/languages/ERLANG.md +361 -0
  287. package/templates/languages/GO.md +645 -0
  288. package/templates/languages/HASKELL.md +177 -0
  289. package/templates/languages/JAVA.md +607 -0
  290. package/templates/languages/JAVASCRIPT.md +631 -0
  291. package/templates/languages/JULIA.md +97 -0
  292. package/templates/languages/KOTLIN.md +511 -0
  293. package/templates/languages/LISP.md +100 -0
  294. package/templates/languages/LUA.md +74 -0
  295. package/templates/languages/OBJECTIVEC.md +90 -0
  296. package/templates/languages/PHP.md +416 -0
  297. package/templates/languages/PYTHON.md +682 -0
  298. package/templates/languages/R.md +350 -0
  299. package/templates/languages/RUBY.md +421 -0
  300. package/templates/languages/RUST.md +477 -0
  301. package/templates/languages/SAS.md +73 -0
  302. package/templates/languages/SCALA.md +348 -0
  303. package/templates/languages/SOLIDITY.md +580 -0
  304. package/templates/languages/SQL.md +137 -0
  305. package/templates/languages/SWIFT.md +466 -0
  306. package/templates/languages/TYPESCRIPT.md +591 -0
  307. package/templates/languages/ZIG.md +265 -0
  308. package/templates/modules/ATLASSIAN.md +255 -0
  309. package/templates/modules/CONTEXT7.md +54 -0
  310. package/templates/modules/FIGMA.md +267 -0
  311. package/templates/modules/GITHUB_MCP.md +64 -0
  312. package/templates/modules/GRAFANA.md +328 -0
  313. package/templates/modules/NOTION.md +247 -0
  314. package/templates/modules/PLAYWRIGHT.md +90 -0
  315. package/templates/modules/RULEBOOK_MCP.md +156 -0
  316. package/templates/modules/SERENA.md +337 -0
  317. package/templates/modules/SUPABASE.md +223 -0
  318. package/templates/modules/SYNAP.md +69 -0
  319. package/templates/modules/VECTORIZER.md +63 -0
  320. package/templates/services/AZURE_BLOB.md +184 -0
  321. package/templates/services/CASSANDRA.md +239 -0
  322. package/templates/services/DYNAMODB.md +308 -0
  323. package/templates/services/ELASTICSEARCH.md +347 -0
  324. package/templates/services/GCS.md +178 -0
  325. package/templates/services/INFLUXDB.md +265 -0
  326. package/templates/services/KAFKA.md +341 -0
  327. package/templates/services/MARIADB.md +183 -0
  328. package/templates/services/MEMCACHED.md +242 -0
  329. package/templates/services/MINIO.md +201 -0
  330. package/templates/services/MONGODB.md +268 -0
  331. package/templates/services/MYSQL.md +358 -0
  332. package/templates/services/NEO4J.md +247 -0
  333. package/templates/services/ORACLE.md +290 -0
  334. package/templates/services/POSTGRESQL.md +326 -0
  335. package/templates/services/RABBITMQ.md +286 -0
  336. package/templates/services/REDIS.md +292 -0
  337. package/templates/services/S3.md +298 -0
  338. package/templates/services/SQLITE.md +294 -0
  339. package/templates/services/SQLSERVER.md +294 -0
  340. package/templates/workflows/codespell.yml +31 -0
  341. package/templates/workflows/cpp-lint.yml +47 -0
  342. package/templates/workflows/cpp-publish.yml +119 -0
  343. package/templates/workflows/cpp-test.yml +77 -0
  344. package/templates/workflows/dotnet-lint.yml +29 -0
  345. package/templates/workflows/dotnet-publish.yml +40 -0
  346. package/templates/workflows/dotnet-test.yml +41 -0
  347. package/templates/workflows/elixir-lint.yml +45 -0
  348. package/templates/workflows/elixir-publish.yml +49 -0
  349. package/templates/workflows/elixir-test.yml +54 -0
  350. package/templates/workflows/erlang-lint.yml +47 -0
  351. package/templates/workflows/erlang-test.yml +62 -0
  352. package/templates/workflows/go-lint.yml +39 -0
  353. package/templates/workflows/go-publish.yml +95 -0
  354. package/templates/workflows/go-test.yml +59 -0
  355. package/templates/workflows/java-lint.yml +60 -0
  356. package/templates/workflows/java-publish.yml +120 -0
  357. package/templates/workflows/java-test.yml +85 -0
  358. package/templates/workflows/kotlin-lint.yml +34 -0
  359. package/templates/workflows/kotlin-publish.yml +56 -0
  360. package/templates/workflows/kotlin-test.yml +48 -0
  361. package/templates/workflows/php-lint.yml +39 -0
  362. package/templates/workflows/php-publish.yml +50 -0
  363. package/templates/workflows/php-test.yml +54 -0
  364. package/templates/workflows/python-lint.yml +47 -0
  365. package/templates/workflows/python-publish.yml +91 -0
  366. package/templates/workflows/python-test.yml +59 -0
  367. package/templates/workflows/rust-lint.yml +54 -0
  368. package/templates/workflows/rust-publish.yml +66 -0
  369. package/templates/workflows/rust-test.yml +75 -0
  370. package/templates/workflows/solidity-lint.yml +41 -0
  371. package/templates/workflows/solidity-test.yml +47 -0
  372. package/templates/workflows/swift-lint.yml +32 -0
  373. package/templates/workflows/swift-publish.yml +58 -0
  374. package/templates/workflows/swift-test.yml +44 -0
  375. package/templates/workflows/typescript-lint.yml +61 -0
  376. package/templates/workflows/typescript-publish.yml +60 -0
  377. package/templates/workflows/typescript-test.yml +73 -0
  378. package/templates/workflows/zig-lint.yml +27 -0
  379. package/templates/workflows/zig-test.yml +40 -0
@@ -0,0 +1,36 @@
1
+ <!-- ANGULAR:START -->
2
+ # Angular Framework Rules
3
+
4
+ **CRITICAL**: Angular projects must meet these standards before delivery.
5
+
6
+ ## Quality Commands
7
+ - Lint: `npm run lint`
8
+ - Unit tests: `npm run test -- --watch=false --code-coverage`
9
+ - e2e tests: `npm run e2e`
10
+ - Build: `npm run build -- --configuration production`
11
+
12
+ ## Project Structure
13
+ - Colocate features inside `src/app/<feature>/`
14
+ - Keep shared modules in `src/app/shared`
15
+ - Avoid `providedIn: 'root'` unless service truly global
16
+ - Leverage `OnPush` change detection for performance-critical components
17
+
18
+ ## Implementation Guidelines
19
+ - Define interfaces for component inputs/outputs
20
+ - Use `HttpClient` interceptors for auth/logging
21
+ - Isolate environment variables in `src/environments/`
22
+ - Prefer Reactive Forms and RxJS operators over manual subscriptions
23
+
24
+ ## Pre-Commit Sequence
25
+ ```bash
26
+ npm run lint
27
+ npm run test -- --watch=false
28
+ npm run build -- --configuration production
29
+ ```
30
+
31
+ ## Documentation
32
+ - Update `/docs/angular-architecture.md` with new modules and routes
33
+ - Record shared component APIs in Storybook or `/docs/ui-components.md`
34
+ - Version major route changes in `/docs/roadmap.md`
35
+
36
+ <!-- ANGULAR:END -->
@@ -0,0 +1,83 @@
1
+ <!-- DJANGO:START -->
2
+ # Django Framework Rules
3
+
4
+ **Language**: Python
5
+ **Version**: Django 4.2+ (LTS) or 5.0+
6
+
7
+ ## Setup & Configuration
8
+
9
+ ```python
10
+ # settings.py
11
+ SECRET_KEY = env('SECRET_KEY') # Never hardcode
12
+ DEBUG = env.bool('DEBUG', default=False)
13
+ ALLOWED_HOSTS = env.list('ALLOWED_HOSTS')
14
+
15
+ INSTALLED_APPS = [
16
+ # Django apps
17
+ 'django.contrib.admin',
18
+ 'django.contrib.auth',
19
+ # Third-party
20
+ 'rest_framework',
21
+ 'corsheaders',
22
+ # Local apps
23
+ 'apps.users',
24
+ ]
25
+
26
+ DATABASES = {
27
+ 'default': env.db('DATABASE_URL') # Use django-environ
28
+ }
29
+ ```
30
+
31
+ ## Quality Gates
32
+
33
+ ```bash
34
+ # Code quality
35
+ black . # Format
36
+ ruff check . # Lint
37
+ mypy . # Type check
38
+
39
+ # Tests
40
+ python manage.py test # Run tests
41
+ pytest --cov=apps --cov-report=html # With coverage
42
+
43
+ # Security
44
+ python manage.py check --deploy # Production checks
45
+ bandit -r apps/ # Security scan
46
+ ```
47
+
48
+ ## Best Practices
49
+
50
+ ✅ **DO:**
51
+ - Use Class-Based Views (CBVs) or Django REST Framework ViewSets
52
+ - Implement custom User model from start
53
+ - Use Django ORM properly (select_related, prefetch_related)
54
+ - Enable CSRF protection
55
+ - Use environment variables for secrets
56
+ - Write tests for views, models, and forms
57
+
58
+ ❌ **DON'T:**
59
+ - Use `DEBUG=True` in production
60
+ - Store secrets in settings.py
61
+ - Use raw SQL without parameterization
62
+ - Skip migrations
63
+ - Ignore security middleware
64
+
65
+ ## Project Structure
66
+
67
+ ```
68
+ project/
69
+ ├── manage.py
70
+ ├── requirements.txt
71
+ ├── apps/
72
+ │ ├── users/
73
+ │ ├── api/
74
+ │ └── core/
75
+ ├── config/
76
+ │ ├── settings.py
77
+ │ ├── urls.py
78
+ │ └── wsgi.py
79
+ └── tests/
80
+ ```
81
+
82
+ <!-- DJANGO:END -->
83
+
@@ -0,0 +1,147 @@
1
+ <!-- ELECTRON:START -->
2
+ # Electron Framework Rules
3
+
4
+ **Language**: TypeScript, JavaScript
5
+ **Version**: Electron 28+
6
+
7
+ ## Setup & Configuration
8
+
9
+ ```typescript
10
+ // main.ts (Main Process)
11
+ import { app, BrowserWindow } from 'electron'
12
+ import path from 'path'
13
+
14
+ function createWindow() {
15
+ const win = new BrowserWindow({
16
+ width: 1200,
17
+ height: 800,
18
+ webPreferences: {
19
+ preload: path.join(__dirname, 'preload.js'),
20
+ contextIsolation: true,
21
+ nodeIntegration: false,
22
+ },
23
+ })
24
+
25
+ win.loadFile('index.html')
26
+ }
27
+
28
+ app.whenReady().then(createWindow)
29
+ ```
30
+
31
+ ## Quality Gates
32
+
33
+ ```bash
34
+ # Type check
35
+ npm run type-check
36
+
37
+ # Lint
38
+ npm run lint
39
+
40
+ # Tests
41
+ npm test
42
+
43
+ # Build
44
+ npm run build # Compile TypeScript
45
+ npm run package # Package app
46
+ npm run make # Create distributables
47
+ ```
48
+
49
+ ## Best Practices
50
+
51
+ ✅ **DO:**
52
+ - Use contextIsolation: true
53
+ - Disable nodeIntegration
54
+ - Use preload scripts for IPC
55
+ - Implement auto-updates (electron-updater)
56
+ - Sign and notarize apps (production)
57
+ - Use Content Security Policy
58
+ - Implement proper error handling
59
+ - Separate main and renderer processes
60
+
61
+ ❌ **DON'T:**
62
+ - Enable nodeIntegration in renderer
63
+ - Skip contextIsolation
64
+ - Use remote module (deprecated)
65
+ - Ignore security warnings
66
+ - Skip code signing
67
+ - Load remote content without CSP
68
+ - Use synchronous IPC
69
+ - Hardcode credentials
70
+
71
+ ## Project Structure
72
+
73
+ ```
74
+ src/
75
+ ├── main/
76
+ │ ├── main.ts # Main process
77
+ │ ├── preload.ts # Preload script
78
+ │ └── ipc/ # IPC handlers
79
+ ├── renderer/
80
+ │ ├── index.html
81
+ │ ├── renderer.ts
82
+ │ └── components/
83
+ └── shared/
84
+ └── types.ts
85
+ ```
86
+
87
+ ## IPC Communication
88
+
89
+ ```typescript
90
+ // preload.ts
91
+ import { contextBridge, ipcRenderer } from 'electron'
92
+
93
+ contextBridge.exposeInMainWorld('electronAPI', {
94
+ sendMessage: (message: string) => ipcRenderer.send('message', message),
95
+ onReply: (callback: (reply: string) => void) =>
96
+ ipcRenderer.on('reply', (_event, reply) => callback(reply)),
97
+ })
98
+
99
+ // main.ts
100
+ import { ipcMain } from 'electron'
101
+
102
+ ipcMain.on('message', (event, message) => {
103
+ console.log(message)
104
+ event.reply('reply', 'Message received')
105
+ })
106
+
107
+ // renderer.ts
108
+ declare global {
109
+ interface Window {
110
+ electronAPI: {
111
+ sendMessage: (message: string) => void
112
+ onReply: (callback: (reply: string) => void) => void
113
+ }
114
+ }
115
+ }
116
+
117
+ window.electronAPI.sendMessage('Hello from renderer')
118
+ window.electronAPI.onReply((reply) => console.log(reply))
119
+ ```
120
+
121
+ ## Security Checklist
122
+
123
+ ```typescript
124
+ // ✅ Good security configuration
125
+ const win = new BrowserWindow({
126
+ webPreferences: {
127
+ contextIsolation: true, // ✅ MUST enable
128
+ nodeIntegration: false, // ✅ MUST disable
129
+ sandbox: true, // ✅ Enable sandbox
130
+ webSecurity: true, // ✅ Enable web security
131
+ allowRunningInsecureContent: false, // ✅ Block insecure content
132
+ },
133
+ })
134
+
135
+ // Content Security Policy
136
+ session.defaultSession.webRequest.onHeadersReceived((details, callback) => {
137
+ callback({
138
+ responseHeaders: {
139
+ ...details.responseHeaders,
140
+ 'Content-Security-Policy': ["default-src 'self'"]
141
+ }
142
+ })
143
+ })
144
+ ```
145
+
146
+ <!-- ELECTRON:END -->
147
+
@@ -0,0 +1,38 @@
1
+ <!-- FLASK:START -->
2
+ # Flask Framework Rules
3
+
4
+ **Language**: Python
5
+ **Version**: Flask 3.0+
6
+
7
+ ## Setup
8
+
9
+ ```python
10
+ from flask import Flask
11
+ app = Flask(__name__)
12
+ app.config.from_object('config.ProductionConfig')
13
+
14
+ # Use Flask-SQLAlchemy for ORM
15
+ # Use Flask-Migrate for migrations
16
+ # Use Flask-Login for auth
17
+ ```
18
+
19
+ ## Quality Gates
20
+
21
+ ```bash
22
+ black .
23
+ ruff check .
24
+ pytest --cov=app
25
+ ```
26
+
27
+ ## Best Practices
28
+
29
+ ✅ Use application factory pattern
30
+ ✅ Enable CORS properly
31
+ ✅ Use blueprints for organization
32
+ ✅ Implement error handlers
33
+
34
+ ❌ Don't use `debug=True` in production
35
+ ❌ Don't store secrets in code
36
+
37
+ <!-- FLASK:END -->
38
+
@@ -0,0 +1,55 @@
1
+ <!-- FLUTTER:START -->
2
+ # Flutter Framework Rules
3
+
4
+ **Language**: Dart
5
+ **Version**: Flutter 3.10+
6
+
7
+ ## Setup
8
+
9
+ ```yaml
10
+ # pubspec.yaml
11
+ dependencies:
12
+ flutter:
13
+ sdk: flutter
14
+ cupertino_icons: ^1.0.2
15
+
16
+ dev_dependencies:
17
+ flutter_test:
18
+ sdk: flutter
19
+ flutter_lints: ^2.0.0
20
+ ```
21
+
22
+ ## Quality Gates
23
+
24
+ ```bash
25
+ dart format --set-exit-if-changed .
26
+ dart analyze --fatal-infos
27
+ flutter test
28
+ flutter build apk --release # Test build
29
+ ```
30
+
31
+ ## Best Practices
32
+
33
+ ✅ Use StatelessWidget when possible
34
+ ✅ Implement proper state management (Provider, Riverpod, Bloc)
35
+ ✅ Use const constructors
36
+ ✅ Optimize widget rebuilds
37
+ ✅ Test on multiple devices
38
+
39
+ ❌ Don't use `print()` in production
40
+ ❌ Don't skip null safety
41
+ ❌ Don't ignore platform differences
42
+
43
+ ## Project Structure
44
+
45
+ ```
46
+ lib/
47
+ ├── main.dart
48
+ ├── models/
49
+ ├── screens/
50
+ ├── widgets/
51
+ └── services/
52
+ ```
53
+
54
+ <!-- FLUTTER:END -->
55
+
@@ -0,0 +1,32 @@
1
+ <!-- JQUERY:START -->
2
+ # jQuery Framework Rules
3
+
4
+ **Language**: JavaScript
5
+ **Version**: jQuery 3.x+
6
+
7
+ ## Setup
8
+
9
+ ```html
10
+ <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
11
+ ```
12
+
13
+ ## Best Practices
14
+
15
+ ✅ Use modern JS alongside jQuery
16
+ ✅ Minimize DOM manipulation
17
+ ✅ Cache jQuery selectors
18
+ ✅ Use event delegation
19
+
20
+ ❌ Don't use jQuery for everything
21
+ ❌ Don't pollute global scope
22
+ ❌ Don't skip CSP headers
23
+
24
+ ## Quality Gates
25
+
26
+ ```bash
27
+ eslint src/**/*.js
28
+ jest
29
+ ```
30
+
31
+ <!-- JQUERY:END -->
32
+
@@ -0,0 +1,38 @@
1
+ <!-- LARAVEL:START -->
2
+ # Laravel Framework Rules
3
+
4
+ **CRITICAL**: Laravel services must respect these conventions and quality checks.
5
+
6
+ ## Quality Commands
7
+ - Static analysis: `./vendor/bin/pint --test`
8
+ - Lint style: `./vendor/bin/phpcs --standard=PSR12 app/`
9
+ - Unit tests: `php artisan test`
10
+ - Feature tests: `php artisan test --testsuite=Feature`
11
+ - Coverage: ensure `php artisan test --coverage` ≥ 80%
12
+
13
+ ## Project Structure
14
+ - Keep HTTP controllers in `app/Http/Controllers`
15
+ - Use form requests for validation in `app/Http/Requests`
16
+ - Organize business logic in `app/Services`
17
+ - Leverage repositories for data persistence where appropriate
18
+ - Store queued jobs in `app/Jobs`
19
+
20
+ ## Implementation Guidelines
21
+ - Use migrations for every schema change (`php artisan make:migration`)
22
+ - Keep Eloquent models lean; move heavy logic into services
23
+ - Cache configuration after deployment (`php artisan config:cache`)
24
+ - Register scheduled tasks in `app/Console/Kernel.php`
25
+ - Ensure `app/Providers` registers new bindings/events
26
+
27
+ ## Composer Hygiene
28
+ ```bash
29
+ composer install --no-dev --prefer-dist
30
+ composer dump-autoload
31
+ ```
32
+
33
+ ## Additional Checks
34
+ - Sync `.env.example` whenever new variables are introduced
35
+ - Document API changes in `/docs/laravel-api.md`
36
+ - Generate API resources via `php artisan make:resource`
37
+
38
+ <!-- LARAVEL:END -->
@@ -0,0 +1,43 @@
1
+ <!-- NESTJS:START -->
2
+ # NestJS Framework Rules
3
+
4
+ **CRITICAL**: Align all NestJS services, modules, and controllers with these conventions.
5
+
6
+ ## Project Structure
7
+ - Maintain feature-first modules under `src/<feature>/`
8
+ - Keep global providers in `src/common/`
9
+ - Register new modules in `AppModule` and ensure dependency injection consistency
10
+ - Prefer `@nestjs/config` for environment configuration
11
+
12
+ ## Quality Gates
13
+ - Lint: `npm run lint`
14
+ - Unit tests: `npm run test`
15
+ - e2e tests: `npm run test:e2e`
16
+ - Build validation: `npm run build`
17
+ - Coverage threshold: **80%+** for service and controller layers
18
+
19
+ ## Implementation Guidelines
20
+ - Use DTOs with `class-validator` and `class-transformer`
21
+ - Encapsulate database access in providers (avoid direct repository use in controllers)
22
+ - Document routes with `@nestjs/swagger` when OpenAPI is enabled
23
+ - Keep asynchronous logic wrapped with `try/catch` and map errors to HTTP exceptions
24
+
25
+ ## Scripts to Run Before Commit
26
+ ```bash
27
+ npm run lint
28
+ npm run test
29
+ npm run test:e2e
30
+ npm run build
31
+ ```
32
+
33
+ ## Additional Checks
34
+ - Ensure Circular Dependency detection is clean (`npm run lint -- --max-warnings=0`)
35
+ - Synchronize `.env.example` with actual required variables
36
+ - Maintain aligned versions for Nest core packages (`@nestjs/*`)
37
+
38
+ ## Documentation
39
+ - Update `/docs/architecture.md` with new modules and providers
40
+ - Keep OpenAPI spec regenerated via `npm run swagger:generate`
41
+ - Log breaking changes in `CHANGELOG.md`
42
+
43
+ <!-- NESTJS:END -->
@@ -0,0 +1,127 @@
1
+ <!-- NEXTJS:START -->
2
+ # Next.js Framework Rules
3
+
4
+ **Language**: TypeScript, JavaScript
5
+ **Version**: Next.js 14+ (App Router)
6
+
7
+ ## Setup & Configuration
8
+
9
+ ```typescript
10
+ // next.config.ts
11
+ import type { NextConfig } from 'next'
12
+
13
+ const nextConfig: NextConfig = {
14
+ reactStrictMode: true,
15
+ images: {
16
+ domains: ['your-domain.com'],
17
+ },
18
+ env: {
19
+ CUSTOM_KEY: process.env.CUSTOM_KEY,
20
+ },
21
+ }
22
+
23
+ export default nextConfig
24
+ ```
25
+
26
+ ## Quality Gates
27
+
28
+ ```bash
29
+ # Type check
30
+ npm run type-check # or: tsc --noEmit
31
+
32
+ # Lint
33
+ npm run lint # Next.js ESLint
34
+
35
+ # Format
36
+ npx prettier --check "**/*.{ts,tsx}"
37
+
38
+ # Tests
39
+ npm test # Vitest or Jest
40
+
41
+ # Build
42
+ npm run build # Must succeed
43
+
44
+ # Check bundle size
45
+ npm run build && npx @next/bundle-analyzer
46
+ ```
47
+
48
+ ## Best Practices
49
+
50
+ ✅ **DO:**
51
+ - Use App Router (app/) for new projects
52
+ - Implement Server Components by default
53
+ - Use Client Components ('use client') only when needed
54
+ - Optimize images with next/image
55
+ - Use dynamic imports for code splitting
56
+ - Implement proper metadata/SEO
57
+ - Use Server Actions for mutations
58
+ - Enable React Strict Mode
59
+
60
+ ❌ **DON'T:**
61
+ - Use getServerSideProps/getStaticProps in App Router
62
+ - Fetch on client when server fetch is better
63
+ - Skip image optimization
64
+ - Ignore bundle size
65
+ - Use 'use client' everywhere
66
+ - Hardcode API URLs
67
+ - Skip error boundaries
68
+
69
+ ## Project Structure (App Router)
70
+
71
+ ```
72
+ app/
73
+ ├── layout.tsx # Root layout
74
+ ├── page.tsx # Home page
75
+ ├── (routes)/
76
+ │ ├── dashboard/
77
+ │ │ ├── layout.tsx
78
+ │ │ └── page.tsx
79
+ │ └── api/
80
+ │ └── users/
81
+ │ └── route.ts
82
+ ├── components/
83
+ ├── lib/
84
+ └── types/
85
+ ```
86
+
87
+ ## Server vs Client Components
88
+
89
+ ```typescript
90
+ // Server Component (default)
91
+ async function ServerComponent() {
92
+ const data = await fetch('https://api.example.com/data')
93
+ return <div>{data}</div>
94
+ }
95
+
96
+ // Client Component
97
+ 'use client'
98
+ import { useState } from 'react'
99
+
100
+ function ClientComponent() {
101
+ const [count, setCount] = useState(0)
102
+ return <button onClick={() => setCount(count + 1)}>{count}</button>
103
+ }
104
+ ```
105
+
106
+ ## Route Handlers (API Routes)
107
+
108
+ ```typescript
109
+ // app/api/users/route.ts
110
+ import { NextRequest, NextResponse } from 'next/server'
111
+
112
+ export async function GET(request: NextRequest) {
113
+ const searchParams = request.nextUrl.searchParams
114
+ const id = searchParams.get('id')
115
+
116
+ return NextResponse.json({ id })
117
+ }
118
+
119
+ export async function POST(request: NextRequest) {
120
+ const body = await request.json()
121
+ // Handle POST
122
+ return NextResponse.json({ success: true })
123
+ }
124
+ ```
125
+
126
+ <!-- NEXTJS:END -->
127
+
@@ -0,0 +1,40 @@
1
+ <!-- NUXT:START -->
2
+ # Nuxt Framework Rules
3
+
4
+ **CRITICAL**: Nuxt 3 applications must keep these standards to ensure SSR quality.
5
+
6
+ ## Quality Commands
7
+ - Lint: `npm run lint`
8
+ - Type check: `npm run type-check`
9
+ - Unit tests: `npm run test`
10
+ - Build for production: `npm run build`
11
+ - Generate static output (if applicable): `npm run generate`
12
+
13
+ ## Project Structure
14
+ - Define routes with file-based routing under `pages/`
15
+ - Keep server API handlers within `server/api/`
16
+ - Organize composables in `composables/`
17
+ - Place reusable UI components in `components/`
18
+ - Store state via Pinia modules in `stores/`
19
+
20
+ ## Implementation Guidelines
21
+ - Use runtime config via `useRuntimeConfig()` for secrets
22
+ - SSR-safe operations only inside `onServerPrefetch`/server routes
23
+ - Prefer `definePageMeta` to control page-level features
24
+ - Maintain i18n messages in `/locales`
25
+ - Cache heavy computations with Nitro storage if needed
26
+
27
+ ## Pre-Commit Commands
28
+ ```bash
29
+ npm run lint
30
+ npm run type-check
31
+ npm run test
32
+ npm run build
33
+ ```
34
+
35
+ ## Documentation
36
+ - Keep `/docs/nuxt-architecture.md` current with route layout and middleware
37
+ - Document server API contracts in `/docs/api.md`
38
+ - Capture deployment steps (SSR vs static) in `/docs/deployment.md`
39
+
40
+ <!-- NUXT:END -->
@@ -0,0 +1,66 @@
1
+ <!-- RAILS:START -->
2
+ # Ruby on Rails Framework Rules
3
+
4
+ **Language**: Ruby
5
+ **Version**: Rails 7.0+
6
+
7
+ ## Setup & Configuration
8
+
9
+ ```ruby
10
+ # config/database.yml
11
+ production:
12
+ url: <%= ENV['DATABASE_URL'] %>
13
+
14
+ # config/environments/production.rb
15
+ config.force_ssl = true
16
+ config.log_level = :info
17
+ ```
18
+
19
+ ## Quality Gates
20
+
21
+ ```bash
22
+ # Code quality
23
+ bundle exec rubocop # Lint
24
+ bundle exec brakeman # Security scan
25
+
26
+ # Tests
27
+ bundle exec rspec # Run tests
28
+ bundle exec rspec --format documentation # Verbose
29
+
30
+ # Type check (optional)
31
+ bundle exec steep check # Static typing
32
+ ```
33
+
34
+ ## Best Practices
35
+
36
+ ✅ **DO:**
37
+ - Use strong parameters
38
+ - Implement authentication (Devise/custom)
39
+ - Use ActiveRecord callbacks sparingly
40
+ - Write RSpec/Minitest tests
41
+ - Use database migrations
42
+ - Enable CSRF protection
43
+
44
+ ❌ **DON'T:**
45
+ - Skip validations in models
46
+ - Use `params` without permit
47
+ - Store secrets in code
48
+ - Skip database indexes
49
+ - Ignore N+1 queries
50
+
51
+ ## Project Structure
52
+
53
+ ```
54
+ app/
55
+ ├── controllers/
56
+ ├── models/
57
+ ├── views/
58
+ ├── jobs/
59
+ └── mailers/
60
+ config/
61
+ db/
62
+ spec/
63
+ ```
64
+
65
+ <!-- RAILS:END -->
66
+