@hivehub/rulebook 5.3.3 → 5.4.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 (492) hide show
  1. package/.claude/commands/analysis.md +35 -35
  2. package/.claude/commands/continue.md +33 -33
  3. package/.claude/commands/ralph-config.md +112 -112
  4. package/.claude/commands/ralph-history.md +110 -110
  5. package/.claude/commands/ralph-init.md +72 -72
  6. package/.claude/commands/ralph-pause-resume.md +105 -105
  7. package/.claude/commands/ralph-run.md +101 -101
  8. package/.claude/commands/ralph-status.md +76 -76
  9. package/.claude/commands/rulebook-decision-create.md +55 -55
  10. package/.claude/commands/rulebook-decision-list.md +15 -15
  11. package/.claude/commands/rulebook-knowledge-add.md +41 -41
  12. package/.claude/commands/rulebook-knowledge-list.md +15 -15
  13. package/.claude/commands/rulebook-learn-capture.md +48 -48
  14. package/.claude/commands/rulebook-learn-list.md +13 -13
  15. package/.claude/commands/rulebook-memory-save.md +48 -48
  16. package/.claude/commands/rulebook-memory-search.md +47 -47
  17. package/.claude/commands/rulebook-task-apply.md +67 -67
  18. package/.claude/commands/rulebook-task-archive.md +94 -94
  19. package/.claude/commands/rulebook-task-create.md +93 -93
  20. package/.claude/commands/rulebook-task-list.md +42 -42
  21. package/.claude/commands/rulebook-task-show.md +52 -52
  22. package/.claude/commands/rulebook-task-validate.md +53 -53
  23. package/.claude-plugin/marketplace.json +28 -28
  24. package/.claude-plugin/plugin.json +8 -8
  25. package/LICENSE +191 -191
  26. package/README.md +42 -3
  27. package/dist/cli/commands/compress.d.ts +18 -0
  28. package/dist/cli/commands/compress.d.ts.map +1 -0
  29. package/dist/cli/commands/compress.js +100 -0
  30. package/dist/cli/commands/compress.js.map +1 -0
  31. package/dist/cli/commands/index.d.ts +1 -0
  32. package/dist/cli/commands/index.d.ts.map +1 -1
  33. package/dist/cli/commands/index.js +1 -0
  34. package/dist/cli/commands/index.js.map +1 -1
  35. package/dist/cli/commands/init.d.ts.map +1 -1
  36. package/dist/cli/commands/init.js +2 -0
  37. package/dist/cli/commands/init.js.map +1 -1
  38. package/dist/cli/commands/update.d.ts.map +1 -1
  39. package/dist/cli/commands/update.js +2 -0
  40. package/dist/cli/commands/update.js.map +1 -1
  41. package/dist/core/claude-settings-manager.d.ts +7 -0
  42. package/dist/core/claude-settings-manager.d.ts.map +1 -1
  43. package/dist/core/claude-settings-manager.js +31 -14
  44. package/dist/core/claude-settings-manager.js.map +1 -1
  45. package/dist/core/compress/compressor.d.ts +60 -0
  46. package/dist/core/compress/compressor.d.ts.map +1 -0
  47. package/dist/core/compress/compressor.js +232 -0
  48. package/dist/core/compress/compressor.js.map +1 -0
  49. package/dist/core/compress/discover.d.ts +19 -0
  50. package/dist/core/compress/discover.d.ts.map +1 -0
  51. package/dist/core/compress/discover.js +100 -0
  52. package/dist/core/compress/discover.js.map +1 -0
  53. package/dist/core/compress/validator.d.ts +47 -0
  54. package/dist/core/compress/validator.d.ts.map +1 -0
  55. package/dist/core/compress/validator.js +131 -0
  56. package/dist/core/compress/validator.js.map +1 -0
  57. package/dist/core/doctor.d.ts.map +1 -1
  58. package/dist/core/doctor.js +66 -0
  59. package/dist/core/doctor.js.map +1 -1
  60. package/dist/core/generator.d.ts +16 -0
  61. package/dist/core/generator.d.ts.map +1 -1
  62. package/dist/core/generator.js +36 -11
  63. package/dist/core/generator.js.map +1 -1
  64. package/dist/hooks/safe-flag-io.d.ts +77 -0
  65. package/dist/hooks/safe-flag-io.d.ts.map +1 -0
  66. package/dist/hooks/safe-flag-io.js +169 -0
  67. package/dist/hooks/safe-flag-io.js.map +1 -0
  68. package/dist/index.js +11 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  71. package/dist/mcp/rulebook-server.js +236 -0
  72. package/dist/mcp/rulebook-server.js.map +1 -1
  73. package/dist/types.d.ts +4 -0
  74. package/dist/types.d.ts.map +1 -1
  75. package/package.json +23 -21
  76. package/templates/agents/accessibility-reviewer.md +43 -43
  77. package/templates/agents/api-designer.md +42 -42
  78. package/templates/agents/architect.md +51 -51
  79. package/templates/agents/build-engineer.md +36 -36
  80. package/templates/agents/code-reviewer.md +47 -47
  81. package/templates/agents/compiler/codegen-debugger.md +34 -34
  82. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  83. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  84. package/templates/agents/context-intelligence.md +52 -52
  85. package/templates/agents/database-architect.md +41 -41
  86. package/templates/agents/devops-engineer.md +42 -42
  87. package/templates/agents/docs-writer.md +38 -38
  88. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  89. package/templates/agents/game-engine/render-engineer.md +22 -22
  90. package/templates/agents/game-engine/shader-engineer.md +38 -38
  91. package/templates/agents/game-engine/systems-integration.md +43 -43
  92. package/templates/agents/generic/code-reviewer.md +41 -41
  93. package/templates/agents/generic/docs-writer.md +25 -25
  94. package/templates/agents/generic/project-manager.md +36 -36
  95. package/templates/agents/generic/researcher.md +34 -34
  96. package/templates/agents/generic/test-engineer.md +41 -41
  97. package/templates/agents/i18n-engineer.md +42 -42
  98. package/templates/agents/implementer.md +42 -42
  99. package/templates/agents/migration-engineer.md +42 -42
  100. package/templates/agents/mobile/platform-specialist.md +22 -22
  101. package/templates/agents/mobile/ui-engineer.md +22 -22
  102. package/templates/agents/performance-engineer.md +49 -49
  103. package/templates/agents/refactoring-agent.md +41 -41
  104. package/templates/agents/researcher.md +38 -38
  105. package/templates/agents/security-reviewer.md +40 -40
  106. package/templates/agents/team-lead.md +37 -37
  107. package/templates/agents/tester.md +48 -48
  108. package/templates/agents/ux-reviewer.md +43 -43
  109. package/templates/agents/web-app/api-designer.md +22 -22
  110. package/templates/agents/web-app/backend-engineer.md +30 -30
  111. package/templates/agents/web-app/database-engineer.md +22 -22
  112. package/templates/agents/web-app/frontend-engineer.md +29 -29
  113. package/templates/agents/web-app/security-reviewer.md +32 -32
  114. package/templates/ci/rulebook-review.yml +26 -26
  115. package/templates/cli/AIDER.md +49 -49
  116. package/templates/cli/AMAZON_Q.md +25 -25
  117. package/templates/cli/AUGGIE.md +32 -32
  118. package/templates/cli/CLAUDE.md +117 -117
  119. package/templates/cli/CLINE.md +99 -99
  120. package/templates/cli/CODEBUDDY.md +20 -20
  121. package/templates/cli/CODEIUM.md +20 -20
  122. package/templates/cli/CODEX.md +21 -21
  123. package/templates/cli/CONTINUE.md +34 -34
  124. package/templates/cli/CURSOR_CLI.md +62 -62
  125. package/templates/cli/FACTORY.md +18 -18
  126. package/templates/cli/GEMINI.md +35 -35
  127. package/templates/cli/KILOCODE.md +18 -18
  128. package/templates/cli/OPENCODE.md +18 -18
  129. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  130. package/templates/cli/gemini-extension.json +77 -77
  131. package/templates/commands/rulebook-decision-create.md +55 -55
  132. package/templates/commands/rulebook-decision-list.md +15 -15
  133. package/templates/commands/rulebook-knowledge-add.md +41 -41
  134. package/templates/commands/rulebook-knowledge-list.md +15 -15
  135. package/templates/commands/rulebook-learn-capture.md +48 -48
  136. package/templates/commands/rulebook-learn-list.md +13 -13
  137. package/templates/commands/rulebook-memory-save.md +48 -48
  138. package/templates/commands/rulebook-memory-search.md +47 -47
  139. package/templates/commands/rulebook-task-apply.md +67 -67
  140. package/templates/commands/rulebook-task-archive.md +94 -94
  141. package/templates/commands/rulebook-task-create.md +93 -93
  142. package/templates/commands/rulebook-task-list.md +42 -42
  143. package/templates/commands/rulebook-task-show.md +52 -52
  144. package/templates/commands/rulebook-task-validate.md +53 -53
  145. package/templates/compact-context/_default.md +23 -23
  146. package/templates/compact-context/cpp.md +26 -26
  147. package/templates/compact-context/go.md +26 -26
  148. package/templates/compact-context/python.md +26 -26
  149. package/templates/compact-context/rust.md +28 -28
  150. package/templates/compact-context/typescript.md +29 -29
  151. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  152. package/templates/core/AGENT_AUTOMATION.md +296 -296
  153. package/templates/core/CLAUDE_MD_v2.md +71 -71
  154. package/templates/core/DAG.md +304 -304
  155. package/templates/core/DECISIONS.md +38 -38
  156. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  157. package/templates/core/KNOWLEDGE.md +49 -49
  158. package/templates/core/MULTI_AGENT.md +74 -74
  159. package/templates/core/PLANS.md +28 -28
  160. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  161. package/templates/core/RALPH.md +471 -471
  162. package/templates/core/RULEBOOK.md +1947 -1947
  163. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  164. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  165. package/templates/core/WORKSPACE.md +69 -69
  166. package/templates/frameworks/ANGULAR.md +36 -36
  167. package/templates/frameworks/DJANGO.md +83 -83
  168. package/templates/frameworks/ELECTRON.md +147 -147
  169. package/templates/frameworks/FLASK.md +38 -38
  170. package/templates/frameworks/FLUTTER.md +55 -55
  171. package/templates/frameworks/JQUERY.md +32 -32
  172. package/templates/frameworks/LARAVEL.md +38 -38
  173. package/templates/frameworks/NESTJS.md +43 -43
  174. package/templates/frameworks/NEXTJS.md +127 -127
  175. package/templates/frameworks/NUXT.md +40 -40
  176. package/templates/frameworks/RAILS.md +66 -66
  177. package/templates/frameworks/REACT.md +38 -38
  178. package/templates/frameworks/REACT_NATIVE.md +47 -47
  179. package/templates/frameworks/SPRING.md +39 -39
  180. package/templates/frameworks/SYMFONY.md +36 -36
  181. package/templates/frameworks/VUE.md +36 -36
  182. package/templates/frameworks/ZEND.md +35 -35
  183. package/templates/git/CI_CD_PATTERNS.md +661 -661
  184. package/templates/git/GITHUB_ACTIONS.md +728 -728
  185. package/templates/git/GITLAB_CI.md +730 -730
  186. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  187. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  188. package/templates/hooks/COMMIT_MSG.md +530 -530
  189. package/templates/hooks/POST_CHECKOUT.md +546 -546
  190. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  191. package/templates/hooks/PRE_COMMIT.md +414 -414
  192. package/templates/hooks/PRE_PUSH.md +601 -601
  193. package/templates/hooks/check-context-and-handoff.ps1 +58 -58
  194. package/templates/hooks/check-context-and-handoff.sh +76 -76
  195. package/templates/hooks/enforce-team-for-background-agents.ps1 +63 -63
  196. package/templates/hooks/enforce-team-for-background-agents.sh +55 -55
  197. package/templates/hooks/on-compact-reinject.sh +34 -34
  198. package/templates/hooks/resume-from-handoff.ps1 +40 -40
  199. package/templates/hooks/resume-from-handoff.sh +61 -61
  200. package/templates/hooks/terse-activate.ps1 +143 -0
  201. package/templates/hooks/terse-activate.sh +197 -0
  202. package/templates/hooks/terse-mode-tracker.ps1 +153 -0
  203. package/templates/hooks/terse-mode-tracker.sh +187 -0
  204. package/templates/ides/CONTINUE_RULES.md +16 -16
  205. package/templates/ides/COPILOT.md +37 -37
  206. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  207. package/templates/ides/CURSOR.md +43 -43
  208. package/templates/ides/GEMINI_RULES.md +17 -17
  209. package/templates/ides/JETBRAINS_AI.md +35 -35
  210. package/templates/ides/REPLIT.md +36 -36
  211. package/templates/ides/TABNINE.md +29 -29
  212. package/templates/ides/VSCODE.md +40 -40
  213. package/templates/ides/WINDSURF.md +36 -36
  214. package/templates/ides/WINDSURF_RULES.md +14 -14
  215. package/templates/ides/ZED.md +32 -32
  216. package/templates/ides/cursor-mdc/go.mdc +24 -24
  217. package/templates/ides/cursor-mdc/python.mdc +24 -24
  218. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  219. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  220. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  221. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  222. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  223. package/templates/languages/C.md +333 -333
  224. package/templates/languages/CPP.md +743 -743
  225. package/templates/languages/CSHARP.md +417 -417
  226. package/templates/languages/ELIXIR.md +454 -454
  227. package/templates/languages/ERLANG.md +361 -361
  228. package/templates/languages/GO.md +645 -645
  229. package/templates/languages/HASKELL.md +177 -177
  230. package/templates/languages/JAVA.md +607 -607
  231. package/templates/languages/JAVASCRIPT.md +631 -631
  232. package/templates/languages/JULIA.md +97 -97
  233. package/templates/languages/KOTLIN.md +511 -511
  234. package/templates/languages/LISP.md +100 -100
  235. package/templates/languages/LUA.md +74 -74
  236. package/templates/languages/OBJECTIVEC.md +90 -90
  237. package/templates/languages/PHP.md +416 -416
  238. package/templates/languages/PYTHON.md +682 -682
  239. package/templates/languages/RUBY.md +421 -421
  240. package/templates/languages/RUST.md +477 -477
  241. package/templates/languages/SAS.md +73 -73
  242. package/templates/languages/SCALA.md +348 -348
  243. package/templates/languages/SOLIDITY.md +580 -580
  244. package/templates/languages/SQL.md +137 -137
  245. package/templates/languages/SWIFT.md +466 -466
  246. package/templates/languages/TYPESCRIPT.md +591 -591
  247. package/templates/languages/ZIG.md +265 -265
  248. package/templates/modules/ATLASSIAN.md +255 -255
  249. package/templates/modules/CONTEXT7.md +54 -54
  250. package/templates/modules/FIGMA.md +267 -267
  251. package/templates/modules/GITHUB_MCP.md +64 -64
  252. package/templates/modules/GRAFANA.md +328 -328
  253. package/templates/modules/MEMORY.md +126 -126
  254. package/templates/modules/NOTION.md +247 -247
  255. package/templates/modules/PLAYWRIGHT.md +90 -90
  256. package/templates/modules/RULEBOOK_MCP.md +208 -156
  257. package/templates/modules/SERENA.md +337 -337
  258. package/templates/modules/SUPABASE.md +223 -223
  259. package/templates/modules/SYNAP.md +69 -69
  260. package/templates/modules/VECTORIZER.md +63 -63
  261. package/templates/modules/sequential-thinking.md +42 -42
  262. package/templates/ralph/ralph-history.bat +4 -4
  263. package/templates/ralph/ralph-history.sh +5 -5
  264. package/templates/ralph/ralph-init.bat +5 -5
  265. package/templates/ralph/ralph-init.sh +5 -5
  266. package/templates/ralph/ralph-pause.bat +5 -5
  267. package/templates/ralph/ralph-pause.sh +5 -5
  268. package/templates/ralph/ralph-run.bat +5 -5
  269. package/templates/ralph/ralph-run.sh +5 -5
  270. package/templates/ralph/ralph-status.bat +4 -4
  271. package/templates/ralph/ralph-status.sh +5 -5
  272. package/templates/rules/consult-analysis-before-implementing.md +23 -23
  273. package/templates/rules/cpp.md +46 -46
  274. package/templates/rules/csharp.md +44 -44
  275. package/templates/rules/diagnostic-first.md +39 -39
  276. package/templates/rules/fail-twice-escalate.md +46 -46
  277. package/templates/rules/follow-task-sequence.md +36 -36
  278. package/templates/rules/git-safety.md +29 -29
  279. package/templates/rules/go.md +40 -40
  280. package/templates/rules/incremental-implementation.md +56 -56
  281. package/templates/rules/incremental-tests.md +29 -29
  282. package/templates/rules/java.md +43 -43
  283. package/templates/rules/javascript.md +39 -39
  284. package/templates/rules/knowledge-base-usage.md +41 -41
  285. package/templates/rules/multi-agent-teams.md +75 -75
  286. package/templates/rules/no-deferred.md +31 -31
  287. package/templates/rules/no-shortcuts.md +30 -30
  288. package/templates/rules/python.md +43 -43
  289. package/templates/rules/research-first.md +30 -30
  290. package/templates/rules/respect-handoff-trigger.md +41 -41
  291. package/templates/rules/rust.md +40 -40
  292. package/templates/rules/sequential-editing.md +21 -21
  293. package/templates/rules/session-workflow.md +24 -24
  294. package/templates/rules/task-decomposition.md +32 -32
  295. package/templates/rules/typescript.md +40 -40
  296. package/templates/services/AZURE_BLOB.md +184 -184
  297. package/templates/services/CASSANDRA.md +239 -239
  298. package/templates/services/DATADOG.md +26 -26
  299. package/templates/services/DOCKER.md +124 -124
  300. package/templates/services/DOCKER_COMPOSE.md +168 -168
  301. package/templates/services/DYNAMODB.md +308 -308
  302. package/templates/services/ELASTICSEARCH.md +347 -347
  303. package/templates/services/GCS.md +178 -178
  304. package/templates/services/HELM.md +194 -194
  305. package/templates/services/INFLUXDB.md +265 -265
  306. package/templates/services/KAFKA.md +341 -341
  307. package/templates/services/KUBERNETES.md +208 -208
  308. package/templates/services/MARIADB.md +183 -183
  309. package/templates/services/MEMCACHED.md +242 -242
  310. package/templates/services/MINIO.md +201 -201
  311. package/templates/services/MONGODB.md +268 -268
  312. package/templates/services/MYSQL.md +358 -358
  313. package/templates/services/NEO4J.md +247 -247
  314. package/templates/services/OPENTELEMETRY.md +25 -25
  315. package/templates/services/ORACLE.md +290 -290
  316. package/templates/services/PINO.md +24 -24
  317. package/templates/services/POSTGRESQL.md +326 -326
  318. package/templates/services/PROMETHEUS.md +33 -33
  319. package/templates/services/RABBITMQ.md +286 -286
  320. package/templates/services/REDIS.md +292 -292
  321. package/templates/services/S3.md +298 -298
  322. package/templates/services/SENTRY.md +23 -23
  323. package/templates/services/SQLITE.md +294 -294
  324. package/templates/services/SQLSERVER.md +294 -294
  325. package/templates/services/WINSTON.md +30 -30
  326. package/templates/skills/cli/aider/SKILL.md +59 -59
  327. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  328. package/templates/skills/cli/auggie/SKILL.md +42 -42
  329. package/templates/skills/cli/claude/SKILL.md +42 -42
  330. package/templates/skills/cli/cline/SKILL.md +42 -42
  331. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  332. package/templates/skills/cli/codeium/SKILL.md +30 -30
  333. package/templates/skills/cli/codex/SKILL.md +31 -31
  334. package/templates/skills/cli/continue/SKILL.md +44 -44
  335. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  336. package/templates/skills/cli/factory/SKILL.md +28 -28
  337. package/templates/skills/cli/gemini/SKILL.md +45 -45
  338. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  339. package/templates/skills/cli/opencode/SKILL.md +28 -28
  340. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  341. package/templates/skills/core/dag/SKILL.md +314 -314
  342. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  343. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  344. package/templates/skills/core/rulebook/SKILL.md +176 -176
  345. package/templates/skills/core/rulebook-terse/SKILL.md +116 -0
  346. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -0
  347. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -0
  348. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  349. package/templates/skills/dev/analysis/SKILL.md +19 -19
  350. package/templates/skills/dev/api-design/SKILL.md +15 -15
  351. package/templates/skills/dev/architect/SKILL.md +17 -17
  352. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  353. package/templates/skills/dev/db-design/SKILL.md +15 -15
  354. package/templates/skills/dev/debug/SKILL.md +16 -16
  355. package/templates/skills/dev/deploy/SKILL.md +17 -17
  356. package/templates/skills/dev/docs/SKILL.md +17 -17
  357. package/templates/skills/dev/handoff/SKILL.md +27 -27
  358. package/templates/skills/dev/migrate/SKILL.md +15 -15
  359. package/templates/skills/dev/perf/SKILL.md +17 -17
  360. package/templates/skills/dev/refactor/SKILL.md +17 -17
  361. package/templates/skills/dev/research/SKILL.md +14 -14
  362. package/templates/skills/dev/review/SKILL.md +18 -18
  363. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  364. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  365. package/templates/skills/frameworks/django/SKILL.md +93 -93
  366. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  367. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  368. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  369. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  370. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  371. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  372. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  373. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  374. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  375. package/templates/skills/frameworks/react/SKILL.md +48 -48
  376. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  377. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  378. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  379. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  380. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  381. package/templates/skills/ides/copilot/SKILL.md +47 -47
  382. package/templates/skills/ides/cursor/SKILL.md +53 -53
  383. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  384. package/templates/skills/ides/replit/SKILL.md +46 -46
  385. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  386. package/templates/skills/ides/vscode/SKILL.md +50 -50
  387. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  388. package/templates/skills/ides/zed/SKILL.md +42 -42
  389. package/templates/skills/languages/c/SKILL.md +343 -343
  390. package/templates/skills/languages/cpp/SKILL.md +753 -753
  391. package/templates/skills/languages/csharp/SKILL.md +427 -427
  392. package/templates/skills/languages/elixir/SKILL.md +464 -464
  393. package/templates/skills/languages/erlang/SKILL.md +371 -371
  394. package/templates/skills/languages/go/SKILL.md +655 -655
  395. package/templates/skills/languages/haskell/SKILL.md +187 -187
  396. package/templates/skills/languages/java/SKILL.md +617 -617
  397. package/templates/skills/languages/javascript/SKILL.md +641 -641
  398. package/templates/skills/languages/julia/SKILL.md +107 -107
  399. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  400. package/templates/skills/languages/lisp/SKILL.md +110 -110
  401. package/templates/skills/languages/lua/SKILL.md +84 -84
  402. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  403. package/templates/skills/languages/php/SKILL.md +426 -426
  404. package/templates/skills/languages/python/SKILL.md +692 -692
  405. package/templates/skills/languages/ruby/SKILL.md +431 -431
  406. package/templates/skills/languages/rust/SKILL.md +487 -487
  407. package/templates/skills/languages/sas/SKILL.md +83 -83
  408. package/templates/skills/languages/scala/SKILL.md +358 -358
  409. package/templates/skills/languages/solidity/SKILL.md +590 -590
  410. package/templates/skills/languages/sql/SKILL.md +147 -147
  411. package/templates/skills/languages/swift/SKILL.md +476 -476
  412. package/templates/skills/languages/typescript/SKILL.md +302 -302
  413. package/templates/skills/languages/zig/SKILL.md +275 -275
  414. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  415. package/templates/skills/modules/context7/SKILL.md +64 -64
  416. package/templates/skills/modules/figma/SKILL.md +277 -277
  417. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  418. package/templates/skills/modules/grafana/SKILL.md +338 -338
  419. package/templates/skills/modules/memory/SKILL.md +73 -73
  420. package/templates/skills/modules/notion/SKILL.md +257 -257
  421. package/templates/skills/modules/playwright/SKILL.md +100 -100
  422. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  423. package/templates/skills/modules/serena/SKILL.md +347 -347
  424. package/templates/skills/modules/supabase/SKILL.md +233 -233
  425. package/templates/skills/modules/synap/SKILL.md +79 -79
  426. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  427. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  428. package/templates/skills/services/cassandra/SKILL.md +249 -249
  429. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  430. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  431. package/templates/skills/services/gcs/SKILL.md +188 -188
  432. package/templates/skills/services/influxdb/SKILL.md +275 -275
  433. package/templates/skills/services/kafka/SKILL.md +351 -351
  434. package/templates/skills/services/mariadb/SKILL.md +193 -193
  435. package/templates/skills/services/memcached/SKILL.md +252 -252
  436. package/templates/skills/services/minio/SKILL.md +211 -211
  437. package/templates/skills/services/mongodb/SKILL.md +278 -278
  438. package/templates/skills/services/mysql/SKILL.md +368 -368
  439. package/templates/skills/services/neo4j/SKILL.md +257 -257
  440. package/templates/skills/services/oracle/SKILL.md +300 -300
  441. package/templates/skills/services/postgresql/SKILL.md +336 -336
  442. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  443. package/templates/skills/services/redis/SKILL.md +302 -302
  444. package/templates/skills/services/s3/SKILL.md +308 -308
  445. package/templates/skills/services/sqlite/SKILL.md +304 -304
  446. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  447. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  448. package/templates/skills/workflows/ralph/install.sh +87 -87
  449. package/templates/skills/workflows/ralph/manifest.json +158 -158
  450. package/templates/workflows/codespell.yml +31 -31
  451. package/templates/workflows/cpp-lint.yml +47 -47
  452. package/templates/workflows/cpp-publish.yml +119 -119
  453. package/templates/workflows/cpp-test.yml +77 -77
  454. package/templates/workflows/dotnet-lint.yml +29 -29
  455. package/templates/workflows/dotnet-publish.yml +40 -40
  456. package/templates/workflows/dotnet-test.yml +41 -41
  457. package/templates/workflows/elixir-lint.yml +45 -45
  458. package/templates/workflows/elixir-publish.yml +49 -49
  459. package/templates/workflows/elixir-test.yml +54 -54
  460. package/templates/workflows/erlang-lint.yml +47 -47
  461. package/templates/workflows/erlang-test.yml +62 -62
  462. package/templates/workflows/go-lint.yml +39 -39
  463. package/templates/workflows/go-publish.yml +95 -95
  464. package/templates/workflows/go-test.yml +59 -59
  465. package/templates/workflows/java-lint.yml +60 -60
  466. package/templates/workflows/java-publish.yml +120 -120
  467. package/templates/workflows/java-test.yml +85 -85
  468. package/templates/workflows/kotlin-lint.yml +34 -34
  469. package/templates/workflows/kotlin-publish.yml +56 -56
  470. package/templates/workflows/kotlin-test.yml +48 -48
  471. package/templates/workflows/php-lint.yml +39 -39
  472. package/templates/workflows/php-publish.yml +50 -50
  473. package/templates/workflows/php-test.yml +54 -54
  474. package/templates/workflows/python-lint.yml +47 -47
  475. package/templates/workflows/python-publish.yml +91 -91
  476. package/templates/workflows/python-test.yml +59 -59
  477. package/templates/workflows/rust-lint.yml +54 -54
  478. package/templates/workflows/rust-publish.yml +66 -66
  479. package/templates/workflows/rust-test.yml +75 -75
  480. package/templates/workflows/solidity-lint.yml +41 -41
  481. package/templates/workflows/solidity-test.yml +47 -47
  482. package/templates/workflows/swift-lint.yml +32 -32
  483. package/templates/workflows/swift-publish.yml +58 -58
  484. package/templates/workflows/swift-test.yml +44 -44
  485. package/templates/workflows/typescript-publish.yml +60 -60
  486. package/templates/workflows/typescript-test.yml +73 -73
  487. package/templates/workflows/zig-lint.yml +27 -27
  488. package/templates/workflows/zig-test.yml +40 -40
  489. package/dist/cli/commands.d.ts +0 -225
  490. package/dist/cli/commands.d.ts.map +0 -1
  491. package/dist/cli/commands.js +0 -3984
  492. package/dist/cli/commands.js.map +0 -1
@@ -1,302 +1,302 @@
1
- ---
2
- name: "TypeScript"
3
- description: "TypeScript language rules with strict mode, testing, linting, and CI/CD best practices"
4
- version: "1.0.0"
5
- category: "languages"
6
- author: "Rulebook"
7
- tags: ["typescript", "javascript", "node", "strict", "testing", "vitest", "eslint"]
8
- dependencies: []
9
- conflicts: []
10
- ---
11
-
12
- # TypeScript Project Rules
13
-
14
- ## Agent Automation Commands
15
-
16
- **CRITICAL**: Execute these commands after EVERY implementation (see AGENT_AUTOMATION module for full workflow).
17
-
18
- ```bash
19
- # Complete quality check sequence:
20
- npm run type-check # Type checking
21
- npm run lint # Linting (0 warnings required)
22
- npm run format # Code formatting
23
- npm test # All tests (100% pass required)
24
- npm run test:coverage # Coverage check (95%+ required)
25
- npm run build # Build verification
26
-
27
- # Security audit:
28
- npm audit --production # Vulnerability scan
29
- npm outdated # Check outdated deps (informational)
30
- ```
31
-
32
- ## TypeScript Configuration
33
-
34
- **CRITICAL**: Use TypeScript 5.3+ with strict mode enabled.
35
-
36
- - **Version**: TypeScript 5.3+
37
- - **Mode**: Strict mode enabled
38
- - **Target**: ES2022 or later
39
- - **Module**: ESNext with Node16 module resolution
40
-
41
- ### tsconfig.json Requirements
42
-
43
- ```json
44
- {
45
- "compilerOptions": {
46
- "target": "ES2022",
47
- "module": "ESNext",
48
- "moduleResolution": "node",
49
- "strict": true,
50
- "esModuleInterop": true,
51
- "skipLibCheck": true,
52
- "forceConsistentCasingInFileNames": true,
53
- "resolveJsonModule": true,
54
- "declaration": true,
55
- "declarationMap": true,
56
- "sourceMap": true,
57
- "noUnusedLocals": true,
58
- "noUnusedParameters": true,
59
- "noImplicitReturns": true,
60
- "noFallthroughCasesInSwitch": true
61
- }
62
- }
63
- ```
64
-
65
- ## Code Quality Standards
66
-
67
- ### Mandatory Quality Checks
68
-
69
- **CRITICAL**: After implementing ANY feature, you MUST run these commands in order.
70
-
71
- **IMPORTANT**: These commands MUST match your GitHub Actions workflows to prevent CI/CD failures!
72
-
73
- ```bash
74
- # Pre-Commit Checklist (MUST match .github/workflows/*.yml)
75
-
76
- # 1. Type check (matches workflow)
77
- npm run type-check # or: tsc --noEmit
78
-
79
- # 2. Lint (MUST pass with no warnings - matches workflow)
80
- npm run lint
81
-
82
- # 3. Format check (matches workflow - use same command as CI)
83
- npx prettier --check 'src/**/*.ts' 'tests/**/*.ts'
84
-
85
- # 4. Run all tests (MUST pass 100% - matches workflow)
86
- npm test
87
-
88
- # 5. Build (MUST succeed - matches workflow)
89
- npm run build
90
-
91
- # 6. Check coverage (MUST meet threshold)
92
- npm run test:coverage
93
- ```
94
-
95
- **If ANY of these fail, you MUST fix the issues before committing.**
96
-
97
- ### Linting
98
-
99
- - Use ESLint with TypeScript plugin
100
- - Configuration in `eslint.config.js` or `.eslintrc.json`
101
- - Must pass with no warnings: `eslint src/**/*.ts`
102
- - Fix automatically when possible: `eslint src/**/*.ts --fix`
103
-
104
- Example ESLint config:
105
- ```json
106
- {
107
- "extends": [
108
- "eslint:recommended",
109
- "plugin:@typescript-eslint/recommended"
110
- ],
111
- "parser": "@typescript-eslint/parser",
112
- "plugins": ["@typescript-eslint"],
113
- "rules": {
114
- "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
115
- "@typescript-eslint/explicit-function-return-type": "warn",
116
- "@typescript-eslint/no-explicit-any": "warn"
117
- }
118
- }
119
- ```
120
-
121
- ### Formatting
122
-
123
- - Use Prettier for code formatting
124
- - Configuration in `.prettierrc.json`
125
- - Integrate with ESLint for consistency
126
- - Format before committing: `prettier --write "src/**/*.ts"`
127
-
128
- Example Prettier config:
129
- ```json
130
- {
131
- "semi": true,
132
- "trailingComma": "es5",
133
- "singleQuote": true,
134
- "printWidth": 100,
135
- "tabWidth": 2
136
- }
137
- ```
138
-
139
- ### Testing
140
-
141
- - **Framework**: Vitest (recommended) or Jest
142
- - **Location**: `/tests` directory or co-located `*.test.ts` files
143
- - **Coverage**: Must meet project threshold (default 95%)
144
- - **Watch Mode**: Use `vitest` or `vitest --watch` for development
145
- - **CI Mode**: **CRITICAL** - Default `npm test` command MUST include `--run` flag
146
- - This prevents Vitest from entering watch mode, which never terminates
147
- - In `package.json`: `"test": "vitest --run"`
148
- - In CI workflows: use `npm test` (do NOT add `--run` argument)
149
- - For manual development, use `npm run test:watch`
150
-
151
- Example test structure:
152
- ```typescript
153
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
154
- import { myFunction } from './my-module';
155
-
156
- describe('myFunction', () => {
157
- beforeEach(() => {
158
- // Setup
159
- });
160
-
161
- afterEach(() => {
162
- // Cleanup
163
- });
164
-
165
- it('should handle valid input', () => {
166
- const result = myFunction('input');
167
- expect(result).toBe('expected');
168
- });
169
-
170
- it('should throw on invalid input', () => {
171
- expect(() => myFunction('')).toThrow('Invalid input');
172
- });
173
- });
174
- ```
175
-
176
- ## Package Management
177
-
178
- **CRITICAL**: Use consistent package manager across team.
179
-
180
- - **Default**: npm (most compatible, built-in)
181
- - **Alternative**: pnpm (fast, disk-efficient) or yarn
182
- - **Lockfile**: Always commit lockfile (`package-lock.json`, `pnpm-lock.yaml`, or `yarn.lock`)
183
- - **Workspaces**: Use for monorepos
184
- - **CI/CD**: Update GitHub Actions workflows to match your package manager
185
-
186
- ### Dependencies
187
-
188
- 1. **Check for latest versions**:
189
- - Use Context7 MCP tool if available
190
- - Check npm registry: `npm view <package> versions`
191
- - Review changelog for breaking changes
192
-
193
- 2. **Dependency Guidelines**:
194
- - Use exact versions for applications (`"1.2.3"`)
195
- - Use semver for libraries (`"^1.2.3"`)
196
- - Keep dependencies updated regularly
197
- - Use `npm audit` or `pnpm audit` for security
198
- - Don't use deprecated packages
199
- - Don't add unnecessary dependencies
200
-
201
- ## Type Safety
202
-
203
- - **No `any`**: Avoid `any` type - use `unknown` and type guards
204
- - **Strict null checks**: Handle null/undefined explicitly
205
- - **Type assertions**: Minimize use of `as` - prefer type guards
206
- - **Generics**: Use for reusable type-safe code
207
-
208
- Example type-safe code:
209
- ```typescript
210
- // Good: Type guard
211
- function isString(value: unknown): value is string {
212
- return typeof value === 'string';
213
- }
214
-
215
- function process(input: unknown): string {
216
- if (isString(input)) {
217
- return input.toUpperCase();
218
- }
219
- throw new Error('Invalid input');
220
- }
221
-
222
- // Bad: Type assertion
223
- function processUnsafe(input: unknown): string {
224
- return (input as string).toUpperCase(); // Runtime error if not string
225
- }
226
- ```
227
-
228
- ## Error Handling
229
-
230
- - Create custom error classes
231
- - Use type guards for error checking
232
- - Document errors in JSDoc/TSDoc
233
- - Never swallow errors silently
234
-
235
- Example:
236
- ```typescript
237
- export class ValidationError extends Error {
238
- constructor(
239
- message: string,
240
- public readonly field: string
241
- ) {
242
- super(message);
243
- this.name = 'ValidationError';
244
- }
245
- }
246
-
247
- export function validate(data: unknown): Data {
248
- if (!isValidData(data)) {
249
- throw new ValidationError('Invalid data structure', 'data');
250
- }
251
- return data;
252
- }
253
- ```
254
-
255
- ## Project Structure
256
-
257
- ```
258
- project/
259
- ├── package.json # Package manifest
260
- ├── tsconfig.json # TypeScript config
261
- ├── vitest.config.ts # Test config
262
- ├── README.md # Project overview
263
- ├── CHANGELOG.md # Version history
264
- ├── AGENTS.md # AI assistant rules
265
- ├── src/
266
- │ ├── index.ts # Main entry point
267
- │ ├── types.ts # Type definitions
268
- │ └── ...
269
- ├── tests/ # Test files
270
- ├── dist/ # Compiled output (gitignored)
271
- └── docs/ # Project documentation
272
- ```
273
-
274
- ## Module System
275
-
276
- - Use ES modules (`import`/`export`)
277
- - Set `"type": "module"` in `package.json`
278
- - Use `.js` extensions in imports for Node.js compatibility
279
- - Configure `moduleResolution: "node"` in tsconfig.json
280
-
281
- Example:
282
- ```typescript
283
- // Good: ES modules with .js extension
284
- import { myFunction } from './my-module.js';
285
-
286
- export { myFunction };
287
- export default class MyClass {}
288
- ```
289
-
290
- ## CI/CD Requirements
291
-
292
- **CRITICAL**: GitHub Actions `cache: 'npm'` requires `package-lock.json` to be committed.
293
-
294
- - **Lockfile Requirement**: Remove `package-lock.json` from `.gitignore`
295
- - **Cache Strategy**: Use `cache: 'npm'` in `setup-node` action
296
- - **Install Command**: Use `npm ci` (not `npm install`) for reproducible builds
297
-
298
- Must include GitHub Actions workflows for:
299
-
300
- 1. **Testing** (`typescript-test.yml`)
301
- 2. **Linting** (`typescript-lint.yml`)
302
- 3. **Build** (`typescript-build.yml`)
1
+ ---
2
+ name: "TypeScript"
3
+ description: "TypeScript language rules with strict mode, testing, linting, and CI/CD best practices"
4
+ version: "1.0.0"
5
+ category: "languages"
6
+ author: "Rulebook"
7
+ tags: ["typescript", "javascript", "node", "strict", "testing", "vitest", "eslint"]
8
+ dependencies: []
9
+ conflicts: []
10
+ ---
11
+
12
+ # TypeScript Project Rules
13
+
14
+ ## Agent Automation Commands
15
+
16
+ **CRITICAL**: Execute these commands after EVERY implementation (see AGENT_AUTOMATION module for full workflow).
17
+
18
+ ```bash
19
+ # Complete quality check sequence:
20
+ npm run type-check # Type checking
21
+ npm run lint # Linting (0 warnings required)
22
+ npm run format # Code formatting
23
+ npm test # All tests (100% pass required)
24
+ npm run test:coverage # Coverage check (95%+ required)
25
+ npm run build # Build verification
26
+
27
+ # Security audit:
28
+ npm audit --production # Vulnerability scan
29
+ npm outdated # Check outdated deps (informational)
30
+ ```
31
+
32
+ ## TypeScript Configuration
33
+
34
+ **CRITICAL**: Use TypeScript 5.3+ with strict mode enabled.
35
+
36
+ - **Version**: TypeScript 5.3+
37
+ - **Mode**: Strict mode enabled
38
+ - **Target**: ES2022 or later
39
+ - **Module**: ESNext with Node16 module resolution
40
+
41
+ ### tsconfig.json Requirements
42
+
43
+ ```json
44
+ {
45
+ "compilerOptions": {
46
+ "target": "ES2022",
47
+ "module": "ESNext",
48
+ "moduleResolution": "node",
49
+ "strict": true,
50
+ "esModuleInterop": true,
51
+ "skipLibCheck": true,
52
+ "forceConsistentCasingInFileNames": true,
53
+ "resolveJsonModule": true,
54
+ "declaration": true,
55
+ "declarationMap": true,
56
+ "sourceMap": true,
57
+ "noUnusedLocals": true,
58
+ "noUnusedParameters": true,
59
+ "noImplicitReturns": true,
60
+ "noFallthroughCasesInSwitch": true
61
+ }
62
+ }
63
+ ```
64
+
65
+ ## Code Quality Standards
66
+
67
+ ### Mandatory Quality Checks
68
+
69
+ **CRITICAL**: After implementing ANY feature, you MUST run these commands in order.
70
+
71
+ **IMPORTANT**: These commands MUST match your GitHub Actions workflows to prevent CI/CD failures!
72
+
73
+ ```bash
74
+ # Pre-Commit Checklist (MUST match .github/workflows/*.yml)
75
+
76
+ # 1. Type check (matches workflow)
77
+ npm run type-check # or: tsc --noEmit
78
+
79
+ # 2. Lint (MUST pass with no warnings - matches workflow)
80
+ npm run lint
81
+
82
+ # 3. Format check (matches workflow - use same command as CI)
83
+ npx prettier --check 'src/**/*.ts' 'tests/**/*.ts'
84
+
85
+ # 4. Run all tests (MUST pass 100% - matches workflow)
86
+ npm test
87
+
88
+ # 5. Build (MUST succeed - matches workflow)
89
+ npm run build
90
+
91
+ # 6. Check coverage (MUST meet threshold)
92
+ npm run test:coverage
93
+ ```
94
+
95
+ **If ANY of these fail, you MUST fix the issues before committing.**
96
+
97
+ ### Linting
98
+
99
+ - Use ESLint with TypeScript plugin
100
+ - Configuration in `eslint.config.js` or `.eslintrc.json`
101
+ - Must pass with no warnings: `eslint src/**/*.ts`
102
+ - Fix automatically when possible: `eslint src/**/*.ts --fix`
103
+
104
+ Example ESLint config:
105
+ ```json
106
+ {
107
+ "extends": [
108
+ "eslint:recommended",
109
+ "plugin:@typescript-eslint/recommended"
110
+ ],
111
+ "parser": "@typescript-eslint/parser",
112
+ "plugins": ["@typescript-eslint"],
113
+ "rules": {
114
+ "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
115
+ "@typescript-eslint/explicit-function-return-type": "warn",
116
+ "@typescript-eslint/no-explicit-any": "warn"
117
+ }
118
+ }
119
+ ```
120
+
121
+ ### Formatting
122
+
123
+ - Use Prettier for code formatting
124
+ - Configuration in `.prettierrc.json`
125
+ - Integrate with ESLint for consistency
126
+ - Format before committing: `prettier --write "src/**/*.ts"`
127
+
128
+ Example Prettier config:
129
+ ```json
130
+ {
131
+ "semi": true,
132
+ "trailingComma": "es5",
133
+ "singleQuote": true,
134
+ "printWidth": 100,
135
+ "tabWidth": 2
136
+ }
137
+ ```
138
+
139
+ ### Testing
140
+
141
+ - **Framework**: Vitest (recommended) or Jest
142
+ - **Location**: `/tests` directory or co-located `*.test.ts` files
143
+ - **Coverage**: Must meet project threshold (default 95%)
144
+ - **Watch Mode**: Use `vitest` or `vitest --watch` for development
145
+ - **CI Mode**: **CRITICAL** - Default `npm test` command MUST include `--run` flag
146
+ - This prevents Vitest from entering watch mode, which never terminates
147
+ - In `package.json`: `"test": "vitest --run"`
148
+ - In CI workflows: use `npm test` (do NOT add `--run` argument)
149
+ - For manual development, use `npm run test:watch`
150
+
151
+ Example test structure:
152
+ ```typescript
153
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
154
+ import { myFunction } from './my-module';
155
+
156
+ describe('myFunction', () => {
157
+ beforeEach(() => {
158
+ // Setup
159
+ });
160
+
161
+ afterEach(() => {
162
+ // Cleanup
163
+ });
164
+
165
+ it('should handle valid input', () => {
166
+ const result = myFunction('input');
167
+ expect(result).toBe('expected');
168
+ });
169
+
170
+ it('should throw on invalid input', () => {
171
+ expect(() => myFunction('')).toThrow('Invalid input');
172
+ });
173
+ });
174
+ ```
175
+
176
+ ## Package Management
177
+
178
+ **CRITICAL**: Use consistent package manager across team.
179
+
180
+ - **Default**: npm (most compatible, built-in)
181
+ - **Alternative**: pnpm (fast, disk-efficient) or yarn
182
+ - **Lockfile**: Always commit lockfile (`package-lock.json`, `pnpm-lock.yaml`, or `yarn.lock`)
183
+ - **Workspaces**: Use for monorepos
184
+ - **CI/CD**: Update GitHub Actions workflows to match your package manager
185
+
186
+ ### Dependencies
187
+
188
+ 1. **Check for latest versions**:
189
+ - Use Context7 MCP tool if available
190
+ - Check npm registry: `npm view <package> versions`
191
+ - Review changelog for breaking changes
192
+
193
+ 2. **Dependency Guidelines**:
194
+ - Use exact versions for applications (`"1.2.3"`)
195
+ - Use semver for libraries (`"^1.2.3"`)
196
+ - Keep dependencies updated regularly
197
+ - Use `npm audit` or `pnpm audit` for security
198
+ - Don't use deprecated packages
199
+ - Don't add unnecessary dependencies
200
+
201
+ ## Type Safety
202
+
203
+ - **No `any`**: Avoid `any` type - use `unknown` and type guards
204
+ - **Strict null checks**: Handle null/undefined explicitly
205
+ - **Type assertions**: Minimize use of `as` - prefer type guards
206
+ - **Generics**: Use for reusable type-safe code
207
+
208
+ Example type-safe code:
209
+ ```typescript
210
+ // Good: Type guard
211
+ function isString(value: unknown): value is string {
212
+ return typeof value === 'string';
213
+ }
214
+
215
+ function process(input: unknown): string {
216
+ if (isString(input)) {
217
+ return input.toUpperCase();
218
+ }
219
+ throw new Error('Invalid input');
220
+ }
221
+
222
+ // Bad: Type assertion
223
+ function processUnsafe(input: unknown): string {
224
+ return (input as string).toUpperCase(); // Runtime error if not string
225
+ }
226
+ ```
227
+
228
+ ## Error Handling
229
+
230
+ - Create custom error classes
231
+ - Use type guards for error checking
232
+ - Document errors in JSDoc/TSDoc
233
+ - Never swallow errors silently
234
+
235
+ Example:
236
+ ```typescript
237
+ export class ValidationError extends Error {
238
+ constructor(
239
+ message: string,
240
+ public readonly field: string
241
+ ) {
242
+ super(message);
243
+ this.name = 'ValidationError';
244
+ }
245
+ }
246
+
247
+ export function validate(data: unknown): Data {
248
+ if (!isValidData(data)) {
249
+ throw new ValidationError('Invalid data structure', 'data');
250
+ }
251
+ return data;
252
+ }
253
+ ```
254
+
255
+ ## Project Structure
256
+
257
+ ```
258
+ project/
259
+ ├── package.json # Package manifest
260
+ ├── tsconfig.json # TypeScript config
261
+ ├── vitest.config.ts # Test config
262
+ ├── README.md # Project overview
263
+ ├── CHANGELOG.md # Version history
264
+ ├── AGENTS.md # AI assistant rules
265
+ ├── src/
266
+ │ ├── index.ts # Main entry point
267
+ │ ├── types.ts # Type definitions
268
+ │ └── ...
269
+ ├── tests/ # Test files
270
+ ├── dist/ # Compiled output (gitignored)
271
+ └── docs/ # Project documentation
272
+ ```
273
+
274
+ ## Module System
275
+
276
+ - Use ES modules (`import`/`export`)
277
+ - Set `"type": "module"` in `package.json`
278
+ - Use `.js` extensions in imports for Node.js compatibility
279
+ - Configure `moduleResolution: "node"` in tsconfig.json
280
+
281
+ Example:
282
+ ```typescript
283
+ // Good: ES modules with .js extension
284
+ import { myFunction } from './my-module.js';
285
+
286
+ export { myFunction };
287
+ export default class MyClass {}
288
+ ```
289
+
290
+ ## CI/CD Requirements
291
+
292
+ **CRITICAL**: GitHub Actions `cache: 'npm'` requires `package-lock.json` to be committed.
293
+
294
+ - **Lockfile Requirement**: Remove `package-lock.json` from `.gitignore`
295
+ - **Cache Strategy**: Use `cache: 'npm'` in `setup-node` action
296
+ - **Install Command**: Use `npm ci` (not `npm install`) for reproducible builds
297
+
298
+ Must include GitHub Actions workflows for:
299
+
300
+ 1. **Testing** (`typescript-test.yml`)
301
+ 2. **Linting** (`typescript-lint.yml`)
302
+ 3. **Build** (`typescript-build.yml`)