@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,32 @@
1
+ #!/bin/sh
2
+ # Elixir Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Elixir pre-commit checks..."
6
+
7
+ # Format check
8
+ echo " → Format checking..."
9
+ mix format --check-formatted || {
10
+ echo "❌ Format check failed. Run: mix format"
11
+ exit 1
12
+ }
13
+
14
+ # Lint
15
+ if mix help credo &> /dev/null 2>&1; then
16
+ echo " → Linting..."
17
+ mix credo --strict || {
18
+ echo "❌ Credo failed"
19
+ exit 1
20
+ }
21
+ fi
22
+
23
+ # Tests
24
+ echo " → Running tests..."
25
+ mix test || {
26
+ echo "❌ Tests failed"
27
+ exit 1
28
+ }
29
+
30
+ echo "✅ All Elixir pre-commit checks passed!"
31
+ exit 0
32
+
@@ -0,0 +1,31 @@
1
+ #!/bin/sh
2
+ # Elixir Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running Elixir pre-push checks..."
6
+
7
+ # Full test suite
8
+ echo " → Running full test suite..."
9
+ mix test || {
10
+ echo "❌ Tests failed"
11
+ exit 1
12
+ }
13
+
14
+ # Compile release
15
+ echo " → Compiling release..."
16
+ MIX_ENV=prod mix compile || {
17
+ echo "❌ Compilation failed"
18
+ exit 1
19
+ }
20
+
21
+ # Dialyzer (if configured)
22
+ if mix help dialyzer &> /dev/null 2>&1; then
23
+ echo " → Running Dialyzer..."
24
+ mix dialyzer || {
25
+ echo "⚠️ Dialyzer warnings found"
26
+ }
27
+ fi
28
+
29
+ echo "✅ All Elixir pre-push checks passed!"
30
+ exit 0
31
+
@@ -0,0 +1,30 @@
1
+ #!/bin/sh
2
+ # Erlang Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Erlang pre-commit checks..."
6
+
7
+ # Format check
8
+ echo " → Format checking..."
9
+ rebar3 format --verify || {
10
+ echo "❌ Format check failed. Run: rebar3 format"
11
+ exit 1
12
+ }
13
+
14
+ # Dialyzer
15
+ echo " → Running Dialyzer..."
16
+ rebar3 dialyzer || {
17
+ echo "❌ Dialyzer failed"
18
+ exit 1
19
+ }
20
+
21
+ # Tests
22
+ echo " → Running tests..."
23
+ rebar3 eunit || {
24
+ echo "❌ Tests failed"
25
+ exit 1
26
+ }
27
+
28
+ echo "✅ All Erlang pre-commit checks passed!"
29
+ exit 0
30
+
@@ -0,0 +1,37 @@
1
+ #!/bin/sh
2
+ # Erlang Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running Erlang pre-push checks..."
6
+
7
+ # Compile
8
+ echo " → Compiling..."
9
+ rebar3 compile || {
10
+ echo "❌ Compilation failed"
11
+ exit 1
12
+ }
13
+
14
+ # Full test suite
15
+ echo " → Running EUnit tests..."
16
+ rebar3 eunit || {
17
+ echo "❌ EUnit tests failed"
18
+ exit 1
19
+ }
20
+
21
+ echo " → Running Common Test..."
22
+ rebar3 ct || {
23
+ echo "❌ Common Test failed"
24
+ exit 1
25
+ }
26
+
27
+ # Coverage (if configured)
28
+ if rebar3 help cover &> /dev/null 2>&1; then
29
+ echo " → Coverage check..."
30
+ rebar3 cover || {
31
+ echo "⚠️ Coverage check failed"
32
+ }
33
+ fi
34
+
35
+ echo "✅ All Erlang pre-push checks passed!"
36
+ exit 0
37
+
@@ -0,0 +1,40 @@
1
+ #!/bin/sh
2
+ # Go Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Go pre-commit checks..."
6
+
7
+ # Format check
8
+ echo " → Format checking..."
9
+ if [ "$(gofmt -l . | wc -l)" -gt 0 ]; then
10
+ echo "❌ Go files not formatted. Run: gofmt -w ."
11
+ gofmt -l .
12
+ exit 1
13
+ fi
14
+
15
+ # Vet
16
+ echo " → Running go vet..."
17
+ go vet ./... || {
18
+ echo "❌ go vet failed"
19
+ exit 1
20
+ }
21
+
22
+ # Lint (if golangci-lint available)
23
+ if command -v golangci-lint &> /dev/null; then
24
+ echo " → Linting..."
25
+ golangci-lint run || {
26
+ echo "❌ Linting failed"
27
+ exit 1
28
+ }
29
+ fi
30
+
31
+ # Tests
32
+ echo " → Running tests..."
33
+ go test ./... || {
34
+ echo "❌ Tests failed"
35
+ exit 1
36
+ }
37
+
38
+ echo "✅ All Go pre-commit checks passed!"
39
+ exit 0
40
+
@@ -0,0 +1,31 @@
1
+ #!/bin/sh
2
+ # Go Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running Go pre-push checks..."
6
+
7
+ # Full test suite with coverage
8
+ echo " → Running tests with coverage..."
9
+ go test -cover ./... || {
10
+ echo "❌ Tests failed"
11
+ exit 1
12
+ }
13
+
14
+ # Build
15
+ echo " → Building..."
16
+ go build ./... || {
17
+ echo "❌ Build failed"
18
+ exit 1
19
+ }
20
+
21
+ # Security check (if gosec available)
22
+ if command -v gosec &> /dev/null; then
23
+ echo " → Security scan..."
24
+ gosec ./... || {
25
+ echo "⚠️ Security issues found"
26
+ }
27
+ fi
28
+
29
+ echo "✅ All Go pre-push checks passed!"
30
+ exit 0
31
+
@@ -0,0 +1,41 @@
1
+ #!/bin/sh
2
+ # Haskell Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Haskell pre-commit checks..."
6
+
7
+ # Lint
8
+ if command -v hlint &> /dev/null; then
9
+ echo " → Linting..."
10
+ hlint . || {
11
+ echo "❌ HLint failed"
12
+ exit 1
13
+ }
14
+ fi
15
+
16
+ # Format check (if ormolu available)
17
+ if command -v ormolu &> /dev/null; then
18
+ echo " → Format checking..."
19
+ ormolu --mode check $(find . -name '*.hs') || {
20
+ echo "❌ Format check failed. Run: ormolu --mode inplace \$(find . -name '*.hs')"
21
+ exit 1
22
+ }
23
+ fi
24
+
25
+ # Tests
26
+ echo " → Running tests..."
27
+ if [ -f "stack.yaml" ]; then
28
+ stack test || {
29
+ echo "❌ Tests failed"
30
+ exit 1
31
+ }
32
+ else
33
+ cabal test || {
34
+ echo "❌ Tests failed"
35
+ exit 1
36
+ }
37
+ fi
38
+
39
+ echo "✅ All Haskell pre-commit checks passed!"
40
+ exit 0
41
+
@@ -0,0 +1,37 @@
1
+ #!/bin/sh
2
+ # Haskell Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running Haskell pre-push checks..."
6
+
7
+ # Build
8
+ echo " → Building..."
9
+ if [ -f "stack.yaml" ]; then
10
+ stack build || {
11
+ echo "❌ Build failed"
12
+ exit 1
13
+ }
14
+
15
+ # Full tests
16
+ echo " → Running full test suite..."
17
+ stack test || {
18
+ echo "❌ Tests failed"
19
+ exit 1
20
+ }
21
+ else
22
+ cabal build || {
23
+ echo "❌ Build failed"
24
+ exit 1
25
+ }
26
+
27
+ # Full tests
28
+ echo " → Running full test suite..."
29
+ cabal test || {
30
+ echo "❌ Tests failed"
31
+ exit 1
32
+ }
33
+ fi
34
+
35
+ echo "✅ All Haskell pre-push checks passed!"
36
+ exit 0
37
+
@@ -0,0 +1,34 @@
1
+ #!/bin/sh
2
+ # Java Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Java pre-commit checks..."
6
+
7
+ if [ -f "pom.xml" ]; then
8
+ echo " → Maven checks..."
9
+
10
+ # Format check
11
+ mvn spotless:check || {
12
+ echo "❌ Format check failed. Run: mvn spotless:apply"
13
+ exit 1
14
+ }
15
+
16
+ # Verify
17
+ mvn verify || {
18
+ echo "❌ Maven verify failed"
19
+ exit 1
20
+ }
21
+
22
+ elif [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]; then
23
+ echo " → Gradle checks..."
24
+
25
+ # Check
26
+ ./gradlew check || {
27
+ echo "❌ Gradle check failed"
28
+ exit 1
29
+ }
30
+ fi
31
+
32
+ echo "✅ All Java pre-commit checks passed!"
33
+ exit 0
34
+
@@ -0,0 +1,24 @@
1
+ #!/bin/sh
2
+ # Java Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running Java pre-push checks..."
6
+
7
+ if [ -f "pom.xml" ]; then
8
+ echo " → Maven clean package..."
9
+ mvn clean package || {
10
+ echo "❌ Maven package failed"
11
+ exit 1
12
+ }
13
+
14
+ elif [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]; then
15
+ echo " → Gradle clean build..."
16
+ ./gradlew clean build || {
17
+ echo "❌ Gradle build failed"
18
+ exit 1
19
+ }
20
+ fi
21
+
22
+ echo "✅ All Java pre-push checks passed!"
23
+ exit 0
24
+
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+ # Kotlin Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Kotlin pre-commit checks..."
6
+
7
+ # Lint
8
+ echo " → Linting..."
9
+ ./gradlew ktlintCheck || {
10
+ echo "❌ ktlint failed. Run: ./gradlew ktlintFormat"
11
+ exit 1
12
+ }
13
+
14
+ # Detekt
15
+ if ./gradlew tasks --all | grep -q detekt; then
16
+ echo " → Running Detekt..."
17
+ ./gradlew detekt || {
18
+ echo "❌ Detekt failed"
19
+ exit 1
20
+ }
21
+ fi
22
+
23
+ # Tests
24
+ echo " → Running tests..."
25
+ ./gradlew test || {
26
+ echo "❌ Tests failed"
27
+ exit 1
28
+ }
29
+
30
+ echo "✅ All Kotlin pre-commit checks passed!"
31
+ exit 0
32
+
@@ -0,0 +1,16 @@
1
+ #!/bin/sh
2
+ # Kotlin Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running Kotlin pre-push checks..."
6
+
7
+ # Clean build
8
+ echo " → Clean building..."
9
+ ./gradlew clean build || {
10
+ echo "❌ Build failed"
11
+ exit 1
12
+ }
13
+
14
+ echo "✅ All Kotlin pre-push checks passed!"
15
+ exit 0
16
+
@@ -0,0 +1,36 @@
1
+ #!/bin/sh
2
+ # PHP Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running PHP pre-commit checks..."
6
+
7
+ # Format & Lint
8
+ if command -v php-cs-fixer &> /dev/null; then
9
+ echo " → Format checking..."
10
+ php-cs-fixer fix --dry-run --diff || {
11
+ echo "❌ Format check failed. Run: php-cs-fixer fix"
12
+ exit 1
13
+ }
14
+ fi
15
+
16
+ # Static analysis
17
+ if command -v phpstan &> /dev/null; then
18
+ echo " → Static analysis..."
19
+ phpstan analyze || {
20
+ echo "❌ PHPStan failed"
21
+ exit 1
22
+ }
23
+ fi
24
+
25
+ # Tests
26
+ if command -v phpunit &> /dev/null; then
27
+ echo " → Running tests..."
28
+ phpunit || {
29
+ echo "❌ Tests failed"
30
+ exit 1
31
+ }
32
+ fi
33
+
34
+ echo "✅ All PHP pre-commit checks passed!"
35
+ exit 0
36
+
@@ -0,0 +1,26 @@
1
+ #!/bin/sh
2
+ # PHP Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running PHP pre-push checks..."
6
+
7
+ # Full test suite
8
+ if command -v phpunit &> /dev/null; then
9
+ echo " → Running full test suite..."
10
+ phpunit --coverage-text || {
11
+ echo "❌ Tests or coverage failed"
12
+ exit 1
13
+ }
14
+ fi
15
+
16
+ # Security check
17
+ if command -v composer &> /dev/null; then
18
+ echo " → Security audit..."
19
+ composer audit || {
20
+ echo "⚠️ Security vulnerabilities found"
21
+ }
22
+ fi
23
+
24
+ echo "✅ All PHP pre-push checks passed!"
25
+ exit 0
26
+
@@ -0,0 +1,51 @@
1
+ #!/bin/sh
2
+ # Python Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Python pre-commit checks..."
6
+
7
+ # Format check
8
+ if command -v black &> /dev/null; then
9
+ echo " → Format checking..."
10
+ black --check . || {
11
+ echo "❌ Format check failed. Run: black ."
12
+ exit 1
13
+ }
14
+ fi
15
+
16
+ # Lint
17
+ if command -v ruff &> /dev/null; then
18
+ echo " → Linting with Ruff..."
19
+ ruff check . || {
20
+ echo "❌ Ruff check failed"
21
+ exit 1
22
+ }
23
+ elif command -v flake8 &> /dev/null; then
24
+ echo " → Linting with Flake8..."
25
+ flake8 . || {
26
+ echo "❌ Flake8 check failed"
27
+ exit 1
28
+ }
29
+ fi
30
+
31
+ # Type check
32
+ if command -v mypy &> /dev/null; then
33
+ echo " → Type checking..."
34
+ mypy . || {
35
+ echo "❌ Type check failed"
36
+ exit 1
37
+ }
38
+ fi
39
+
40
+ # Tests
41
+ if command -v pytest &> /dev/null; then
42
+ echo " → Running tests..."
43
+ pytest || {
44
+ echo "❌ Tests failed"
45
+ exit 1
46
+ }
47
+ fi
48
+
49
+ echo "✅ All Python pre-commit checks passed!"
50
+ exit 0
51
+
@@ -0,0 +1,25 @@
1
+ #!/bin/sh
2
+ # Python Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running Python pre-push checks..."
6
+
7
+ # Full test suite with coverage
8
+ if command -v pytest &> /dev/null; then
9
+ echo " → Running full test suite with coverage..."
10
+ pytest --cov --cov-report=term-missing || {
11
+ echo "❌ Tests or coverage failed"
12
+ exit 1
13
+ }
14
+ fi
15
+
16
+ # Security audit
17
+ if [ -f "requirements.txt" ] && command -v pip-audit &> /dev/null; then
18
+ echo " → Security audit..."
19
+ pip-audit || {
20
+ echo "⚠️ Security vulnerabilities found"
21
+ }
22
+ fi
23
+
24
+ echo "✅ All Python pre-push checks passed!"
25
+ exit 0
@@ -0,0 +1,33 @@
1
+ #!/bin/sh
2
+ # Ruby Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Ruby pre-commit checks..."
6
+
7
+ # Lint
8
+ if command -v rubocop &> /dev/null; then
9
+ echo " → Linting..."
10
+ rubocop || {
11
+ echo "❌ RuboCop failed"
12
+ exit 1
13
+ }
14
+ fi
15
+
16
+ # Tests
17
+ if command -v rspec &> /dev/null; then
18
+ echo " → Running tests..."
19
+ bundle exec rspec || {
20
+ echo "❌ Tests failed"
21
+ exit 1
22
+ }
23
+ elif command -v rake &> /dev/null; then
24
+ echo " → Running tests..."
25
+ bundle exec rake test || {
26
+ echo "❌ Tests failed"
27
+ exit 1
28
+ }
29
+ fi
30
+
31
+ echo "✅ All Ruby pre-commit checks passed!"
32
+ exit 0
33
+
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+ # Ruby Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running Ruby pre-push checks..."
6
+
7
+ # Full test suite
8
+ if command -v rspec &> /dev/null; then
9
+ echo " → Running full test suite..."
10
+ bundle exec rspec || {
11
+ echo "❌ Tests failed"
12
+ exit 1
13
+ }
14
+ elif command -v rake &> /dev/null; then
15
+ echo " → Running tests..."
16
+ bundle exec rake test || {
17
+ echo "❌ Tests failed"
18
+ exit 1
19
+ }
20
+ fi
21
+
22
+ # Security audit
23
+ if command -v bundler-audit &> /dev/null; then
24
+ echo " → Security audit..."
25
+ bundle exec bundler-audit check --update || {
26
+ echo "⚠️ Security vulnerabilities found"
27
+ }
28
+ fi
29
+
30
+ echo "✅ All Ruby pre-push checks passed!"
31
+ exit 0
32
+
@@ -0,0 +1,30 @@
1
+ #!/bin/sh
2
+ # Rust Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Rust pre-commit checks..."
6
+
7
+ # Format check
8
+ echo " → Format checking..."
9
+ cargo fmt --all -- --check || {
10
+ echo "❌ Format check failed. Run: cargo fmt"
11
+ exit 1
12
+ }
13
+
14
+ # Clippy
15
+ echo " → Running Clippy..."
16
+ cargo clippy --all-targets --all-features -- -D warnings || {
17
+ echo "❌ Clippy failed"
18
+ exit 1
19
+ }
20
+
21
+ # Tests
22
+ echo " → Running tests..."
23
+ cargo test --all-features || {
24
+ echo "❌ Tests failed"
25
+ exit 1
26
+ }
27
+
28
+ echo "✅ All Rust pre-commit checks passed!"
29
+ exit 0
30
+
@@ -0,0 +1,30 @@
1
+ #!/bin/sh
2
+ # Rust Pre-Push Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🚀 Running Rust pre-push checks..."
6
+
7
+ # Full test suite
8
+ echo " → Running full test suite..."
9
+ cargo test --all-features || {
10
+ echo "❌ Tests failed"
11
+ exit 1
12
+ }
13
+
14
+ # Build release
15
+ echo " → Building release..."
16
+ cargo build --release || {
17
+ echo "❌ Release build failed"
18
+ exit 1
19
+ }
20
+
21
+ # Check
22
+ echo " → Running cargo check..."
23
+ cargo check --all-targets --all-features || {
24
+ echo "❌ Cargo check failed"
25
+ exit 1
26
+ }
27
+
28
+ echo "✅ All Rust pre-push checks passed!"
29
+ exit 0
30
+
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+ # Scala Pre-Commit Hook
3
+ # Generated by @hivellm/rulebook
4
+
5
+ echo "🔍 Running Scala pre-commit checks..."
6
+
7
+ # Format check
8
+ echo " → Format checking..."
9
+ sbt scalafmtCheckAll || {
10
+ echo "❌ Format check failed. Run: sbt scalafmtAll"
11
+ exit 1
12
+ }
13
+
14
+ # Lint (if scalafix configured)
15
+ if sbt tasks | grep -q scalafix; then
16
+ echo " → Linting..."
17
+ sbt "scalafix --check" || {
18
+ echo "❌ Scalafix failed"
19
+ exit 1
20
+ }
21
+ fi
22
+
23
+ # Tests
24
+ echo " → Running tests..."
25
+ sbt test || {
26
+ echo "❌ Tests failed"
27
+ exit 1
28
+ }
29
+
30
+ echo "✅ All Scala pre-commit checks passed!"
31
+ exit 0
32
+