tribunal-kit 4.5.1 → 4.6.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 (214) hide show
  1. package/.agent/.shared/ui-ux-pro-max/README.md +4 -4
  2. package/.agent/ARCHITECTURE.md +282 -277
  3. package/.agent/agents/accessibility-reviewer.md +187 -187
  4. package/.agent/agents/ai-code-reviewer.md +199 -199
  5. package/.agent/agents/api-architect.md +71 -66
  6. package/.agent/agents/backend-specialist.md +219 -215
  7. package/.agent/agents/cloud-engineer.md +98 -0
  8. package/.agent/agents/code-archaeologist.md +168 -161
  9. package/.agent/agents/database-architect.md +184 -184
  10. package/.agent/agents/db-latency-auditor.md +213 -216
  11. package/.agent/agents/debugger.md +198 -191
  12. package/.agent/agents/dependency-reviewer.md +106 -103
  13. package/.agent/agents/devops-engineer.md +218 -218
  14. package/.agent/agents/documentation-writer.md +209 -201
  15. package/.agent/agents/explorer-agent.md +167 -160
  16. package/.agent/agents/frontend-reviewer.md +162 -160
  17. package/.agent/agents/frontend-specialist.md +257 -248
  18. package/.agent/agents/game-developer.md +48 -48
  19. package/.agent/agents/logic-reviewer.md +118 -116
  20. package/.agent/agents/mobile-developer.md +197 -200
  21. package/.agent/agents/mobile-reviewer.md +159 -162
  22. package/.agent/agents/orchestrator.md +187 -181
  23. package/.agent/agents/penetration-tester.md +160 -157
  24. package/.agent/agents/performance-optimizer.md +183 -183
  25. package/.agent/agents/performance-reviewer.md +178 -178
  26. package/.agent/agents/precedence-reviewer.md +251 -250
  27. package/.agent/agents/product-manager.md +149 -142
  28. package/.agent/agents/product-owner.md +81 -80
  29. package/.agent/agents/project-planner.md +152 -142
  30. package/.agent/agents/qa-automation-engineer.md +216 -225
  31. package/.agent/agents/resilience-reviewer.md +88 -88
  32. package/.agent/agents/schema-reviewer.md +67 -67
  33. package/.agent/agents/security-auditor.md +180 -174
  34. package/.agent/agents/seo-specialist.md +188 -193
  35. package/.agent/agents/sql-reviewer.md +159 -161
  36. package/.agent/agents/supervisor-agent.md +173 -184
  37. package/.agent/agents/swarm-worker-contracts.md +170 -166
  38. package/.agent/agents/swarm-worker-registry.md +92 -92
  39. package/.agent/agents/system-architect.md +85 -0
  40. package/.agent/agents/test-coverage-reviewer.md +158 -160
  41. package/.agent/agents/test-engineer.md +118 -118
  42. package/.agent/agents/throughput-optimizer.md +291 -299
  43. package/.agent/agents/type-safety-reviewer.md +182 -175
  44. package/.agent/agents/ui-ux-auditor.md +300 -292
  45. package/.agent/agents/vitals-reviewer.md +223 -223
  46. package/.agent/mcp_config.json +37 -40
  47. package/.agent/patterns/generator.md +11 -9
  48. package/.agent/patterns/inversion.md +14 -12
  49. package/.agent/patterns/pipeline.md +11 -9
  50. package/.agent/patterns/reviewer.md +15 -13
  51. package/.agent/patterns/tool-wrapper.md +11 -9
  52. package/.agent/routing_index.json +714 -0
  53. package/.agent/rules/GEMINI.md +359 -352
  54. package/.agent/scripts/compile_router.py +112 -0
  55. package/.agent/scripts/migrate_skills_frontmatter.py +64 -0
  56. package/.agent/scripts/strengthen_skills.js +1 -1
  57. package/.agent/skills/advanced-rag-pipelines/SKILL.md +56 -0
  58. package/.agent/skills/agent-organizer/SKILL.md +156 -150
  59. package/.agent/skills/agentic-patterns/SKILL.md +313 -315
  60. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +190 -184
  61. package/.agent/skills/api-patterns/SKILL.md +253 -247
  62. package/.agent/skills/api-security-auditor/SKILL.md +195 -193
  63. package/.agent/skills/app-builder/SKILL.md +573 -572
  64. package/.agent/skills/app-builder/templates/SKILL.md +108 -115
  65. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  66. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  67. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  68. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  69. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  70. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  71. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  72. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -122
  73. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -122
  74. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -169
  75. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -134
  76. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  77. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -119
  78. package/.agent/skills/appflow-wireframe/SKILL.md +146 -145
  79. package/.agent/skills/architecture/SKILL.md +226 -219
  80. package/.agent/skills/authentication-best-practices/SKILL.md +197 -189
  81. package/.agent/skills/backend-security-expert/SKILL.md +16 -2
  82. package/.agent/skills/bash-linux/SKILL.md +179 -179
  83. package/.agent/skills/behavioral-modes/SKILL.md +239 -223
  84. package/.agent/skills/brainstorming/SKILL.md +498 -486
  85. package/.agent/skills/browser-native-ai/SKILL.md +57 -4
  86. package/.agent/skills/building-native-ui/SKILL.md +202 -202
  87. package/.agent/skills/cicd-pro/SKILL.md +442 -0
  88. package/.agent/skills/clean-code/SKILL.md +400 -381
  89. package/.agent/skills/cloud-architect/SKILL.md +439 -0
  90. package/.agent/skills/code-review-checklist/SKILL.md +203 -194
  91. package/.agent/skills/config-validator/SKILL.md +165 -165
  92. package/.agent/skills/containerization-pro/SKILL.md +452 -0
  93. package/.agent/skills/csharp-developer/SKILL.md +518 -518
  94. package/.agent/skills/data-validation-schemas/SKILL.md +333 -328
  95. package/.agent/skills/database-design/SKILL.md +247 -240
  96. package/.agent/skills/deployment-procedures/SKILL.md +172 -169
  97. package/.agent/skills/devops-engineer/SKILL.md +345 -345
  98. package/.agent/skills/devops-incident-responder/SKILL.md +143 -137
  99. package/.agent/skills/documentation-templates/SKILL.md +291 -279
  100. package/.agent/skills/edge-computing/SKILL.md +183 -181
  101. package/.agent/skills/emil-design-eng/SKILL.md +147 -0
  102. package/.agent/skills/error-resilience/SKILL.md +411 -428
  103. package/.agent/skills/extract-design-system/SKILL.md +160 -158
  104. package/.agent/skills/framer-motion-expert/SKILL.md +253 -244
  105. package/.agent/skills/frontend-design/SKILL.md +208 -201
  106. package/.agent/skills/frontend-security-expert/SKILL.md +16 -3
  107. package/.agent/skills/game-design-expert/SKILL.md +132 -129
  108. package/.agent/skills/game-engineering-expert/SKILL.md +148 -146
  109. package/.agent/skills/generative-ui-expert/SKILL.md +57 -1
  110. package/.agent/skills/geo-fundamentals/SKILL.md +148 -147
  111. package/.agent/skills/git-pro/SKILL.md +435 -0
  112. package/.agent/skills/github-operations/SKILL.md +335 -329
  113. package/.agent/skills/gsap-core/SKILL.md +319 -308
  114. package/.agent/skills/gsap-frameworks/SKILL.md +213 -207
  115. package/.agent/skills/gsap-performance/SKILL.md +139 -133
  116. package/.agent/skills/gsap-plugins/SKILL.md +486 -480
  117. package/.agent/skills/gsap-react/SKILL.md +202 -189
  118. package/.agent/skills/gsap-scrolltrigger/SKILL.md +357 -350
  119. package/.agent/skills/gsap-timeline/SKILL.md +165 -161
  120. package/.agent/skills/gsap-utils/SKILL.md +344 -338
  121. package/.agent/skills/harness-protocol/SKILL.md +48 -0
  122. package/.agent/skills/i18n-localization/SKILL.md +174 -163
  123. package/.agent/skills/intelligent-routing/SKILL.md +202 -246
  124. package/.agent/skills/knowledge-graph/SKILL.md +60 -52
  125. package/.agent/skills/lint-and-validate/SKILL.md +261 -261
  126. package/.agent/skills/llm-engineering/SKILL.md +400 -394
  127. package/.agent/skills/local-first/SKILL.md +178 -178
  128. package/.agent/skills/mcp-builder/SKILL.md +143 -142
  129. package/.agent/skills/mobile-design/SKILL.md +272 -263
  130. package/.agent/skills/monorepo-management/SKILL.md +335 -334
  131. package/.agent/skills/motion-engineering/SKILL.md +266 -234
  132. package/.agent/skills/nextjs-react-expert/SKILL.md +236 -234
  133. package/.agent/skills/nodejs-best-practices/SKILL.md +547 -548
  134. package/.agent/skills/observability/SKILL.md +343 -343
  135. package/.agent/skills/parallel-agents/SKILL.md +143 -146
  136. package/.agent/skills/performance-profiling/SKILL.md +259 -267
  137. package/.agent/skills/plan-writing/SKILL.md +150 -142
  138. package/.agent/skills/platform-engineer/SKILL.md +148 -147
  139. package/.agent/skills/playwright-best-practices/SKILL.md +188 -187
  140. package/.agent/skills/powershell-windows/SKILL.md +162 -162
  141. package/.agent/skills/project-idioms/SKILL.md +137 -137
  142. package/.agent/skills/python-patterns/SKILL.md +260 -259
  143. package/.agent/skills/python-pro/SKILL.md +324 -323
  144. package/.agent/skills/react-specialist/SKILL.md +305 -277
  145. package/.agent/skills/readme-builder/SKILL.md +310 -300
  146. package/.agent/skills/realtime-patterns/SKILL.md +323 -319
  147. package/.agent/skills/red-team-tactics/SKILL.md +231 -218
  148. package/.agent/skills/review-animations/SKILL.md +72 -0
  149. package/.agent/skills/review-animations/STANDARDS.md +73 -0
  150. package/.agent/skills/rust-pro/SKILL.md +671 -673
  151. package/.agent/skills/seo-fundamentals/SKILL.md +179 -179
  152. package/.agent/skills/server-management/SKILL.md +218 -214
  153. package/.agent/skills/shadcn-ui-expert/SKILL.md +231 -231
  154. package/.agent/skills/skill-creator/SKILL.md +87 -86
  155. package/.agent/skills/sql-pro/SKILL.md +629 -629
  156. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +97 -97
  157. package/.agent/skills/swiftui-expert/SKILL.md +204 -201
  158. package/.agent/skills/system-design-pro/SKILL.md +345 -0
  159. package/.agent/skills/systematic-debugging/SKILL.md +153 -142
  160. package/.agent/skills/tailwind-patterns/SKILL.md +610 -566
  161. package/.agent/skills/tdd-workflow/SKILL.md +169 -161
  162. package/.agent/skills/test-result-analyzer/SKILL.md +313 -309
  163. package/.agent/skills/testing-patterns/SKILL.md +566 -579
  164. package/.agent/skills/trend-researcher/SKILL.md +243 -237
  165. package/.agent/skills/typescript-advanced/SKILL.md +336 -335
  166. package/.agent/skills/ui-ux-pro-max/SKILL.md +590 -562
  167. package/.agent/skills/ui-ux-researcher/SKILL.md +244 -244
  168. package/.agent/skills/vue-expert/SKILL.md +294 -275
  169. package/.agent/skills/vulnerability-scanner/SKILL.md +416 -404
  170. package/.agent/skills/web-accessibility-auditor/SKILL.md +219 -218
  171. package/.agent/skills/web-design-guidelines/SKILL.md +192 -186
  172. package/.agent/skills/webapp-testing/SKILL.md +167 -169
  173. package/.agent/skills/webgpu-performance/SKILL.md +56 -2
  174. package/.agent/skills/whimsy-injector/SKILL.md +346 -325
  175. package/.agent/skills/workflow-optimizer/SKILL.md +231 -229
  176. package/.agent/workflows/acf.md +141 -0
  177. package/.agent/workflows/api-tester.md +176 -151
  178. package/.agent/workflows/audit.md +150 -127
  179. package/.agent/workflows/brainstorm.md +134 -110
  180. package/.agent/workflows/changelog.md +140 -112
  181. package/.agent/workflows/create.md +168 -124
  182. package/.agent/workflows/debug.md +190 -165
  183. package/.agent/workflows/deploy.md +201 -180
  184. package/.agent/workflows/enhance.md +154 -128
  185. package/.agent/workflows/fix.md +136 -114
  186. package/.agent/workflows/generate.md +198 -183
  187. package/.agent/workflows/marathon.md +37 -11
  188. package/.agent/workflows/migrate.md +184 -160
  189. package/.agent/workflows/orchestrate.md +192 -168
  190. package/.agent/workflows/performance-benchmarker.md +135 -114
  191. package/.agent/workflows/plan.md +196 -173
  192. package/.agent/workflows/preview.md +103 -80
  193. package/.agent/workflows/refactor.md +192 -161
  194. package/.agent/workflows/review-ai.md +125 -101
  195. package/.agent/workflows/review.md +141 -116
  196. package/.agent/workflows/session.md +122 -94
  197. package/.agent/workflows/status.md +101 -79
  198. package/.agent/workflows/strengthen-skills.md +164 -138
  199. package/.agent/workflows/super-prompt.md +24 -0
  200. package/.agent/workflows/swarm.md +193 -179
  201. package/.agent/workflows/test.md +211 -189
  202. package/.agent/workflows/tribunal-backend.md +136 -105
  203. package/.agent/workflows/tribunal-database.md +129 -95
  204. package/.agent/workflows/tribunal-frontend.md +140 -96
  205. package/.agent/workflows/tribunal-full.md +131 -100
  206. package/.agent/workflows/tribunal-mobile.md +129 -95
  207. package/.agent/workflows/tribunal-performance.md +136 -110
  208. package/.agent/workflows/tribunal-speed.md +209 -183
  209. package/.agent/workflows/ui-ux-pro-max.md +155 -122
  210. package/README.md +107 -55
  211. package/mcp_config.json +1 -3
  212. package/package.json +94 -94
  213. package/.agent/GEMINI.md +0 -121
  214. package/.agent/skills/doc.md +0 -177
@@ -1,223 +1,228 @@
1
- ---
2
- name: architecture
3
- description: Software architecture mastery. System design patterns, clean architecture, hexagonal/ports-and-adapters, event-driven architecture, microservices vs monolith decision framework, CQRS, domain-driven design, Architecture Decision Records (ADRs), and scalability patterns. Use when making architecture decisions, designing systems, or documenting technical decisions.
4
- allowed-tools: Read, Write, Edit, Glob, Grep
5
- version: 3.1.0
6
- last-updated: 2026-04-07
7
- applies-to-model: gemini-3-1-pro, claude-3-7-sonnet
8
- ---
9
-
10
- ## Hallucination Traps (Read First)
11
- - ❌ Choosing microservices for a team of 1-3 developers -> ✅ Start monolith, extract services only when team/scale demands it
12
- - ❌ Using event-driven architecture without understanding eventual consistency -> ✅ Events mean data will be stale; design for it
13
- - Skipping ADRs (Architecture Decision Records) -> ✅ Every non-obvious decision needs a written 'why' for future maintainers
14
-
15
- ---
16
-
17
-
18
- # Architecture — System Design Mastery
19
-
20
- ## Architecture Selection
21
-
22
- ```
23
- Team size? Scale? Cadence?
24
- 1–5 → Monolith <10K RPM → Monolith Weekly → Monolith
25
- 5–20 → Mod. Mono <100K RPM → Mono+CDN Daily → Modular Mono
26
- 20+ → Microsvcs >100K RPM → Microsvcs Per-svc → Microsvcs
27
-
28
- Microservices are NOT inherently better.
29
- A well-structured monolith beats a poorly designed microservice system.
30
- Start monolith. Extract services only when proven necessary.
31
- ```
32
-
33
- **3 Questions Before Any Pattern:**
34
- 1. What SPECIFIC problem does this pattern solve?
35
- 2. Is there a simpler solution?
36
- 3. Can we add this LATER when proven needed?
37
-
38
- ---
39
-
40
- ## Clean Architecture (Dependency Rule)
41
-
42
- ```
43
- Presentation → Application → Domain ← Infrastructure
44
- (Controllers) (Use Cases) (Entities) (DB, APIs)
45
-
46
- Dependency Rule: arrows point INWARD. Domain knows NOTHING about infra.
47
- Application defines interfaces (ports). Infrastructure implements them (adapters).
48
- ```
49
-
50
- ```typescript
51
- // Domain pure business logic, zero external dependencies
52
- interface UserRepository { findById(id: string): Promise<User | null>; }
53
- class User {
54
- promote(): void {
55
- if (this._role === UserRole.ADMIN) throw new DomainError("Already admin");
56
- this._role = UserRole.ADMIN;
57
- }
58
- }
59
-
60
- // Application — orchestrates use cases
61
- class PromoteUserUseCase {
62
- async execute(userId: string): Promise<void> {
63
- const user = await this.userRepo.findById(userId);
64
- if (!user) throw new NotFoundError("User", userId);
65
- user.promote();
66
- await this.userRepo.save(user);
67
- await this.eventBus.publish(new UserPromotedEvent(userId));
68
- }
69
- }
70
-
71
- // Infrastructure — concrete implementations of ports
72
- class PostgresUserRepository implements UserRepository {
73
- async findById(id: string) { /* db.query(...) */ }
74
- }
75
- ```
76
-
77
- ---
78
-
79
- ## CQRS
80
-
81
- ```
82
- Commands (Write) → Normalized Write DB
83
- Queries (Read) → Denormalized/Cached Read Model
84
-
85
- When to use: ✅ Read/write patterns diverge ✅ 10:1+ read:write ratio ✅ Event sourcing
86
- When NOT to: ❌ Simple CRUD ❌ Team < 3 devs ❌ Read/write models are identical
87
- ```
88
-
89
- ---
90
-
91
- ## Event-Driven Architecture
92
-
93
- ```
94
- Event Types:
95
- Domain Events → "OrderPlaced" within a bounded context
96
- Integration Events → Cross-service via message queue
97
- Notification Events → Fire-and-forget (logging, analytics)
98
-
99
- Broker Selection:
100
- BullMQ / Redis Streams → Simple, single-service queues
101
- RabbitMQ → Complex routing, dead-letter queues
102
- Apache Kafka → High throughput, replay, event log
103
- AWS SQS/SNS Managed, serverless-friendly
104
-
105
- Outbox Pattern (reliable publishing):
106
- 1. Save entity + event in ONE DB transaction
107
- 2. Background worker polls outbox → publishes to broker
108
- 3. Mark as publishedguarantees at-least-once delivery
109
- ```
110
-
111
- ---
112
-
113
- ## Anti-Patterns Reference
114
-
115
- | Pattern | When it's an Anti-Pattern | Simpler Alternative |
116
- |---------|--------------------------|---------------------|
117
- | Microservices | Before team or scale justifies it | Modular monolith |
118
- | Clean/Hexagonal | Over-abstraction for simple CRUD | Concrete first, interfaces later |
119
- | Event Sourcing | No business requirement for audit/replay | Append-only audit log |
120
- | CQRS | Simple data model, no read/write divergence | Single model |
121
- | Repository | Simple CRUD, single database | ORM direct access |
122
-
123
- ---
124
-
125
- ## Architecture Decision Records (ADRs)
126
-
127
- ```markdown
128
- ## ADR-001: [Decision Title]
129
- **Status:** Proposed | Accepted | Deprecated | Superseded by ADR-XXX
130
-
131
- **Context:** [Problem + constraints: team, scale, timeline]
132
-
133
- **Decision:** [What was chosen — be specific]
134
-
135
- **Rationale:** [Why — tied to requirements]
136
-
137
- **Trade-offs:** [What we consciously give up]
138
-
139
- **Consequences:**
140
- - Positive: [Benefits]
141
- - Negative: [Costs/Risks]
142
- - Mitigation: [How to address negatives]
143
-
144
- **Revisit when:** [Trigger conditions]
145
- ```
146
-
147
- ADR storage: `docs/architecture/adr-001-title.md`
148
-
149
- ---
150
-
151
- ## Scalability Patterns
152
-
153
- ```
154
- Read scaling: Redis cache → Read replicas → CDN for static assets
155
- Write scaling: Queue writes → Partition data → Event sourcing
156
- Stateless: Sessions in Redis → JWT → No server affinity
157
- DB scaling: Connection pooling → Read replicas → Partitioning → Sharding (last resort)
158
- Cache layers: L1: In-memory (process) L2: Redis (shared) L3: CDN (edge)
159
- ```
160
-
161
- ## Scale-to-Architecture Matrix
162
-
163
- ```
164
- MVP SaaS Enterprise
165
- Scale: <1K 1K–100K 100K+
166
- Team: Solo 2–10 10+
167
- Architecture: Simple Mono Modular Mono Distributed
168
- Framework: Next.js API NestJS Microservices
169
- ```
170
-
171
-
172
- ---
173
-
174
-
175
-
176
- AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
177
-
178
- 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
179
- 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
180
- 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
181
- 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
182
- 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
183
-
184
- ---
185
-
186
-
187
-
188
- **Slash command: `/review` or `/tribunal-full`**
189
- **Active reviewers: `logic-reviewer` · `security-auditor`**
190
-
191
- ### ❌ Forbidden AI Tropes
192
-
193
- 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
194
- 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
195
- 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
196
-
197
-
198
-
199
- Review these questions before confirming output:
200
- ```
201
- ✅ Did I rely ONLY on real, verified tools and methods?
202
- ✅ Is this solution appropriately scoped to the user's constraints?
203
- ✅ Did I handle potential failure modes and edge cases?
204
- ✅ Have I avoided generic boilerplate that doesn't add value?
205
- ```
206
-
207
- ### 🛑 Verification-Before-Completion (VBC) Protocol
208
-
209
- **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
210
- - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
211
- - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
212
-
213
-
214
- ## Pre-Flight Checklist
215
- - [ ] Have I reviewed the user's specific constraints and requests?
216
- - [ ] Have I checked the environment for relevant existing implementations?
217
-
218
- ## VBC Protocol (Verification-Before-Completion)
219
- You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
1
+ ---
2
+ name: architecture
3
+ description: Software architecture mastery. System design patterns, clean architecture, hexagonal/ports-and-adapters, event-driven architecture, microservices vs monolith decision framework, CQRS, domain-driven design, Architecture Decision Records (ADRs), and scalability patterns. Use when making architecture decisions, designing systems, or documenting technical decisions.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ version: 3.1.0
6
+ last-updated: 2026-04-07
7
+ applies-to-model: gemini-3-1-pro, claude-3-7-sonnet
8
+ routing:
9
+ domain: general
10
+ tier: basic
11
+ ---
12
+
13
+ ## Hallucination Traps (Read First)
14
+
15
+ - ❌ Choosing microservices for a team of 1-3 developers -> ✅ Start monolith, extract services only when team/scale demands it
16
+ - ❌ Using event-driven architecture without understanding eventual consistency -> ✅ Events mean data will be stale; design for it
17
+ - ❌ Skipping ADRs (Architecture Decision Records) -> ✅ Every non-obvious decision needs a written 'why' for future maintainers
18
+
19
+ ---
20
+
21
+ # Architecture — System Design Mastery
22
+
23
+ ## Architecture Selection
24
+
25
+ ```
26
+ Team size? Scale? Cadence?
27
+ 1–5 → Monolith <10K RPM → Monolith Weekly → Monolith
28
+ 5–20 → Mod. Mono <100K RPM Mono+CDN Daily → Modular Mono
29
+ 20+ Microsvcs >100K RPM Microsvcs Per-svc Microsvcs
30
+
31
+ ❌ Microservices are NOT inherently better.
32
+ A well-structured monolith beats a poorly designed microservice system.
33
+ Start monolith. Extract services only when proven necessary.
34
+ ```
35
+
36
+ **3 Questions Before Any Pattern:**
37
+
38
+ 1. What SPECIFIC problem does this pattern solve?
39
+ 2. Is there a simpler solution?
40
+ 3. Can we add this LATER when proven needed?
41
+
42
+ ---
43
+
44
+ ## Clean Architecture (Dependency Rule)
45
+
46
+ ```
47
+ Presentation → Application Domain Infrastructure
48
+ (Controllers) (Use Cases) (Entities) (DB, APIs)
49
+
50
+ Dependency Rule: arrows point INWARD. Domain knows NOTHING about infra.
51
+ Application defines interfaces (ports). Infrastructure implements them (adapters).
52
+ ```
53
+
54
+ ```typescript
55
+ // Domain pure business logic, zero external dependencies
56
+ interface UserRepository {
57
+ findById(id: string): Promise<User | null>;
58
+ }
59
+ class User {
60
+ promote(): void {
61
+ if (this._role === UserRole.ADMIN) throw new DomainError("Already admin");
62
+ this._role = UserRole.ADMIN;
63
+ }
64
+ }
65
+
66
+ // Application — orchestrates use cases
67
+ class PromoteUserUseCase {
68
+ async execute(userId: string): Promise<void> {
69
+ const user = await this.userRepo.findById(userId);
70
+ if (!user) throw new NotFoundError("User", userId);
71
+ user.promote();
72
+ await this.userRepo.save(user);
73
+ await this.eventBus.publish(new UserPromotedEvent(userId));
74
+ }
75
+ }
76
+
77
+ // Infrastructure — concrete implementations of ports
78
+ class PostgresUserRepository implements UserRepository {
79
+ async findById(id: string) {
80
+ /* db.query(...) */
81
+ }
82
+ }
83
+ ```
84
+
85
+ ---
86
+
87
+ ## CQRS
88
+
89
+ ```
90
+ Commands (Write) → Normalized Write DB
91
+ Queries (Read) → Denormalized/Cached Read Model
92
+
93
+ When to use: ✅ Read/write patterns diverge ✅ 10:1+ read:write ratio ✅ Event sourcing
94
+ When NOT to: ❌ Simple CRUD ❌ Team < 3 devs ❌ Read/write models are identical
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Event-Driven Architecture
100
+
101
+ ```
102
+ Event Types:
103
+ Domain Events "OrderPlaced" within a bounded context
104
+ Integration Events → Cross-service via message queue
105
+ Notification Events → Fire-and-forget (logging, analytics)
106
+
107
+ Broker Selection:
108
+ BullMQ / Redis StreamsSimple, single-service queues
109
+ RabbitMQ → Complex routing, dead-letter queues
110
+ Apache Kafka → High throughput, replay, event log
111
+ AWS SQS/SNS → Managed, serverless-friendly
112
+
113
+ Outbox Pattern (reliable publishing):
114
+ 1. Save entity + event in ONE DB transaction
115
+ 2. Background worker polls outbox publishes to broker
116
+ 3. Mark as published → guarantees at-least-once delivery
117
+ ```
118
+
119
+ ---
120
+
121
+ ## Anti-Patterns Reference
122
+
123
+ | Pattern | When it's an Anti-Pattern | Simpler Alternative |
124
+ | --------------- | ------------------------------------------- | -------------------------------- |
125
+ | Microservices | Before team or scale justifies it | Modular monolith |
126
+ | Clean/Hexagonal | Over-abstraction for simple CRUD | Concrete first, interfaces later |
127
+ | Event Sourcing | No business requirement for audit/replay | Append-only audit log |
128
+ | CQRS | Simple data model, no read/write divergence | Single model |
129
+ | Repository | Simple CRUD, single database | ORM direct access |
130
+
131
+ ---
132
+
133
+ ## Architecture Decision Records (ADRs)
134
+
135
+ ```markdown
136
+ ## ADR-001: [Decision Title]
137
+
138
+ **Status:** Proposed | Accepted | Deprecated | Superseded by ADR-XXX
139
+
140
+ **Context:** [Problem + constraints: team, scale, timeline]
141
+
142
+ **Decision:** [What was chosen — be specific]
143
+
144
+ **Rationale:** [Why — tied to requirements]
145
+
146
+ **Trade-offs:** [What we consciously give up]
147
+
148
+ **Consequences:**
149
+
150
+ - Positive: [Benefits]
151
+ - Negative: [Costs/Risks]
152
+ - Mitigation: [How to address negatives]
220
153
 
154
+ **Revisit when:** [Trigger conditions]
155
+ ```
156
+
157
+ ADR storage: `docs/architecture/adr-001-title.md`
158
+
159
+ ---
160
+
161
+ ## Scalability Patterns
162
+
163
+ ```
164
+ Read scaling: Redis cache → Read replicas → CDN for static assets
165
+ Write scaling: Queue writes → Partition data → Event sourcing
166
+ Stateless: Sessions in Redis → JWT → No server affinity
167
+ DB scaling: Connection pooling → Read replicas → Partitioning → Sharding (last resort)
168
+ Cache layers: L1: In-memory (process) L2: Redis (shared) L3: CDN (edge)
169
+ ```
170
+
171
+ ## Scale-to-Architecture Matrix
172
+
173
+ ```
174
+ MVP SaaS Enterprise
175
+ Scale: <1K 1K–100K 100K+
176
+ Team: Solo 2–10 10+
177
+ Architecture: Simple Mono Modular Mono Distributed
178
+ Framework: Next.js API NestJS Microservices
179
+ ```
180
+
181
+ ---
182
+
183
+ AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
184
+
185
+ 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
186
+ 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
187
+ 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
188
+ 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
189
+ 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
190
+
191
+ ---
192
+
193
+ **Slash command: `/review` or `/tribunal-full`**
194
+ **Active reviewers: `logic-reviewer` · `security-auditor`**
195
+
196
+ ### ❌ Forbidden AI Tropes
197
+
198
+ 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
199
+ 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
200
+ 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
201
+
202
+ Review these questions before confirming output:
203
+
204
+ ```
205
+ ✅ Did I rely ONLY on real, verified tools and methods?
206
+ ✅ Is this solution appropriately scoped to the user's constraints?
207
+ ✅ Did I handle potential failure modes and edge cases?
208
+ ✅ Have I avoided generic boilerplate that doesn't add value?
209
+ ```
210
+
211
+ ### 🛑 Verification-Before-Completion (VBC) Protocol
212
+
213
+ **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
214
+
215
+ - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
216
+ - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
217
+
218
+ ## Pre-Flight Checklist
219
+
220
+ - [ ] Have I reviewed the user's specific constraints and requests?
221
+ - [ ] Have I checked the environment for relevant existing implementations?
222
+
223
+ ## VBC Protocol (Verification-Before-Completion)
224
+
225
+ You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
221
226
 
222
227
  ---
223
228
 
@@ -247,6 +252,7 @@ AI coding assistants often fall into specific bad habits when dealing with this
247
252
  ### ✅ Pre-Flight Self-Audit
248
253
 
249
254
  Review these questions before confirming output:
255
+
250
256
  ```
251
257
  ✅ Did I rely ONLY on real, verified tools and methods?
252
258
  ✅ Is this solution appropriately scoped to the user's constraints?
@@ -257,5 +263,6 @@ Review these questions before confirming output:
257
263
  ### 🛑 Verification-Before-Completion (VBC) Protocol
258
264
 
259
265
  **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
266
+
260
267
  - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
261
268
  - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.