@hivehub/rulebook 4.2.2 → 4.3.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 (340) hide show
  1. package/.claude/commands/continue.md +33 -33
  2. package/.claude/commands/ralph-config.md +112 -112
  3. package/.claude/commands/ralph-history.md +110 -110
  4. package/.claude/commands/ralph-init.md +72 -72
  5. package/.claude/commands/ralph-pause-resume.md +105 -105
  6. package/.claude/commands/ralph-run.md +101 -101
  7. package/.claude/commands/ralph-status.md +76 -76
  8. package/.claude/commands/rulebook-memory-save.md +48 -48
  9. package/.claude/commands/rulebook-memory-search.md +47 -47
  10. package/.claude/commands/rulebook-task-apply.md +67 -67
  11. package/.claude/commands/rulebook-task-archive.md +70 -70
  12. package/.claude/commands/rulebook-task-create.md +93 -93
  13. package/.claude/commands/rulebook-task-list.md +42 -42
  14. package/.claude/commands/rulebook-task-show.md +52 -52
  15. package/.claude/commands/rulebook-task-validate.md +53 -53
  16. package/.claude-plugin/marketplace.json +28 -28
  17. package/.claude-plugin/plugin.json +8 -8
  18. package/README.md +15 -1
  19. package/dist/cli/commands.d.ts.map +1 -1
  20. package/dist/cli/commands.js +43 -18
  21. package/dist/cli/commands.js.map +1 -1
  22. package/dist/core/claude-mcp.d.ts +10 -2
  23. package/dist/core/claude-mcp.d.ts.map +1 -1
  24. package/dist/core/claude-mcp.js +48 -9
  25. package/dist/core/claude-mcp.js.map +1 -1
  26. package/dist/core/config-manager.d.ts.map +1 -1
  27. package/dist/core/config-manager.js +1 -2
  28. package/dist/core/config-manager.js.map +1 -1
  29. package/dist/core/generator.d.ts +13 -0
  30. package/dist/core/generator.d.ts.map +1 -1
  31. package/dist/core/generator.js +283 -28
  32. package/dist/core/generator.js.map +1 -1
  33. package/dist/core/indexer/background-indexer.d.ts.map +1 -1
  34. package/dist/core/indexer/background-indexer.js +10 -3
  35. package/dist/core/indexer/background-indexer.js.map +1 -1
  36. package/dist/core/workspace/workspace-manager.d.ts.map +1 -1
  37. package/dist/core/workspace/workspace-manager.js +2 -6
  38. package/dist/core/workspace/workspace-manager.js.map +1 -1
  39. package/dist/index.js +1 -3
  40. package/dist/index.js.map +1 -1
  41. package/dist/mcp/rulebook-server.d.ts.map +1 -1
  42. package/dist/mcp/rulebook-server.js +23 -10
  43. package/dist/mcp/rulebook-server.js.map +1 -1
  44. package/package.json +21 -22
  45. package/templates/agents/accessibility-reviewer.md +43 -0
  46. package/templates/agents/api-designer.md +42 -0
  47. package/templates/agents/architect.md +51 -0
  48. package/templates/agents/build-engineer.md +36 -0
  49. package/templates/agents/code-reviewer.md +47 -0
  50. package/templates/agents/database-architect.md +41 -0
  51. package/templates/agents/devops-engineer.md +42 -0
  52. package/templates/agents/docs-writer.md +38 -0
  53. package/templates/agents/i18n-engineer.md +42 -0
  54. package/templates/agents/implementer.md +38 -35
  55. package/templates/agents/migration-engineer.md +42 -0
  56. package/templates/agents/performance-engineer.md +49 -0
  57. package/templates/agents/refactoring-agent.md +41 -0
  58. package/templates/agents/researcher.md +38 -34
  59. package/templates/agents/security-reviewer.md +40 -0
  60. package/templates/agents/team-lead.md +37 -34
  61. package/templates/agents/tester.md +45 -42
  62. package/templates/agents/ux-reviewer.md +43 -0
  63. package/templates/ci/rulebook-review.yml +26 -26
  64. package/templates/cli/AIDER.md +49 -49
  65. package/templates/cli/AMAZON_Q.md +25 -25
  66. package/templates/cli/AUGGIE.md +32 -32
  67. package/templates/cli/CLAUDE.md +117 -117
  68. package/templates/cli/CLINE.md +99 -99
  69. package/templates/cli/CODEBUDDY.md +20 -20
  70. package/templates/cli/CODEIUM.md +20 -20
  71. package/templates/cli/CODEX.md +21 -21
  72. package/templates/cli/CONTINUE.md +34 -34
  73. package/templates/cli/CURSOR_CLI.md +62 -62
  74. package/templates/cli/FACTORY.md +18 -18
  75. package/templates/cli/GEMINI.md +35 -35
  76. package/templates/cli/KILOCODE.md +18 -18
  77. package/templates/cli/OPENCODE.md +18 -18
  78. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  79. package/templates/commands/rulebook-memory-save.md +48 -48
  80. package/templates/commands/rulebook-memory-search.md +47 -47
  81. package/templates/commands/rulebook-task-apply.md +67 -67
  82. package/templates/commands/rulebook-task-archive.md +94 -94
  83. package/templates/commands/rulebook-task-create.md +93 -93
  84. package/templates/commands/rulebook-task-list.md +42 -42
  85. package/templates/commands/rulebook-task-show.md +52 -52
  86. package/templates/commands/rulebook-task-validate.md +53 -53
  87. package/templates/core/AGENTS_LEAN.md +25 -25
  88. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  89. package/templates/core/AGENT_AUTOMATION.md +288 -288
  90. package/templates/core/DAG.md +304 -304
  91. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  92. package/templates/core/MULTI_AGENT.md +74 -74
  93. package/templates/core/PLANS.md +28 -28
  94. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  95. package/templates/core/RALPH.md +471 -471
  96. package/templates/core/RULEBOOK.md +1935 -1935
  97. package/templates/frameworks/ANGULAR.md +36 -36
  98. package/templates/frameworks/DJANGO.md +83 -83
  99. package/templates/frameworks/ELECTRON.md +147 -147
  100. package/templates/frameworks/FLASK.md +38 -38
  101. package/templates/frameworks/FLUTTER.md +55 -55
  102. package/templates/frameworks/JQUERY.md +32 -32
  103. package/templates/frameworks/LARAVEL.md +38 -38
  104. package/templates/frameworks/NESTJS.md +43 -43
  105. package/templates/frameworks/NEXTJS.md +127 -127
  106. package/templates/frameworks/NUXT.md +40 -40
  107. package/templates/frameworks/RAILS.md +66 -66
  108. package/templates/frameworks/REACT.md +38 -38
  109. package/templates/frameworks/REACT_NATIVE.md +47 -47
  110. package/templates/frameworks/SPRING.md +39 -39
  111. package/templates/frameworks/SYMFONY.md +36 -36
  112. package/templates/frameworks/VUE.md +36 -36
  113. package/templates/frameworks/ZEND.md +35 -35
  114. package/templates/git/CI_CD_PATTERNS.md +661 -661
  115. package/templates/git/GITHUB_ACTIONS.md +728 -728
  116. package/templates/git/GITLAB_CI.md +730 -730
  117. package/templates/git/GIT_WORKFLOW.md +1157 -1157
  118. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  119. package/templates/hooks/COMMIT_MSG.md +530 -530
  120. package/templates/hooks/POST_CHECKOUT.md +546 -546
  121. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  122. package/templates/hooks/PRE_COMMIT.md +414 -414
  123. package/templates/hooks/PRE_PUSH.md +601 -601
  124. package/templates/ides/CONTINUE_RULES.md +16 -16
  125. package/templates/ides/COPILOT.md +37 -37
  126. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  127. package/templates/ides/CURSOR.md +43 -43
  128. package/templates/ides/GEMINI_RULES.md +17 -17
  129. package/templates/ides/JETBRAINS_AI.md +35 -35
  130. package/templates/ides/REPLIT.md +36 -36
  131. package/templates/ides/TABNINE.md +29 -29
  132. package/templates/ides/VSCODE.md +40 -40
  133. package/templates/ides/WINDSURF.md +36 -36
  134. package/templates/ides/WINDSURF_RULES.md +14 -14
  135. package/templates/ides/ZED.md +32 -32
  136. package/templates/ides/cursor-mdc/go.mdc +24 -24
  137. package/templates/ides/cursor-mdc/python.mdc +24 -24
  138. package/templates/ides/cursor-mdc/quality.mdc +25 -25
  139. package/templates/ides/cursor-mdc/ralph.mdc +39 -39
  140. package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
  141. package/templates/ides/cursor-mdc/rust.mdc +24 -24
  142. package/templates/ides/cursor-mdc/typescript.mdc +25 -25
  143. package/templates/languages/C.md +333 -333
  144. package/templates/languages/CPP.md +743 -743
  145. package/templates/languages/CSHARP.md +417 -417
  146. package/templates/languages/ELIXIR.md +454 -454
  147. package/templates/languages/ERLANG.md +361 -361
  148. package/templates/languages/GO.md +645 -645
  149. package/templates/languages/HASKELL.md +177 -177
  150. package/templates/languages/JAVA.md +607 -607
  151. package/templates/languages/JAVASCRIPT.md +631 -631
  152. package/templates/languages/JULIA.md +97 -97
  153. package/templates/languages/KOTLIN.md +511 -511
  154. package/templates/languages/LISP.md +100 -100
  155. package/templates/languages/LUA.md +74 -74
  156. package/templates/languages/OBJECTIVEC.md +90 -90
  157. package/templates/languages/PHP.md +416 -416
  158. package/templates/languages/PYTHON.md +682 -682
  159. package/templates/languages/RUBY.md +421 -421
  160. package/templates/languages/RUST.md +477 -477
  161. package/templates/languages/SAS.md +73 -73
  162. package/templates/languages/SCALA.md +348 -348
  163. package/templates/languages/SOLIDITY.md +580 -580
  164. package/templates/languages/SQL.md +137 -137
  165. package/templates/languages/SWIFT.md +466 -466
  166. package/templates/languages/TYPESCRIPT.md +591 -591
  167. package/templates/languages/ZIG.md +265 -265
  168. package/templates/modules/ATLASSIAN.md +255 -255
  169. package/templates/modules/CONTEXT7.md +54 -54
  170. package/templates/modules/FIGMA.md +267 -267
  171. package/templates/modules/GITHUB_MCP.md +64 -64
  172. package/templates/modules/GRAFANA.md +328 -328
  173. package/templates/modules/MEMORY.md +126 -126
  174. package/templates/modules/NOTION.md +247 -247
  175. package/templates/modules/PLAYWRIGHT.md +90 -90
  176. package/templates/modules/RULEBOOK_MCP.md +156 -156
  177. package/templates/modules/SERENA.md +337 -337
  178. package/templates/modules/SUPABASE.md +223 -223
  179. package/templates/modules/SYNAP.md +69 -69
  180. package/templates/modules/VECTORIZER.md +63 -63
  181. package/templates/modules/sequential-thinking.md +42 -42
  182. package/templates/ralph/ralph-history.bat +4 -4
  183. package/templates/ralph/ralph-history.sh +5 -5
  184. package/templates/ralph/ralph-init.bat +5 -5
  185. package/templates/ralph/ralph-init.sh +5 -5
  186. package/templates/ralph/ralph-pause.bat +5 -5
  187. package/templates/ralph/ralph-pause.sh +5 -5
  188. package/templates/ralph/ralph-run.bat +5 -5
  189. package/templates/ralph/ralph-run.sh +5 -5
  190. package/templates/ralph/ralph-status.bat +4 -4
  191. package/templates/ralph/ralph-status.sh +5 -5
  192. package/templates/services/AZURE_BLOB.md +184 -184
  193. package/templates/services/CASSANDRA.md +239 -239
  194. package/templates/services/DATADOG.md +26 -26
  195. package/templates/services/DOCKER.md +124 -124
  196. package/templates/services/DOCKER_COMPOSE.md +168 -168
  197. package/templates/services/DYNAMODB.md +308 -308
  198. package/templates/services/ELASTICSEARCH.md +347 -347
  199. package/templates/services/GCS.md +178 -178
  200. package/templates/services/HELM.md +194 -194
  201. package/templates/services/INFLUXDB.md +265 -265
  202. package/templates/services/KAFKA.md +341 -341
  203. package/templates/services/KUBERNETES.md +208 -208
  204. package/templates/services/MARIADB.md +183 -183
  205. package/templates/services/MEMCACHED.md +242 -242
  206. package/templates/services/MINIO.md +201 -201
  207. package/templates/services/MONGODB.md +268 -268
  208. package/templates/services/MYSQL.md +358 -358
  209. package/templates/services/NEO4J.md +247 -247
  210. package/templates/services/OPENTELEMETRY.md +25 -25
  211. package/templates/services/ORACLE.md +290 -290
  212. package/templates/services/PINO.md +24 -24
  213. package/templates/services/POSTGRESQL.md +326 -326
  214. package/templates/services/PROMETHEUS.md +33 -33
  215. package/templates/services/RABBITMQ.md +286 -286
  216. package/templates/services/REDIS.md +292 -292
  217. package/templates/services/S3.md +298 -298
  218. package/templates/services/SENTRY.md +23 -23
  219. package/templates/services/SQLITE.md +294 -294
  220. package/templates/services/SQLSERVER.md +294 -294
  221. package/templates/services/WINSTON.md +30 -30
  222. package/templates/skills/cli/aider/SKILL.md +59 -59
  223. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  224. package/templates/skills/cli/auggie/SKILL.md +42 -42
  225. package/templates/skills/cli/claude/SKILL.md +42 -42
  226. package/templates/skills/cli/cline/SKILL.md +42 -42
  227. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  228. package/templates/skills/cli/codeium/SKILL.md +30 -30
  229. package/templates/skills/cli/codex/SKILL.md +31 -31
  230. package/templates/skills/cli/continue/SKILL.md +44 -44
  231. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  232. package/templates/skills/cli/factory/SKILL.md +28 -28
  233. package/templates/skills/cli/gemini/SKILL.md +45 -45
  234. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  235. package/templates/skills/cli/opencode/SKILL.md +28 -28
  236. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  237. package/templates/skills/core/dag/SKILL.md +314 -314
  238. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  239. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  240. package/templates/skills/core/rulebook/SKILL.md +176 -176
  241. package/templates/skills/dev/accessibility/SKILL.md +17 -0
  242. package/templates/skills/dev/api-design/SKILL.md +15 -0
  243. package/templates/skills/dev/architect/SKILL.md +17 -0
  244. package/templates/skills/dev/build-fix/SKILL.md +17 -0
  245. package/templates/skills/dev/db-design/SKILL.md +15 -0
  246. package/templates/skills/dev/debug/SKILL.md +16 -0
  247. package/templates/skills/dev/deploy/SKILL.md +17 -0
  248. package/templates/skills/dev/docs/SKILL.md +17 -0
  249. package/templates/skills/dev/migrate/SKILL.md +15 -0
  250. package/templates/skills/dev/perf/SKILL.md +17 -0
  251. package/templates/skills/dev/refactor/SKILL.md +17 -0
  252. package/templates/skills/dev/research/SKILL.md +14 -0
  253. package/templates/skills/dev/review/SKILL.md +18 -0
  254. package/templates/skills/dev/security-audit/SKILL.md +17 -0
  255. package/templates/skills/frameworks/angular/SKILL.md +46 -46
  256. package/templates/skills/frameworks/django/SKILL.md +93 -93
  257. package/templates/skills/frameworks/electron/SKILL.md +157 -157
  258. package/templates/skills/frameworks/flask/SKILL.md +48 -48
  259. package/templates/skills/frameworks/flutter/SKILL.md +65 -65
  260. package/templates/skills/frameworks/jquery/SKILL.md +42 -42
  261. package/templates/skills/frameworks/laravel/SKILL.md +48 -48
  262. package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
  263. package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
  264. package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
  265. package/templates/skills/frameworks/rails/SKILL.md +76 -76
  266. package/templates/skills/frameworks/react/SKILL.md +48 -48
  267. package/templates/skills/frameworks/react-native/SKILL.md +57 -57
  268. package/templates/skills/frameworks/spring/SKILL.md +49 -49
  269. package/templates/skills/frameworks/symfony/SKILL.md +46 -46
  270. package/templates/skills/frameworks/vue/SKILL.md +46 -46
  271. package/templates/skills/frameworks/zend/SKILL.md +45 -45
  272. package/templates/skills/ides/copilot/SKILL.md +47 -47
  273. package/templates/skills/ides/cursor/SKILL.md +53 -53
  274. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  275. package/templates/skills/ides/replit/SKILL.md +46 -46
  276. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  277. package/templates/skills/ides/vscode/SKILL.md +50 -50
  278. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  279. package/templates/skills/ides/zed/SKILL.md +42 -42
  280. package/templates/skills/languages/c/SKILL.md +343 -343
  281. package/templates/skills/languages/cpp/SKILL.md +753 -753
  282. package/templates/skills/languages/csharp/SKILL.md +427 -427
  283. package/templates/skills/languages/elixir/SKILL.md +464 -464
  284. package/templates/skills/languages/erlang/SKILL.md +371 -371
  285. package/templates/skills/languages/go/SKILL.md +655 -655
  286. package/templates/skills/languages/haskell/SKILL.md +187 -187
  287. package/templates/skills/languages/java/SKILL.md +617 -617
  288. package/templates/skills/languages/javascript/SKILL.md +641 -641
  289. package/templates/skills/languages/julia/SKILL.md +107 -107
  290. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  291. package/templates/skills/languages/lisp/SKILL.md +110 -110
  292. package/templates/skills/languages/lua/SKILL.md +84 -84
  293. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  294. package/templates/skills/languages/php/SKILL.md +426 -426
  295. package/templates/skills/languages/python/SKILL.md +692 -692
  296. package/templates/skills/languages/ruby/SKILL.md +431 -431
  297. package/templates/skills/languages/rust/SKILL.md +487 -487
  298. package/templates/skills/languages/sas/SKILL.md +83 -83
  299. package/templates/skills/languages/scala/SKILL.md +358 -358
  300. package/templates/skills/languages/solidity/SKILL.md +590 -590
  301. package/templates/skills/languages/sql/SKILL.md +147 -147
  302. package/templates/skills/languages/swift/SKILL.md +476 -476
  303. package/templates/skills/languages/typescript/SKILL.md +302 -302
  304. package/templates/skills/languages/zig/SKILL.md +275 -275
  305. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  306. package/templates/skills/modules/context7/SKILL.md +64 -64
  307. package/templates/skills/modules/figma/SKILL.md +277 -277
  308. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  309. package/templates/skills/modules/grafana/SKILL.md +338 -338
  310. package/templates/skills/modules/memory/SKILL.md +73 -73
  311. package/templates/skills/modules/notion/SKILL.md +257 -257
  312. package/templates/skills/modules/playwright/SKILL.md +100 -100
  313. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  314. package/templates/skills/modules/serena/SKILL.md +347 -347
  315. package/templates/skills/modules/supabase/SKILL.md +233 -233
  316. package/templates/skills/modules/synap/SKILL.md +79 -79
  317. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  318. package/templates/skills/services/azure-blob/SKILL.md +194 -194
  319. package/templates/skills/services/cassandra/SKILL.md +249 -249
  320. package/templates/skills/services/dynamodb/SKILL.md +318 -318
  321. package/templates/skills/services/elasticsearch/SKILL.md +357 -357
  322. package/templates/skills/services/gcs/SKILL.md +188 -188
  323. package/templates/skills/services/influxdb/SKILL.md +275 -275
  324. package/templates/skills/services/kafka/SKILL.md +351 -351
  325. package/templates/skills/services/mariadb/SKILL.md +193 -193
  326. package/templates/skills/services/memcached/SKILL.md +252 -252
  327. package/templates/skills/services/minio/SKILL.md +211 -211
  328. package/templates/skills/services/mongodb/SKILL.md +278 -278
  329. package/templates/skills/services/mysql/SKILL.md +368 -368
  330. package/templates/skills/services/neo4j/SKILL.md +257 -257
  331. package/templates/skills/services/oracle/SKILL.md +300 -300
  332. package/templates/skills/services/postgresql/SKILL.md +336 -336
  333. package/templates/skills/services/rabbitmq/SKILL.md +296 -296
  334. package/templates/skills/services/redis/SKILL.md +302 -302
  335. package/templates/skills/services/s3/SKILL.md +308 -308
  336. package/templates/skills/services/sqlite/SKILL.md +304 -304
  337. package/templates/skills/services/sqlserver/SKILL.md +304 -304
  338. package/templates/skills/workflows/ralph/SKILL.md +309 -309
  339. package/templates/skills/workflows/ralph/install.sh +87 -87
  340. package/templates/skills/workflows/ralph/manifest.json +158 -158
@@ -1,304 +1,304 @@
1
- <!-- DAG:START -->
2
- # Dependency Architecture Guidelines (DAG)
3
-
4
- **CRITICAL**: Maintain a clean dependency graph (DAG) to prevent circular dependencies and ensure maintainable architecture.
5
-
6
- ## Core Principles
7
-
8
- ### No Circular Dependencies
9
- - **NEVER** create circular dependencies between components
10
- - **ALWAYS** ensure dependencies form a Directed Acyclic Graph (DAG)
11
- - **ALWAYS** validate dependency structure before committing
12
-
13
- ### Layer Separation
14
- - **ALWAYS** maintain clear layer boundaries
15
- - **ALWAYS** ensure higher layers depend only on lower layers
16
- - **NEVER** allow lower layers to depend on higher layers
17
-
18
- ### Interface Boundaries
19
- - **ALWAYS** use interfaces for cross-component communication
20
- - **ALWAYS** define clear contracts between components
21
- - **NEVER** create tight coupling between components
22
-
23
- ## Dependency Rules
24
-
25
- ### Layer Architecture
26
-
27
- **Layer 1: Foundation**
28
- - Utils, helpers, utilities
29
- - Type definitions
30
- - Configuration management
31
- - Base constants and enums
32
-
33
- **Layer 2: Core**
34
- - Core business logic
35
- - Data models and schemas
36
- - Base services and repositories
37
- - Domain entities
38
-
39
- **Layer 3: Features**
40
- - Feature implementations
41
- - Business logic
42
- - API endpoints
43
- - Service orchestration
44
-
45
- **Layer 4: Presentation**
46
- - UI components
47
- - CLI interfaces
48
- - API controllers
49
- - View models
50
-
51
- ### Dependency Flow
52
-
53
- ```
54
- Foundation → Core → Features → Presentation
55
- ```
56
-
57
- **Rules:**
58
- - ✅ Foundation can depend on nothing (or external libraries only)
59
- - ✅ Core can depend on Foundation
60
- - ✅ Features can depend on Core and Foundation
61
- - ✅ Presentation can depend on Features, Core, and Foundation
62
- - ❌ Foundation CANNOT depend on Core, Features, or Presentation
63
- - ❌ Core CANNOT depend on Features or Presentation
64
- - ❌ Features CANNOT depend on Presentation
65
-
66
- ## Component Graph Structure
67
-
68
- ### Example Valid DAG
69
-
70
- ```
71
- Core
72
- ├── Utils
73
- ├── Types
74
- └── Config
75
-
76
- Features
77
- ├── Feature A
78
- │ └── Core
79
- └── Feature B
80
- ├── Core
81
- └── Feature A
82
-
83
- Presentation
84
- ├── CLI
85
- │ └── Features
86
- └── API
87
- └── Features
88
- ```
89
-
90
- ### Invalid Patterns (Circular Dependencies)
91
-
92
- ```
93
- ❌ Feature A → Feature B → Feature A
94
- ❌ Core → Feature → Core
95
- ❌ Utils → Core → Utils
96
- ```
97
-
98
- ## Verification
99
-
100
- ### Before Committing
101
-
102
- **MANDATORY**: Verify dependency structure:
103
-
104
- ```bash
105
- # Check for circular dependencies
106
- # Add your dependency check command here
107
- # Examples:
108
- # - TypeScript: tsc --noEmit (catches import cycles)
109
- # - Rust: cargo check (catches circular dependencies)
110
- # - Python: pylint --disable=all --enable=import-error
111
- # - Go: go vet ./...
112
- ```
113
-
114
- ### Dependency Analysis Tools
115
-
116
- **TypeScript/JavaScript:**
117
- ```bash
118
- # Use madge to detect circular dependencies
119
- npx madge --circular src/
120
-
121
- # Use dependency-cruiser
122
- npx dependency-cruiser --validate src/
123
- ```
124
-
125
- **Rust:**
126
- ```bash
127
- # Cargo automatically detects circular dependencies
128
- cargo check
129
- ```
130
-
131
- **Python:**
132
- ```bash
133
- # Use vulture or pylint
134
- pylint --disable=all --enable=import-error src/
135
- ```
136
-
137
- **Go:**
138
- ```bash
139
- # Use go vet
140
- go vet ./...
141
- ```
142
-
143
- ## Best Practices
144
-
145
- ### DO's ✅
146
-
147
- - **ALWAYS** maintain clear layer boundaries
148
- - **ALWAYS** validate dependencies before committing
149
- - **ALWAYS** use interfaces for cross-layer communication
150
- - **ALWAYS** document component dependencies
151
- - **ALWAYS** refactor when circular dependencies are detected
152
- - **ALWAYS** keep dependency graph shallow (avoid deep nesting)
153
-
154
- ### DON'Ts ❌
155
-
156
- - **NEVER** create circular dependencies
157
- - **NEVER** allow lower layers to depend on higher layers
158
- - **NEVER** create tight coupling between components
159
- - **NEVER** skip dependency validation
160
- - **NEVER** mix concerns across layers
161
- - **NEVER** create bidirectional dependencies
162
-
163
- ## Dependency Documentation
164
-
165
- ### Documenting Dependencies
166
-
167
- **In code:**
168
- ```typescript
169
- // Component: UserService
170
- // Dependencies:
171
- // - UserRepository (Core layer)
172
- // - Logger (Foundation layer)
173
- // - Config (Foundation layer)
174
- // Does NOT depend on:
175
- // - UserController (Presentation layer)
176
- // - UserAPI (Presentation layer)
177
- ```
178
-
179
- **In documentation:**
180
- - Maintain `docs/DAG.md` with component dependency graph
181
- - Update when adding new components
182
- - Include dependency direction and purpose
183
-
184
- ## Refactoring Circular Dependencies
185
-
186
- ### When Circular Dependency is Detected
187
-
188
- 1. **Identify the cycle**: Map the dependency chain
189
- 2. **Find common dependency**: Extract shared functionality
190
- 3. **Introduce interface**: Use dependency inversion
191
- 4. **Restructure layers**: Move components to appropriate layer
192
- 5. **Validate fix**: Run dependency check again
193
-
194
- ### Example Refactoring
195
-
196
- **Before (Circular):**
197
- ```
198
- Feature A → Feature B → Feature A
199
- ```
200
-
201
- **After (Fixed):**
202
- ```
203
- Core
204
- └── SharedService
205
-
206
- Feature A → Core
207
- Feature B → Core
208
- ```
209
-
210
- ## Integration with AGENT_AUTOMATION
211
-
212
- **CRITICAL**: Include dependency validation in AGENT_AUTOMATION workflow:
213
-
214
- ```bash
215
- # Step 1.5: Dependency Validation (before implementation)
216
- # Check for circular dependencies
217
- npm run check-deps # or equivalent for your language
218
-
219
- # If circular dependencies detected:
220
- # ❌ STOP - Fix architecture first
221
- # ✅ Refactor to remove cycles
222
- # ✅ Re-validate before proceeding
223
- ```
224
-
225
- ## Language-Specific Guidelines
226
-
227
- ### TypeScript/JavaScript
228
- - Use `madge` or `dependency-cruiser` for validation
229
- - Configure ESLint rules for import ordering
230
- - Use path aliases to enforce layer structure
231
-
232
- ### Rust
233
- - Cargo automatically detects circular dependencies
234
- - Use `cargo tree` to visualize dependencies
235
- - Organize modules to reflect layer structure
236
-
237
- ### Python
238
- - Use `pylint` or `vulture` for import analysis
239
- - Organize packages to reflect layer structure
240
- - Use `__init__.py` to control exports
241
-
242
- ### Go
243
- - Use `go vet` for dependency validation
244
- - Organize packages in directories reflecting layers
245
- - Use interfaces to decouple components
246
-
247
- ## Examples
248
-
249
- ### Good Architecture ✅
250
-
251
- ```
252
- src/
253
- ├── foundation/
254
- │ ├── utils/
255
- │ ├── types/
256
- │ └── config/
257
- ├── core/
258
- │ ├── models/
259
- │ ├── services/
260
- │ └── repositories/
261
- ├── features/
262
- │ ├── auth/
263
- │ │ └── (depends on core, foundation)
264
- │ └── payments/
265
- │ └── (depends on core, foundation)
266
- └── presentation/
267
- ├── cli/
268
- │ └── (depends on features, core, foundation)
269
- └── api/
270
- └── (depends on features, core, foundation)
271
- ```
272
-
273
- ### Bad Architecture ❌
274
-
275
- ```
276
- src/
277
- ├── features/
278
- │ └── auth/
279
- │ └── (depends on presentation) # ❌ Wrong direction
280
- ├── core/
281
- │ └── (depends on features) # ❌ Wrong direction
282
- └── presentation/
283
- └── (depends on foundation only) # ❌ Missing dependencies
284
- ```
285
-
286
- ## Maintenance
287
-
288
- ### Regular Checks
289
-
290
- - **Before every commit**: Run dependency validation
291
- - **Weekly**: Review dependency graph for optimization
292
- - **Before major refactoring**: Document current dependencies
293
- - **After adding new components**: Update DAG documentation
294
-
295
- ### Tools Integration
296
-
297
- Add dependency checks to:
298
- - Pre-commit hooks
299
- - CI/CD pipelines
300
- - AGENT_AUTOMATION workflow
301
- - Quality gates
302
-
303
- <!-- DAG:END -->
304
-
1
+ <!-- DAG:START -->
2
+ # Dependency Architecture Guidelines (DAG)
3
+
4
+ **CRITICAL**: Maintain a clean dependency graph (DAG) to prevent circular dependencies and ensure maintainable architecture.
5
+
6
+ ## Core Principles
7
+
8
+ ### No Circular Dependencies
9
+ - **NEVER** create circular dependencies between components
10
+ - **ALWAYS** ensure dependencies form a Directed Acyclic Graph (DAG)
11
+ - **ALWAYS** validate dependency structure before committing
12
+
13
+ ### Layer Separation
14
+ - **ALWAYS** maintain clear layer boundaries
15
+ - **ALWAYS** ensure higher layers depend only on lower layers
16
+ - **NEVER** allow lower layers to depend on higher layers
17
+
18
+ ### Interface Boundaries
19
+ - **ALWAYS** use interfaces for cross-component communication
20
+ - **ALWAYS** define clear contracts between components
21
+ - **NEVER** create tight coupling between components
22
+
23
+ ## Dependency Rules
24
+
25
+ ### Layer Architecture
26
+
27
+ **Layer 1: Foundation**
28
+ - Utils, helpers, utilities
29
+ - Type definitions
30
+ - Configuration management
31
+ - Base constants and enums
32
+
33
+ **Layer 2: Core**
34
+ - Core business logic
35
+ - Data models and schemas
36
+ - Base services and repositories
37
+ - Domain entities
38
+
39
+ **Layer 3: Features**
40
+ - Feature implementations
41
+ - Business logic
42
+ - API endpoints
43
+ - Service orchestration
44
+
45
+ **Layer 4: Presentation**
46
+ - UI components
47
+ - CLI interfaces
48
+ - API controllers
49
+ - View models
50
+
51
+ ### Dependency Flow
52
+
53
+ ```
54
+ Foundation → Core → Features → Presentation
55
+ ```
56
+
57
+ **Rules:**
58
+ - ✅ Foundation can depend on nothing (or external libraries only)
59
+ - ✅ Core can depend on Foundation
60
+ - ✅ Features can depend on Core and Foundation
61
+ - ✅ Presentation can depend on Features, Core, and Foundation
62
+ - ❌ Foundation CANNOT depend on Core, Features, or Presentation
63
+ - ❌ Core CANNOT depend on Features or Presentation
64
+ - ❌ Features CANNOT depend on Presentation
65
+
66
+ ## Component Graph Structure
67
+
68
+ ### Example Valid DAG
69
+
70
+ ```
71
+ Core
72
+ ├── Utils
73
+ ├── Types
74
+ └── Config
75
+
76
+ Features
77
+ ├── Feature A
78
+ │ └── Core
79
+ └── Feature B
80
+ ├── Core
81
+ └── Feature A
82
+
83
+ Presentation
84
+ ├── CLI
85
+ │ └── Features
86
+ └── API
87
+ └── Features
88
+ ```
89
+
90
+ ### Invalid Patterns (Circular Dependencies)
91
+
92
+ ```
93
+ ❌ Feature A → Feature B → Feature A
94
+ ❌ Core → Feature → Core
95
+ ❌ Utils → Core → Utils
96
+ ```
97
+
98
+ ## Verification
99
+
100
+ ### Before Committing
101
+
102
+ **MANDATORY**: Verify dependency structure:
103
+
104
+ ```bash
105
+ # Check for circular dependencies
106
+ # Add your dependency check command here
107
+ # Examples:
108
+ # - TypeScript: tsc --noEmit (catches import cycles)
109
+ # - Rust: cargo check (catches circular dependencies)
110
+ # - Python: pylint --disable=all --enable=import-error
111
+ # - Go: go vet ./...
112
+ ```
113
+
114
+ ### Dependency Analysis Tools
115
+
116
+ **TypeScript/JavaScript:**
117
+ ```bash
118
+ # Use madge to detect circular dependencies
119
+ npx madge --circular src/
120
+
121
+ # Use dependency-cruiser
122
+ npx dependency-cruiser --validate src/
123
+ ```
124
+
125
+ **Rust:**
126
+ ```bash
127
+ # Cargo automatically detects circular dependencies
128
+ cargo check
129
+ ```
130
+
131
+ **Python:**
132
+ ```bash
133
+ # Use vulture or pylint
134
+ pylint --disable=all --enable=import-error src/
135
+ ```
136
+
137
+ **Go:**
138
+ ```bash
139
+ # Use go vet
140
+ go vet ./...
141
+ ```
142
+
143
+ ## Best Practices
144
+
145
+ ### DO's ✅
146
+
147
+ - **ALWAYS** maintain clear layer boundaries
148
+ - **ALWAYS** validate dependencies before committing
149
+ - **ALWAYS** use interfaces for cross-layer communication
150
+ - **ALWAYS** document component dependencies
151
+ - **ALWAYS** refactor when circular dependencies are detected
152
+ - **ALWAYS** keep dependency graph shallow (avoid deep nesting)
153
+
154
+ ### DON'Ts ❌
155
+
156
+ - **NEVER** create circular dependencies
157
+ - **NEVER** allow lower layers to depend on higher layers
158
+ - **NEVER** create tight coupling between components
159
+ - **NEVER** skip dependency validation
160
+ - **NEVER** mix concerns across layers
161
+ - **NEVER** create bidirectional dependencies
162
+
163
+ ## Dependency Documentation
164
+
165
+ ### Documenting Dependencies
166
+
167
+ **In code:**
168
+ ```typescript
169
+ // Component: UserService
170
+ // Dependencies:
171
+ // - UserRepository (Core layer)
172
+ // - Logger (Foundation layer)
173
+ // - Config (Foundation layer)
174
+ // Does NOT depend on:
175
+ // - UserController (Presentation layer)
176
+ // - UserAPI (Presentation layer)
177
+ ```
178
+
179
+ **In documentation:**
180
+ - Maintain `docs/DAG.md` with component dependency graph
181
+ - Update when adding new components
182
+ - Include dependency direction and purpose
183
+
184
+ ## Refactoring Circular Dependencies
185
+
186
+ ### When Circular Dependency is Detected
187
+
188
+ 1. **Identify the cycle**: Map the dependency chain
189
+ 2. **Find common dependency**: Extract shared functionality
190
+ 3. **Introduce interface**: Use dependency inversion
191
+ 4. **Restructure layers**: Move components to appropriate layer
192
+ 5. **Validate fix**: Run dependency check again
193
+
194
+ ### Example Refactoring
195
+
196
+ **Before (Circular):**
197
+ ```
198
+ Feature A → Feature B → Feature A
199
+ ```
200
+
201
+ **After (Fixed):**
202
+ ```
203
+ Core
204
+ └── SharedService
205
+
206
+ Feature A → Core
207
+ Feature B → Core
208
+ ```
209
+
210
+ ## Integration with AGENT_AUTOMATION
211
+
212
+ **CRITICAL**: Include dependency validation in AGENT_AUTOMATION workflow:
213
+
214
+ ```bash
215
+ # Step 1.5: Dependency Validation (before implementation)
216
+ # Check for circular dependencies
217
+ npm run check-deps # or equivalent for your language
218
+
219
+ # If circular dependencies detected:
220
+ # ❌ STOP - Fix architecture first
221
+ # ✅ Refactor to remove cycles
222
+ # ✅ Re-validate before proceeding
223
+ ```
224
+
225
+ ## Language-Specific Guidelines
226
+
227
+ ### TypeScript/JavaScript
228
+ - Use `madge` or `dependency-cruiser` for validation
229
+ - Configure ESLint rules for import ordering
230
+ - Use path aliases to enforce layer structure
231
+
232
+ ### Rust
233
+ - Cargo automatically detects circular dependencies
234
+ - Use `cargo tree` to visualize dependencies
235
+ - Organize modules to reflect layer structure
236
+
237
+ ### Python
238
+ - Use `pylint` or `vulture` for import analysis
239
+ - Organize packages to reflect layer structure
240
+ - Use `__init__.py` to control exports
241
+
242
+ ### Go
243
+ - Use `go vet` for dependency validation
244
+ - Organize packages in directories reflecting layers
245
+ - Use interfaces to decouple components
246
+
247
+ ## Examples
248
+
249
+ ### Good Architecture ✅
250
+
251
+ ```
252
+ src/
253
+ ├── foundation/
254
+ │ ├── utils/
255
+ │ ├── types/
256
+ │ └── config/
257
+ ├── core/
258
+ │ ├── models/
259
+ │ ├── services/
260
+ │ └── repositories/
261
+ ├── features/
262
+ │ ├── auth/
263
+ │ │ └── (depends on core, foundation)
264
+ │ └── payments/
265
+ │ └── (depends on core, foundation)
266
+ └── presentation/
267
+ ├── cli/
268
+ │ └── (depends on features, core, foundation)
269
+ └── api/
270
+ └── (depends on features, core, foundation)
271
+ ```
272
+
273
+ ### Bad Architecture ❌
274
+
275
+ ```
276
+ src/
277
+ ├── features/
278
+ │ └── auth/
279
+ │ └── (depends on presentation) # ❌ Wrong direction
280
+ ├── core/
281
+ │ └── (depends on features) # ❌ Wrong direction
282
+ └── presentation/
283
+ └── (depends on foundation only) # ❌ Missing dependencies
284
+ ```
285
+
286
+ ## Maintenance
287
+
288
+ ### Regular Checks
289
+
290
+ - **Before every commit**: Run dependency validation
291
+ - **Weekly**: Review dependency graph for optimization
292
+ - **Before major refactoring**: Document current dependencies
293
+ - **After adding new components**: Update DAG documentation
294
+
295
+ ### Tools Integration
296
+
297
+ Add dependency checks to:
298
+ - Pre-commit hooks
299
+ - CI/CD pipelines
300
+ - AGENT_AUTOMATION workflow
301
+ - Quality gates
302
+
303
+ <!-- DAG:END -->
304
+
@@ -1,37 +1,37 @@
1
- # Documentation Standards
2
-
3
- **CRITICAL**: All documentation in English. Root README concise, detailed docs in `/docs`.
4
-
5
- ## Structure
6
-
7
- **Root-Level (ONLY):**
8
- - `README.md` - Overview + quick start
9
- - `CHANGELOG.md` - Version history
10
- - `AGENTS.md` - AI instructions
11
- - `LICENSE`, `CONTRIBUTING.md`, `SECURITY.md`
12
-
13
- **All Other Docs in `/docs`:**
14
- - `ARCHITECTURE.md`, `DEVELOPMENT.md`, `ROADMAP.md`
15
- - `specs/`, `guides/`, `diagrams/`, `benchmarks/`
16
-
17
- ## Update Requirements by Commit Type
18
-
19
- | Type | Update |
20
- |------|--------|
21
- | `feat` | README features, API docs, CHANGELOG "Added" |
22
- | `fix` | Troubleshooting, CHANGELOG "Fixed" |
23
- | `breaking` | CHANGELOG + migration guide, version docs |
24
- | `perf` | Benchmarks, CHANGELOG "Performance" |
25
- | `security` | SECURITY.md, CHANGELOG "Security" |
26
- | `docs` | Verify spelling/links only |
27
- | `refactor` | Update if behavior changed |
28
-
29
- ## Quality Checks (CI/CD)
30
-
31
- ```bash
32
- markdownlint **/*.md # Lint markdown
33
- markdown-link-check **/*.md # Check links
34
- codespell **/*.md # Spell check
35
- ```
36
-
1
+ # Documentation Standards
2
+
3
+ **CRITICAL**: All documentation in English. Root README concise, detailed docs in `/docs`.
4
+
5
+ ## Structure
6
+
7
+ **Root-Level (ONLY):**
8
+ - `README.md` - Overview + quick start
9
+ - `CHANGELOG.md` - Version history
10
+ - `AGENTS.md` - AI instructions
11
+ - `LICENSE`, `CONTRIBUTING.md`, `SECURITY.md`
12
+
13
+ **All Other Docs in `/docs`:**
14
+ - `ARCHITECTURE.md`, `DEVELOPMENT.md`, `ROADMAP.md`
15
+ - `specs/`, `guides/`, `diagrams/`, `benchmarks/`
16
+
17
+ ## Update Requirements by Commit Type
18
+
19
+ | Type | Update |
20
+ |------|--------|
21
+ | `feat` | README features, API docs, CHANGELOG "Added" |
22
+ | `fix` | Troubleshooting, CHANGELOG "Fixed" |
23
+ | `breaking` | CHANGELOG + migration guide, version docs |
24
+ | `perf` | Benchmarks, CHANGELOG "Performance" |
25
+ | `security` | SECURITY.md, CHANGELOG "Security" |
26
+ | `docs` | Verify spelling/links only |
27
+ | `refactor` | Update if behavior changed |
28
+
29
+ ## Quality Checks (CI/CD)
30
+
31
+ ```bash
32
+ markdownlint **/*.md # Lint markdown
33
+ markdown-link-check **/*.md # Check links
34
+ codespell **/*.md # Spell check
35
+ ```
36
+
37
37
  **MUST pass before commit** (see AGENT_AUTOMATION).