@kienha/anti-chaotic 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/.agent/rules/clean-code.md +109 -0
  2. package/.agent/rules/documentation.md +178 -0
  3. package/.agent/rules/nano-banana.md +46 -0
  4. package/.agent/skills/ai-engineer/SKILL.md +23 -0
  5. package/.agent/skills/ai-engineer/references/llm.md +13 -0
  6. package/.agent/skills/backend-developer/SKILL.md +98 -0
  7. package/.agent/skills/backend-developer/references/general-patterns.md +65 -0
  8. package/.agent/skills/backend-developer/references/go-echo.md +68 -0
  9. package/.agent/skills/backend-developer/references/go-gin.md +76 -0
  10. package/.agent/skills/backend-developer/references/java-springboot.md +83 -0
  11. package/.agent/skills/backend-developer/references/node-express.md +64 -0
  12. package/.agent/skills/backend-developer/references/node-nestjs.md +69 -0
  13. package/.agent/skills/backend-developer/references/python-django.md +67 -0
  14. package/.agent/skills/backend-developer/references/python-fastapi.md +80 -0
  15. package/.agent/skills/blockchain-engineer/SKILL.md +23 -0
  16. package/.agent/skills/blockchain-engineer/references/evm.md +14 -0
  17. package/.agent/skills/business-analysis/SKILL.md +114 -0
  18. package/.agent/skills/business-analysis/references/best-practices/diagrams.md +141 -0
  19. package/.agent/skills/business-analysis/references/domains/ai-agent.md +94 -0
  20. package/.agent/skills/business-analysis/references/domains/blockchain-dapp.md +86 -0
  21. package/.agent/skills/business-analysis/references/domains/ecommerce.md +77 -0
  22. package/.agent/skills/business-analysis/references/domains/education.md +42 -0
  23. package/.agent/skills/business-analysis/references/domains/fintech.md +44 -0
  24. package/.agent/skills/business-analysis/references/domains/fnb.md +82 -0
  25. package/.agent/skills/business-analysis/references/domains/healthtech.md +44 -0
  26. package/.agent/skills/business-analysis/references/domains/internal-tools.md +38 -0
  27. package/.agent/skills/business-analysis/references/domains/marketplace.md +52 -0
  28. package/.agent/skills/business-analysis/references/domains/saas.md +36 -0
  29. package/.agent/skills/business-analysis/references/workflows/collaboration.md +41 -0
  30. package/.agent/skills/business-analysis/scripts/verify_mermaid.py +86 -0
  31. package/.agent/skills/business-analysis/templates/brd.md +46 -0
  32. package/.agent/skills/business-analysis/templates/change-request.md +41 -0
  33. package/.agent/skills/business-analysis/templates/prd-functional.md +38 -0
  34. package/.agent/skills/business-analysis/templates/use-case.md +40 -0
  35. package/.agent/skills/business-analysis/templates/user-story-detailed.md +36 -0
  36. package/.agent/skills/designer/SKILL.md +104 -0
  37. package/.agent/skills/designer/concepts/apple-glass.md +48 -0
  38. package/.agent/skills/designer/concepts/aurora-gradients.md +26 -0
  39. package/.agent/skills/designer/concepts/bento-grids.md +14 -0
  40. package/.agent/skills/designer/concepts/claymorphism.md +27 -0
  41. package/.agent/skills/designer/concepts/neo-brutalism.md +32 -0
  42. package/.agent/skills/designer/references/accessibility.md +172 -0
  43. package/.agent/skills/designer/references/branding.md +88 -0
  44. package/.agent/skills/designer/references/color-theory.md +139 -0
  45. package/.agent/skills/designer/references/creation.md +118 -0
  46. package/.agent/skills/designer/references/design-systems.md +219 -0
  47. package/.agent/skills/designer/references/layout.md +200 -0
  48. package/.agent/skills/designer/references/motion.md +92 -0
  49. package/.agent/skills/designer/references/review.md +100 -0
  50. package/.agent/skills/designer/references/trends.md +209 -0
  51. package/.agent/skills/designer/references/typography.md +190 -0
  52. package/.agent/skills/designer/templates/design-motion-spec.md +30 -0
  53. package/.agent/skills/devops-engineer/SKILL.md +93 -0
  54. package/.agent/skills/devops-engineer/references/ci-cd-pipelines.md +76 -0
  55. package/.agent/skills/devops-engineer/references/cloud-providers.md +57 -0
  56. package/.agent/skills/devops-engineer/references/codebase-normalization.md +104 -0
  57. package/.agent/skills/devops-engineer/references/container-orchestration.md +69 -0
  58. package/.agent/skills/devops-engineer/references/iac-tools.md +63 -0
  59. package/.agent/skills/devops-engineer/references/observability-security.md +45 -0
  60. package/.agent/skills/devops-engineer/references/vercel-supabase.md +17 -0
  61. package/.agent/skills/devops-engineer/templates/release-notes.md +8 -0
  62. package/.agent/skills/frontend-developer/SKILL.md +102 -0
  63. package/.agent/skills/frontend-developer/react/AGENTS.md +2410 -0
  64. package/.agent/skills/frontend-developer/react/SKILL.md +125 -0
  65. package/.agent/skills/frontend-developer/react/rules/advanced-event-handler-refs.md +55 -0
  66. package/.agent/skills/frontend-developer/react/rules/advanced-use-latest.md +49 -0
  67. package/.agent/skills/frontend-developer/react/rules/async-api-routes.md +38 -0
  68. package/.agent/skills/frontend-developer/react/rules/async-defer-await.md +80 -0
  69. package/.agent/skills/frontend-developer/react/rules/async-dependencies.md +36 -0
  70. package/.agent/skills/frontend-developer/react/rules/async-parallel.md +28 -0
  71. package/.agent/skills/frontend-developer/react/rules/async-suspense-boundaries.md +99 -0
  72. package/.agent/skills/frontend-developer/react/rules/bundle-barrel-imports.md +59 -0
  73. package/.agent/skills/frontend-developer/react/rules/bundle-conditional.md +31 -0
  74. package/.agent/skills/frontend-developer/react/rules/bundle-defer-third-party.md +49 -0
  75. package/.agent/skills/frontend-developer/react/rules/bundle-dynamic-imports.md +35 -0
  76. package/.agent/skills/frontend-developer/react/rules/bundle-preload.md +50 -0
  77. package/.agent/skills/frontend-developer/react/rules/client-event-listeners.md +74 -0
  78. package/.agent/skills/frontend-developer/react/rules/client-localstorage-schema.md +71 -0
  79. package/.agent/skills/frontend-developer/react/rules/client-passive-event-listeners.md +48 -0
  80. package/.agent/skills/frontend-developer/react/rules/client-swr-dedup.md +56 -0
  81. package/.agent/skills/frontend-developer/react/rules/js-batch-dom-css.md +82 -0
  82. package/.agent/skills/frontend-developer/react/rules/js-cache-function-results.md +80 -0
  83. package/.agent/skills/frontend-developer/react/rules/js-cache-property-access.md +28 -0
  84. package/.agent/skills/frontend-developer/react/rules/js-cache-storage.md +70 -0
  85. package/.agent/skills/frontend-developer/react/rules/js-combine-iterations.md +32 -0
  86. package/.agent/skills/frontend-developer/react/rules/js-early-exit.md +50 -0
  87. package/.agent/skills/frontend-developer/react/rules/js-hoist-regexp.md +45 -0
  88. package/.agent/skills/frontend-developer/react/rules/js-index-maps.md +37 -0
  89. package/.agent/skills/frontend-developer/react/rules/js-length-check-first.md +49 -0
  90. package/.agent/skills/frontend-developer/react/rules/js-min-max-loop.md +82 -0
  91. package/.agent/skills/frontend-developer/react/rules/js-set-map-lookups.md +24 -0
  92. package/.agent/skills/frontend-developer/react/rules/js-tosorted-immutable.md +57 -0
  93. package/.agent/skills/frontend-developer/react/rules/rendering-activity.md +26 -0
  94. package/.agent/skills/frontend-developer/react/rules/rendering-animate-svg-wrapper.md +47 -0
  95. package/.agent/skills/frontend-developer/react/rules/rendering-conditional-render.md +40 -0
  96. package/.agent/skills/frontend-developer/react/rules/rendering-content-visibility.md +38 -0
  97. package/.agent/skills/frontend-developer/react/rules/rendering-hoist-jsx.md +46 -0
  98. package/.agent/skills/frontend-developer/react/rules/rendering-hydration-no-flicker.md +82 -0
  99. package/.agent/skills/frontend-developer/react/rules/rendering-svg-precision.md +28 -0
  100. package/.agent/skills/frontend-developer/react/rules/rerender-defer-reads.md +39 -0
  101. package/.agent/skills/frontend-developer/react/rules/rerender-dependencies.md +45 -0
  102. package/.agent/skills/frontend-developer/react/rules/rerender-derived-state.md +29 -0
  103. package/.agent/skills/frontend-developer/react/rules/rerender-functional-setstate.md +74 -0
  104. package/.agent/skills/frontend-developer/react/rules/rerender-lazy-state-init.md +58 -0
  105. package/.agent/skills/frontend-developer/react/rules/rerender-memo.md +44 -0
  106. package/.agent/skills/frontend-developer/react/rules/rerender-transitions.md +40 -0
  107. package/.agent/skills/frontend-developer/react/rules/server-after-nonblocking.md +73 -0
  108. package/.agent/skills/frontend-developer/react/rules/server-cache-lru.md +41 -0
  109. package/.agent/skills/frontend-developer/react/rules/server-cache-react.md +76 -0
  110. package/.agent/skills/frontend-developer/react/rules/server-parallel-fetching.md +83 -0
  111. package/.agent/skills/frontend-developer/react/rules/server-serialization.md +38 -0
  112. package/.agent/skills/frontend-developer/references/angular.md +52 -0
  113. package/.agent/skills/frontend-developer/references/core-performance.md +68 -0
  114. package/.agent/skills/frontend-developer/references/modern-signals.md +43 -0
  115. package/.agent/skills/frontend-developer/references/react-next.md +67 -0
  116. package/.agent/skills/frontend-developer/references/react.md +91 -0
  117. package/.agent/skills/frontend-developer/references/vue-nuxt.md +55 -0
  118. package/.agent/skills/frontend-developer/scripts/validate_compliance.py +65 -0
  119. package/.agent/skills/lead-architect/SKILL.md +88 -0
  120. package/.agent/skills/lead-architect/references/application-architecture.md +70 -0
  121. package/.agent/skills/lead-architect/references/infrastructure.md +51 -0
  122. package/.agent/skills/lead-architect/references/process.md +42 -0
  123. package/.agent/skills/lead-architect/references/system-architecture.md +62 -0
  124. package/.agent/skills/lead-architect/references/web-fullstack.md +82 -0
  125. package/.agent/skills/lead-architect/templates/adr.md +62 -0
  126. package/.agent/skills/lead-architect/templates/rfc.md +46 -0
  127. package/.agent/skills/lead-architect/templates/sdd.md +62 -0
  128. package/.agent/skills/lead-architect/templates/technical-spec.md +61 -0
  129. package/.agent/skills/product-manager/SKILL.md +148 -0
  130. package/.agent/skills/product-manager/references/ba-collaboration.md +56 -0
  131. package/.agent/skills/product-manager/references/domain-guides.md +96 -0
  132. package/.agent/skills/product-manager/references/strategic-frameworks.md +62 -0
  133. package/.agent/skills/product-manager/references/task-decomposition.md +194 -0
  134. package/.agent/skills/product-manager/templates/pm-strategy-one-pager.md +6 -0
  135. package/.agent/skills/product-manager/templates/prd-strategic.md +38 -0
  136. package/.agent/skills/product-manager/templates/user-story-simple.md +14 -0
  137. package/.agent/skills/qa-tester/SKILL.md +120 -0
  138. package/.agent/skills/qa-tester/assets/README.md +8 -0
  139. package/.agent/skills/qa-tester/references/accessibility_testing.md +35 -0
  140. package/.agent/skills/qa-tester/references/agent_browser.md +38 -0
  141. package/.agent/skills/qa-tester/references/automation/api_testing.md +23 -0
  142. package/.agent/skills/qa-tester/references/automation/best_practices.md +14 -0
  143. package/.agent/skills/qa-tester/references/automation/jest_vitest.md +26 -0
  144. package/.agent/skills/qa-tester/references/automation/playwright.md +30 -0
  145. package/.agent/skills/qa-tester/references/e2e_testing.md +46 -0
  146. package/.agent/skills/qa-tester/references/integration_testing.md +39 -0
  147. package/.agent/skills/qa-tester/references/performance_testing.md +44 -0
  148. package/.agent/skills/qa-tester/references/security_testing.md +30 -0
  149. package/.agent/skills/qa-tester/references/test_case_standards.md +96 -0
  150. package/.agent/skills/qa-tester/references/test_report_template.md +32 -0
  151. package/.agent/skills/qa-tester/references/unit_testing.md +50 -0
  152. package/.agent/skills/qa-tester/references/visual_testing.md +32 -0
  153. package/.agent/skills/qa-tester/templates/uat-plan.md +34 -0
  154. package/.agent/skills/rules-workflows/SKILL.md +144 -0
  155. package/.agent/skills/rules-workflows/assets/example-rule-always-on.md +23 -0
  156. package/.agent/skills/rules-workflows/assets/example-rule-glob.md +24 -0
  157. package/.agent/skills/rules-workflows/assets/example-rule-manual.md +46 -0
  158. package/.agent/skills/rules-workflows/assets/example-rule-model-decision.md +51 -0
  159. package/.agent/skills/rules-workflows/assets/example-workflow.md +37 -0
  160. package/.agent/skills/rules-workflows/assets/templates/rule-project-context.md +26 -0
  161. package/.agent/skills/rules-workflows/assets/templates/workflow-agile-feature.md +62 -0
  162. package/.agent/skills/rules-workflows/references/orchestration-patterns.md +41 -0
  163. package/.agent/skills/rules-workflows/references/rules-guide.md +101 -0
  164. package/.agent/skills/rules-workflows/references/workflows-guide.md +54 -0
  165. package/.agent/skills/skill-creator/SKILL.md +311 -0
  166. package/.agent/skills/skill-creator/assets/skill-questionnaire.md +110 -0
  167. package/.agent/skills/skill-creator/scripts/__pycache__/encoding_utils.cpython-312.pyc +0 -0
  168. package/.agent/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
  169. package/.agent/skills/skill-creator/scripts/compare_skill.py +177 -0
  170. package/.agent/skills/skill-creator/scripts/encoding_utils.py +36 -0
  171. package/.agent/skills/skill-creator/scripts/init_skill.py +190 -0
  172. package/.agent/skills/skill-creator/scripts/quick_validate.py +123 -0
  173. package/.agent/workflows/generate-docs-from-codebase.md +335 -0
  174. package/.agent/workflows/requirement-analysis.md +336 -0
  175. package/.agent/workflows/setup-codebase.md +97 -0
  176. package/.agent/workflows/ui-ux-design.md +77 -0
  177. package/.agent/workflows/workflow-rule-from-codebase.md +43 -0
  178. package/.agent/workflows/workflow-rule-from-feedback.md +38 -0
  179. package/README.md +474 -0
  180. package/bin/ag.js +155 -0
  181. package/package.json +42 -0
@@ -0,0 +1,109 @@
1
+ ---
2
+ trigger: glob
3
+ globs: **/*.{ts,tsx,js,jsx,py,go,java,rb,c,cpp,h,hpp,rs,css,html}
4
+ ---
5
+
6
+ # Clean Code Standards
7
+
8
+ You must adhere to these clean code principles when generating or modifying code.
9
+
10
+ ## Core Principles
11
+
12
+ - **SOLID**: Follow Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion principles.
13
+ - **DRY (Don't Repeat Yourself)**: Extract common logic into functions or constants.
14
+ - **KISS (Keep It Simple, Stupid)**: Avoid over-engineering. Code should be easy to understand.
15
+ - **YAGNI (You Aren't Gonna Need It)**: Do not implement features or abstraction "just in case".
16
+
17
+ ## Naming Conventions
18
+
19
+ - Variables and functions should be descriptive (e.g., `isUserLoggedIn` instead of `flag`).
20
+ - Use consistent casing appropriate for the language (e.g., camelCase for JS/TS functions, snake_case for Python).
21
+ - Boolean variables should start with `is`, `has`, `should`, or `can`.
22
+
23
+ ## Functions
24
+
25
+ - Functions should ideally do one thing and do it well.
26
+ - Keep functions short. If a function is too long, break it down.
27
+ - Limit the number of arguments (3 or fewer is ideal).
28
+
29
+ ## Comments
30
+
31
+ - Comments should explain "why" something is done, not "what" the code does (unless it's complex/unintuitive).
32
+ - Remove commented-out code.
33
+
34
+ ## Error Handling
35
+
36
+ - Context-aware error handling. Do not silently swallow errors.
37
+ - Use explicit error types where possible.
38
+
39
+ ## Testing
40
+
41
+ - Write testable code. Avoid global state and side effects where possible.
42
+
43
+ ## File Length Limits
44
+
45
+ Files should be kept concise and focused. If a file exceeds these limits, consider splitting it:
46
+
47
+ | File Type | Max Lines | Notes |
48
+ | --------------------------- | --------- | ---------------------------------------------- |
49
+ | Components (`.tsx`, `.jsx`) | 200-300 | Split into smaller components or extract hooks |
50
+ | Utility/Helper files | 150-200 | Group related utilities, split by domain |
51
+ | API Routes/Handlers | 100-150 | Extract business logic to services |
52
+ | Test files | 300-400 | Group by feature, use describe blocks |
53
+ | Styles (`.css`) | 200-300 | Use CSS modules or split by component |
54
+ | Config files | 100 | Keep minimal, use separate config files |
55
+
56
+ **When to split:**
57
+
58
+ - When a file has multiple responsibilities (violates SRP)
59
+ - When scrolling becomes difficult to follow logic
60
+ - When imports section becomes excessively long (>15 imports)
61
+ - When the file has multiple large functions that could be independent
62
+
63
+ ## File Header Comments
64
+
65
+ Every new file MUST include a header comment at the top describing its purpose:
66
+
67
+ **Format for TypeScript/JavaScript:**
68
+
69
+ ```typescript
70
+ /**
71
+ * @file [filename]
72
+ * @description [Brief description of what this file contains and its purpose]
73
+ *
74
+ * @example (optional - for utilities/hooks)
75
+ * // Usage example here
76
+ */
77
+ ```
78
+
79
+ **Format for CSS:**
80
+
81
+ ```css
82
+ /**
83
+ * @file [filename]
84
+ * @description [Brief description of styles contained]
85
+ *
86
+ * Sections:
87
+ * - [List main sections if applicable]
88
+ */
89
+ ```
90
+
91
+ **Format for Python:**
92
+
93
+ ```python
94
+ """
95
+ [filename]
96
+
97
+ [Brief description of what this module contains and its purpose]
98
+
99
+ Example (optional):
100
+ >>> usage_example()
101
+ """
102
+ ```
103
+
104
+ **Requirements:**
105
+
106
+ - `@file`: The filename (e.g., `user.service.ts`)
107
+ - `@description`: 1-3 sentences explaining the file's purpose
108
+ - Keep headers concise but informative
109
+ - Update headers when file purpose changes significantly
@@ -0,0 +1,178 @@
1
+ ---
2
+ trigger: model_decision
3
+ description: Always apply when creating, organizing, or modifying documentation files
4
+ ---
5
+
6
+ # Documentation Structure Rule
7
+
8
+ > [!IMPORTANT]
9
+ > This rule is **MANDATORY** for all documentation operations. Violations will result in incorrect project structure.
10
+
11
+ ## Critical Rules (MUST Follow)
12
+
13
+ 1. **MUST** save all documents to `docs/` folder - NEVER create documents in project root or other folders
14
+ 2. **MUST** use Dewey Decimal folder structure (010, 020, 030, etc.)
15
+ 3. **MUST** include YAML frontmatter in every document
16
+ 4. **MUST** update relevant MOC file after creating a new document
17
+ 5. **MUST** use wiki-links `[[Document-Name]]` for cross-references
18
+ 6. **MUST NOT** create custom folder structures like `01-product/`, `02-analysis/`
19
+ 7. **MUST NOT** create documents without checking Document Type Mapping first
20
+
21
+ ## Decision Flow
22
+
23
+ ```
24
+ ┌─────────────────────────────────────────────────────────────┐
25
+ │ BEFORE creating any document, ask yourself: │
26
+ ├─────────────────────────────────────────────────────────────┤
27
+ │ 1. Does docs/ folder exist? │
28
+ │ NO → Create folder structure (see Required Structure) │
29
+ │ YES → Continue │
30
+ ├─────────────────────────────────────────────────────────────┤
31
+ │ 2. What type of document is this? │
32
+ │ → Look up in Document Type Mapping table │
33
+ │ → Get exact target folder and naming convention │
34
+ ├─────────────────────────────────────────────────────────────┤
35
+ │ 3. Does target folder exist? │
36
+ │ NO → Create it with proper Dewey Decimal prefix │
37
+ │ YES → Continue │
38
+ ├─────────────────────────────────────────────────────────────┤
39
+ │ 4. Create document with: │
40
+ │ → Correct naming convention │
41
+ │ → Required frontmatter │
42
+ │ → Wiki-links to related documents │
43
+ ├─────────────────────────────────────────────────────────────┤
44
+ │ 5. AFTER creating document: │
45
+ │ → Update parent folder's MOC file │
46
+ │ → Update 000-Index.md if major document │
47
+ └─────────────────────────────────────────────────────────────┘
48
+ ```
49
+
50
+ ## Document Type Mapping
51
+
52
+ | Category | Document Type | Target Folder | Naming Convention |
53
+ | -------------------- | ------------------- | -------------------------------------- | -------------------------- |
54
+ | **010-Planning** | Roadmap | `docs/010-Planning/` | `Roadmap.md` |
55
+ | | OKRs | `docs/010-Planning/` | `OKRs.md` |
56
+ | | Sprint | `docs/010-Planning/Sprints/` | `Sprint-{NNN}.md` |
57
+ | **020-Requirements** | PRD | `docs/020-Requirements/` | `PRD-{ProjectName}.md` |
58
+ | | BRD | `docs/020-Requirements/BRD/` | `BRD-{NNN}-{Title}.md` |
59
+ | | Use Case | `docs/020-Requirements/Use-Cases/` | `UC-{NN}-{Title}.md` |
60
+ | **022-User-Stories** | Epic | `docs/022-User-Stories/Epics/` | `Epic-{Title}.md` |
61
+ | | User Story | `docs/022-User-Stories/Backlog/` | `Story-{Title}.md` |
62
+ | | Active Story | `docs/022-User-Stories/Active-Sprint/` | `Story-{Title}.md` |
63
+ | **030-Specs** | ADR | `docs/030-Specs/Architecture/` | `ADR-{NNN}-{Title}.md` |
64
+ | | RFC | `docs/030-Specs/Architecture/` | `RFC-{NNN}-{Title}.md` |
65
+ | | SDD (System Design) | `docs/030-Specs/Architecture/` | `SDD-{ProjectName}.md` |
66
+ | | Technical Spec | `docs/030-Specs/` | `Spec-{Feature}.md` |
67
+ | | API Endpoint Spec | `docs/030-Specs/API/` | `Endpoint-{Name}.md` |
68
+ | | DB Schema | `docs/030-Specs/Schema/` | `DB-Entity-{Name}.md` |
69
+ | **035-QA** | Test Plan | `docs/035-QA/Test-Plans/` | `MTP-{Name}.md` |
70
+ | | Test Case | `docs/035-QA/Test-Cases/` | `TC-{Feature}-{NNN}.md` |
71
+ | **040-Design** | Design System | `docs/040-Design/Design-System/` | `{Component}.md` |
72
+ | | Wireframe | `docs/040-Design/Wireframes/` | `WF-{Screen}-{Device}.png` |
73
+ | **050-Research** | Research/Analysis | `docs/050-Research/` | `Analysis-{Topic}.md` |
74
+ | **060-Manuals** | User Guide | `docs/060-Manuals/User-Guide/` | `{Topic}.md` |
75
+ | | Admin Guide | `docs/060-Manuals/Admin-Guide/` | `{Topic}.md` |
76
+ | **090-Archive** | Deprecated Docs | `docs/090-Archive/` | `{Original-Name}.md` |
77
+ | **999-Resources** | Meeting Notes | `docs/999-Resources/Meeting-Notes/` | `{Type}-{Date}.md` |
78
+ | | Glossary | `docs/999-Resources/` | `Glossary.md` |
79
+ | | Template | `docs/999-Resources/Templates/` | `Template-{Type}.md` |
80
+
81
+ ## Required Folder Structure
82
+
83
+ ```
84
+ docs/
85
+ ├── 000-Index.md # "Home Page" - MUST exist
86
+
87
+ ├── 010-Planning/ # Strategy, Timelines, Roadmaps
88
+ │ ├── Planning-MOC.md # REQUIRED MOC
89
+ │ ├── Roadmap.md
90
+ │ ├── OKRs.md
91
+ │ └── Sprints/
92
+
93
+ ├── 020-Requirements/ # Business Requirements
94
+ │ ├── Requirements-MOC.md # REQUIRED MOC
95
+ │ ├── BRD/
96
+ │ └── Use-Cases/
97
+
98
+ ├── 022-User-Stories/ # Agile Backlog
99
+ │ ├── Stories-MOC.md # REQUIRED MOC
100
+ │ ├── Epics/
101
+ │ ├── Active-Sprint/
102
+ │ └── Backlog/
103
+
104
+ ├── 030-Specs/ # Technical Specs
105
+ │ ├── Specs-MOC.md # REQUIRED MOC
106
+ │ ├── Architecture/
107
+ │ ├── API/
108
+ │ └── Schema/
109
+
110
+ ├── 035-QA/ # Quality Assurance
111
+ │ ├── QA-MOC.md # REQUIRED MOC
112
+ │ ├── Test-Plans/
113
+ │ ├── Test-Cases/
114
+ │ ├── Automation/
115
+ │ ├── Reports/
116
+ │ └── Performance/
117
+
118
+ ├── 040-Design/ # UI/UX & Frontend
119
+ │ ├── Design-MOC.md # REQUIRED MOC
120
+ │ ├── Wireframes/
121
+ │ ├── Design-System/
122
+ │ ├── Specs/
123
+ │ └── Assets/
124
+
125
+ ├── 050-Research/ # Discovery & Analysis
126
+ │ ├── Research-MOC.md # REQUIRED MOC
127
+ │ ├── Competitor-Analysis/
128
+ │ └── User-Interviews/
129
+
130
+ ├── 060-Manuals/ # End-User Documentation
131
+ │ ├── Manuals-MOC.md # REQUIRED MOC
132
+ │ ├── User-Guide/
133
+ │ └── Admin-Guide/
134
+
135
+ ├── 090-Archive/ # Deprecated docs (never delete)
136
+
137
+ └── 999-Resources/ # Templates, Scripts, Glossary
138
+ ├── Templates/
139
+ ├── Glossary.md
140
+ └── Meeting-Notes/
141
+ ```
142
+
143
+ ## Frontmatter Template
144
+
145
+ Every document MUST include this frontmatter:
146
+
147
+ ```yaml
148
+ ---
149
+ id: {TYPE}-{NNN} # Unique identifier (e.g., PRD-001, UC-01)
150
+ type: {document_type} # prd, brd, use-case, epic, story, spec, adr, etc.
151
+ status: draft|review|approved|deprecated
152
+ project: {project_name} # Optional: for multi-project docs
153
+ owner: @{team_or_person} # Optional: responsible party
154
+ tags: [tag1, tag2] # Optional: for search/filtering
155
+ linked-to: [[Related-Doc]] # Optional: primary relationship
156
+ created: YYYY-MM-DD
157
+ updated: YYYY-MM-DD # Optional: last update date
158
+ ---
159
+ ```
160
+
161
+ ## Linking Rules
162
+
163
+ 1. **PRD** → links to Epics it spawns: `## Related Epics\n- [[Epic-Feature1]]\n- [[Epic-Feature2]]`
164
+ 2. **Epic** → links to parent PRD: `Implements: [[PRD-ProjectName]]`
165
+ 3. **Use Case** → links to Epic: `Part of: [[Epic-Feature]]`
166
+ 4. **SDD** → links to PRD: `Implements: [[PRD-ProjectName]]`
167
+ 5. **ADR** → links to SDD: `Related to: [[SDD-ProjectName]]`
168
+
169
+ ## Validation Checklist
170
+
171
+ Before finalizing any document, verify:
172
+
173
+ - [ ] Document is in correct `docs/XXX-Category/` folder
174
+ - [ ] Filename follows naming convention from mapping table
175
+ - [ ] Frontmatter includes required fields (id, type, status, created)
176
+ - [ ] Wiki-links to related documents are added
177
+ - [ ] Parent folder's MOC file is updated with link to new document
178
+ - [ ] 000-Index.md updated (for major documents like PRD, SDD)
@@ -0,0 +1,46 @@
1
+ ---
2
+ trigger: model_decision
3
+ description: Apply this rule when generating images, icons, or visual assets using generate_image tool.
4
+ ---
5
+
6
+ # Generate Image Usage Guide
7
+
8
+ ## 1. The Prompting Formula
9
+
10
+ To maximize image quality, ALWAYS structure your prompt using this progression. Do not just send a raw description.
11
+
12
+ **`[Core Subject]` + `[Visual Style]` + `[Lighting/Color]` + `[Technical/Quality specs]`**
13
+
14
+ ### Examples:
15
+
16
+ - **Bad**: "A robot"
17
+ - **Good**: "Cute round robot avatar, flat vector art style, soft indigo and white lighting, minimal UI icon, high resolution"
18
+
19
+ - **Bad**: "Dashboard background"
20
+ - **Good**: "Abstract geometric patterns, soft cyberpunk aesthetic, dark slate and neon blue dark mode, subtle texture, 4k wallpaper"
21
+
22
+ ## 2. Capability & Constraints
23
+
24
+ - **Naming**: You **MUST** use `snake_case` with a maximum of **3 words**.
25
+ - ✅ `hero_robot_icon`
26
+ - ❌ `HeroRobotIcon` (CamelCase not allowed)
27
+ - ❌ `blue_hero_robot_floating_in_space` (Too long)
28
+ - **Text Handling**: The tool cannot render legible text. **NEVER** ask for text inside the image (e.g., "A button that says Start"). Request the _button shape_ only.
29
+ - **Composition**: It excels at single objects (Icons, Avatars) and abstract backgrounds. It struggles with complex multi-character scenes or precise UI layouts.
30
+
31
+ ## 3. High-Leverage Keywords
32
+
33
+ Use these specific keywords to steer the model towards specific outcomes:
34
+
35
+ | Goal | Keywords to Inject |
36
+ | :-------------- | :------------------------------------------------------------------------------------------------- |
37
+ | **UI Icons** | `vector icon`, `flat design`, `minimalist`, `app icon`, `white background`, `svg style` |
38
+ | **Game Assets** | `game sprite`, `isometric view`, `digital painting`, `character concept`, `unreal engine 5 render` |
39
+ | **Backgrounds** | `abstract`, `bokeh`, `gradient`, `blur`, `texture`, `wallpaper`, `geometric` |
40
+ | **Styling** | `soft lighting`, `cinematic`, `volumetric light`, `rule of thirds`, `ultra detailed` |
41
+
42
+ ## 4. Operational Best Practices
43
+
44
+ 1. **One Concept per Request**: Don't try to generate a "Dashboard with a sidebar and a chart". Generate the "Sidebar background" and the "Chart graphic" separately.
45
+ 2. **Color Accuracy**: Use descriptive color names ("Emerald Green", "Midnight Blue") rather than just Hex codes, as models understand names better visually.
46
+ 3. **Iteration**: If the first specific result isn't perfect, generalize the prompt slightly (remove strict constraints) and try again.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: ai-engineer
3
+ description: AI Engineer role. Focuses on integrating AI models, building RAG pipelines, and optimizing prompts. Loads specific AI modality guides.
4
+ license: MIT
5
+ metadata:
6
+ role: AI Engineer
7
+ version: "1.0"
8
+ ---
9
+
10
+ # AI Engineer
11
+
12
+ You build intelligence into the application.
13
+
14
+ ## Core Responsibilities
15
+
16
+ 1. **Model Integration**: Connecting LLMs to Logic.
17
+ 2. **Context Management**: RAG, Vector Search, Memory.
18
+ 3. **Evaluation**: Testing AI quality.
19
+
20
+ ## Dynamic Stack Loading
21
+
22
+ - **LLMs & RAG**: [Read specific guide](references/llm.md)
23
+ - **MLOps**: (Create `references/mlops.md` if needed)
@@ -0,0 +1,13 @@
1
+ # Tech: LLMs & RAG
2
+
3
+ ## Stack
4
+
5
+ - **SDK**: Vercel AI SDK or LangChain.
6
+ - **Model**: GPT-4o, Claude 3.5 Sonnet.
7
+ - **Vector DB**: Supabase `pgvector`.
8
+
9
+ ## Best Practices
10
+
11
+ - **Streaming**: Always stream responses using `AIStream`.
12
+ - **Prompts**: Version control your system prompts.
13
+ - **Embeddings**: Normalize text before embedding.
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: backend-developer
3
+ description: Expert Senior Backend Engineer (Polyglot). Focuses on Architecture, API Design, Security, and Scalability across Node, Python, Go, and Java. Strictly follows official documentation and architectural patterns.
4
+ license: MIT
5
+ metadata:
6
+ role: Senior Backend Engineer
7
+ version: "2.0"
8
+ capabilities:
9
+ ["API Design", "System Architecture", "Security", "Polyglot Development"]
10
+ languages: ["Node.js", "Python", "Go", "Java", "Kotlin"]
11
+ databases: ["PostgreSQL", "MongoDB", "Redis"]
12
+ ---
13
+
14
+ # Backend Developer (Expert Polyglot)
15
+
16
+ You are an **Expert Senior Backend Engineer** with 20+ years of experience. You specialize in building robust, scalable, and secure distributed systems.
17
+
18
+ **CORE PHILOSOPHY:**
19
+
20
+ 1. **Documentation is Truth**: Never guess syntax or patterns. If unsure, search official docs (`search_web`, `context7`).
21
+ 2. **Security First**: Every input is malicious until validated. Every endpoint needs explicit AuthN/AuthZ.
22
+ 3. **Simplicity**: Prefer boring technology that works. Complexity must be justified.
23
+
24
+ ## 1. Dynamic Context Loading
25
+
26
+ **CRITICAL STEP**: Before helping the user, you MUST identify the specific technology stack.
27
+
28
+ **Logic:**
29
+
30
+ 1. Check the user's request and open files.
31
+ 2. **Load the relevant references** using `view_file`.
32
+
33
+ | Detected Stack | Files to Load |
34
+ | :---------------------------- | :------------------------------- |
35
+ | **Architectural / DB Design** | `references/general-patterns.md` |
36
+ | **Node.js (Express)** | `references/node-express.md` |
37
+ | **Node.js (NestJS)** | `references/node-nestjs.md` |
38
+ | **Python (Django)** | `references/python-django.md` |
39
+ | **Python (FastAPI)** | `references/python-fastapi.md` |
40
+ | **Go (Gin)** | `references/go-gin.md` |
41
+ | **Go (Echo)** | `references/go-echo.md` |
42
+ | **Java (Spring Boot)** | `references/java-springboot.md` |
43
+
44
+ > [!NOTE]
45
+ > If the user asks a general question (e.g., "How do I secure my API?"), load `references/general-patterns.md`.
46
+
47
+ ## 2. Core Responsibilities
48
+
49
+ ### A. API Design (Contract First)
50
+
51
+ - **REST**: Use clear resource naming (Plural nouns), standard status codes.
52
+ - **GraphQL**: Schema-first design.
53
+ - **Documentation**: All APIs must be documented (OpenAPI/Swagger).
54
+
55
+ ### B. Database Design
56
+
57
+ - **Schema**: 3rd Normal Form for Relational. Access-pattern driven for NoSQL.
58
+ - **Indexes**: Mandatory for foreign keys and query predicates.
59
+ - **Migrations**: Database changes must be versioned and reversible.
60
+
61
+ ### C. Security (Zero Trust)
62
+
63
+ - **Validation**: Use strict schema validation (Zod, Pydantic, Joi) at the entry point.
64
+ - **Auth**: JWT for stateless, Sessions for stateful. Always validate scopes/permissions.
65
+ - **Secrets**: NEVER hardcode secrets. Use Environment Variables.
66
+
67
+ ### D. Testing (Confidence)
68
+
69
+ - **Unit**: Test logic in isolation. Mock dependencies.
70
+ - **Integration**: Test DB interactions and API endpoints.
71
+
72
+ ## 3. Workflow for New Features
73
+
74
+ 1. **Requirements**: Understand the data flow and constraints.
75
+ 2. **Design**: Draft the API contract and DB schema.
76
+ 3. **Implementation**:
77
+ - Create DTOs/Validators.
78
+ - Implement Service Layer (Business Logic).
79
+ - Implement Controller/Handler (HTTP Layer).
80
+ 4. **Verification**: Write tests (Happy path + Edge cases).
81
+
82
+ ## 4. Collaboration with Lead Architect
83
+
84
+ **CRITICAL**: For high-stakes Architectural, Security, or Database Design decisions, you **MUST** align with the `lead-architect` skill.
85
+
86
+ **When to consult Lead Architect References:**
87
+
88
+ 1. **System Design**: Deciding between Monolith vs. Microservices.
89
+ 2. **Complex Security**: Implementing Zero Trust, complex OAuth2/OIDC flows, or Threat Modeling.
90
+ 3. **Process**: Defining CI/CD standards or DORA metrics.
91
+
92
+ **Action**: If the user asks for these, load the relevant `lead-architect` reference (e.g., `.agent/skills/lead-architect/references/system-architecture.md`) OR advise the user to "Consult the Lead Architect skill".
93
+
94
+ ## 5. Interaction Rules
95
+
96
+ - **Code Reviews**: Be pedantic about security, performance (N+1 queries), and readability.
97
+ - **Explanations**: Explain _WHY_ an architectural decision was made (Trade-offs).
98
+ - **Unknowns**: If you encounter a library or tool you don't know detailed syntax for, utilize `search_web` or `context7` immediately.
@@ -0,0 +1,65 @@
1
+ # General Backend Patterns & Architecture
2
+
3
+ # General Backend Patterns & Architecture
4
+
5
+ > [!NOTE]
6
+ > This guide covers **Applied Architecture** (Implementation details). For high-level System Design, Decision Records (ADRs), and detailed Cloud Infrastructure, refer to the **[Lead Architect Skill](../lead-architect/SKILL.md)**.
7
+
8
+ This reference covers universal principles applicable across all languages and frameworks.
9
+
10
+ ## 1. Architectural Patterns
11
+
12
+ ### Clean Architecture / Hexagonal / Onion
13
+
14
+ Separation of concerns is paramount.
15
+
16
+ - **Domain Layer**: Pure business logic. No dependencies on frameworks or DBs.
17
+ - **Application Layer**: Use cases / Services. Orchestrates the domain.
18
+ - **Adapters (Interface) Layer**: Controllers, API Handlers, CLI.
19
+ - **Infrastructure Layer**: DB Implementations, External APIs.
20
+
21
+ ### Domain-Driven Design (DDD)
22
+
23
+ - **Entities**: Objects with identity (e.g., User, Order).
24
+ - **Value Objects**: Immutable objects defined by attributes (e.g., Email, Money).
25
+ - **Aggregates**: Clusters of objects treated as a unit (Order + OrderItems).
26
+ - **Repositories**: Interface for collection-like access to Aggregates.
27
+
28
+ ## 2. Database Design
29
+
30
+ ### Relational (PostgreSQL, MySQL)
31
+
32
+ - **Naming**: `snake_case` for tables and columns. Plural table names (`users`, `orders`).
33
+ - **Primary Keys**: Use UUIDs (v7 preferred for sorting) or BigInt. Avoid auto-increment for distributed systems.
34
+ - **Foreign Keys**: Always define constraints. Index FK columns.
35
+ - **Transactions**: Use transactions for atomic operations involving multiple writes.
36
+
37
+ ### NoSQL (MongoDB)
38
+
39
+ - **Embedding vs. Referencing**:
40
+ - **Embed**: Used together, read together, low cardinality (e.g., OrderItems in Order).
41
+ - **Reference**: High cardinality, updated independently (e.g., User in Order).
42
+ - **Schema Validation**: Use JSON Schema validation on the collection level.
43
+
44
+ ### Caching (Redis)
45
+
46
+ - **Cache-Aside (Lazy Loading)**: App checks cache -> Miss -> Read DB -> Set Cache.
47
+ - **TTL**: Always set a Time-To-Live. avoid permanent keys unless necessary.
48
+ - **Keys**: Use namespaced keys `app:resource:id` (e.g., `shop:product:123`).
49
+
50
+ ## 3. Security Best Practices (OWASP)
51
+
52
+ > **Advanced Security**: For Threat Modeling, Zero Trust Architecture, and compliance auditing, see `lead-architect/references/infrastructure.md`.
53
+
54
+ - **Injection**: Use parameterized queries (SQL) or ORMs. Never string concat user input.
55
+ - **Auth**:
56
+ - **Passwords**: Bcrypt, Argon2. Never MD5/SHA1.
57
+ - **JWT**: Short-lived access tokens (15m), Long-lived refresh tokens.
58
+ - **Rate Limiting**: Implement Global and Per-User rate limits (Redis Token Bucket).
59
+ - **CORS**: Restrict `Access-Control-Allow-Origin` to known domains.
60
+
61
+ ## 4. Scalability
62
+
63
+ - **Statelessness**: Application servers should be stateless. Store session data in Redis.
64
+ - **Async Processing**: Offload heavy tasks (Email, Image Processing) to message queues (RabbitMQ, Kafka, BullMQ, Celery).
65
+ - **Idempotency**: API endpoints (especially POST/payment) should handle duplicate requests gracefully.
@@ -0,0 +1,68 @@
1
+ # Go - Echo Best Practices
2
+
3
+ **Official Documentation**: [echo.labstack.com](https://echo.labstack.com/)
4
+
5
+ ## 1. Golden Rules
6
+
7
+ 1. **Interfaces**: Define interfaces for your Services and Repositories to make handlers testable.
8
+ 2. **Middleware**: Use Echo's robust middleware suite (Recover, Logger, CORS).
9
+ 3. **Error Handling**: Use `echo.NewHTTPError` to return standard errors that middleware can log.
10
+
11
+ ## 2. Folder Structure
12
+
13
+ Common Domain-Driven structure.
14
+
15
+ ```
16
+ cmd/server/main.go
17
+ internal/
18
+ ├── user/
19
+ │ ├── delivery/
20
+ │ │ └── http/
21
+ │ │ └── handler.go
22
+ │ ├── usecase/
23
+ │ │ └── service.go
24
+ │ ├── repository/
25
+ │ │ └── pg_repo.go
26
+ │ └── domain.go # Interface definitions & Models
27
+ pkg/
28
+ └── database/
29
+ ```
30
+
31
+ ## 3. Code Patterns
32
+
33
+ ### Handlers
34
+
35
+ Bind and Validate in one step if using custom validator.
36
+
37
+ ```go
38
+ type UserDTO struct {
39
+ Email string `json:"email" validate:"required,email"`
40
+ Name string `json:"name" validate:"required"`
41
+ }
42
+
43
+ func (h *UserHandler) Register(c echo.Context) error {
44
+ ctx := c.Request().Context()
45
+ var user UserDTO
46
+ if err := c.Bind(&user); err != nil {
47
+ return echo.NewHTTPError(http.StatusBadRequest, err.Error())
48
+ }
49
+ if err := c.Validate(&user); err != nil {
50
+ return echo.NewHTTPError(http.StatusBadRequest, err.Error())
51
+ }
52
+
53
+ // Call usecase...
54
+ return c.JSON(http.StatusCreated, user)
55
+ }
56
+ ```
57
+
58
+ ## 4. Security
59
+
60
+ - **Middleware**: Always Include `middleware.Recover()` and `middleware.Logger()`.
61
+ - **CORS**: Be specific.
62
+
63
+ ```go
64
+ e.Use(middleware.CORSWithConfig(middleware.CORSConfig{
65
+ AllowOrigins: []string{"https://labstack.com"},
66
+ AllowHeaders: []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept},
67
+ }))
68
+ ```
@@ -0,0 +1,76 @@
1
+ # Go - Gin Best Practices
2
+
3
+ **Official Documentation**: [gin-gonic.com](https://gin-gonic.com/)
4
+
5
+ ## 1. Golden Rules
6
+
7
+ 1. **Error Handling**: Go has no exceptions. Return errors explicitly. Use custom error types/constants.
8
+ 2. **Context**: Always pass `context.Context` to DB and Service layers for timeout/cancellation control.
9
+ 3. **Structure**: Avoid global variables. Use dependency injection (manual or fx) for handlers.
10
+
11
+ ## 2. Folder Structure (Standard Go Layout)
12
+
13
+ Based on [golang-standards/project-layout](https://github.com/golang-standards/project-layout)
14
+
15
+ ```
16
+ cmd/
17
+ └── api/
18
+ └── main.go # Entry point
19
+ internal/
20
+ ├── domain/ # Enterprise logic (Entities, Interfaces)
21
+ │ └── user.go
22
+ ├── handler/ # HTTP Handlers (Gin specific)
23
+ │ └── user_handler.go
24
+ ├── service/ # Business Logic (Implementation of Interfaces)
25
+ │ └── user_service.go
26
+ └── repository/ # DB Access (Implementation of Interfaces)
27
+ └── postgres/
28
+ └── user_repo.go
29
+ pkg/ # Publicly sharable code
30
+ └── utils/
31
+ go.mod
32
+ ```
33
+
34
+ ## 3. Code Patterns
35
+
36
+ ### Validation (Binding)
37
+
38
+ Use `binding` tag (validator v10) in structs.
39
+
40
+ ```go
41
+ type CreateUserRequest struct {
42
+ Email string `json:"email" binding:"required,email"`
43
+ Password string `json:"password" binding:"required,min=8"`
44
+ }
45
+
46
+ func (h *UserHandler) Create(c *gin.Context) {
47
+ var req CreateUserRequest
48
+ if err := c.ShouldBindJSON(&req); err != nil {
49
+ c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
50
+ return
51
+ }
52
+ // ... call service
53
+ }
54
+ ```
55
+
56
+ ### DB Access (GORM or sqlc)
57
+
58
+ - **GORM**: Good for rapid dev.
59
+ - **sqlc**: Generates type-safe code from SQL. Preferred for performance/control.
60
+
61
+ ```go
62
+ // Direct SQL/sqlc style is clearer than complex ORM magic
63
+ func (r *UserRepository) GetByID(ctx context.Context, id int64) (*domain.User, error) {
64
+ row := r.db.QueryRowContext(ctx, "SELECT id, email FROM users WHERE id = $1", id)
65
+ var u domain.User
66
+ if err := row.Scan(&u.ID, &u.Email); err != nil {
67
+ return nil, err
68
+ }
69
+ return &u, nil
70
+ }
71
+ ```
72
+
73
+ ## 4. Security
74
+
75
+ - **Gin Mode**: Set `GIN_MODE=release` in production.
76
+ - **Trusted Proxies**: Configure `router.SetTrustedProxies()` if behind Nginx/LoadBalancer.