@tinkcarlos/skillora 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/.claude/skills/.temp-skill-index.md +245 -0
  2. package/.claude/skills/SKILL.md +264 -0
  3. package/.claude/skills/api-scaffolding/SKILL.md +431 -0
  4. package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
  5. package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
  6. package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
  7. package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
  8. package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
  9. package/.claude/skills/api-testing-observability/SKILL.md +583 -0
  10. package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
  11. package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
  12. package/.claude/skills/brainstorming/SKILL.md +283 -0
  13. package/.claude/skills/bug-fixing/SKILL.md +382 -0
  14. package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
  15. package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
  16. package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
  17. package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
  18. package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
  19. package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
  20. package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
  21. package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
  22. package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
  23. package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
  24. package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
  25. package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
  26. package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
  27. package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
  28. package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
  29. package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
  30. package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
  31. package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
  32. package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
  33. package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
  34. package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
  35. package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
  36. package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
  37. package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
  38. package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
  39. package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
  40. package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
  41. package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
  42. package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
  43. package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
  44. package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
  45. package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
  46. package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
  47. package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
  48. package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
  49. package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
  50. package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
  51. package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
  52. package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
  53. package/.claude/skills/code-review/SKILL.md +535 -0
  54. package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
  55. package/.claude/skills/code-review/references/automated-analysis.md +456 -0
  56. package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
  57. package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
  58. package/.claude/skills/code-review/references/backend-review.md +868 -0
  59. package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
  60. package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
  61. package/.claude/skills/code-review/references/common-patterns.md +321 -0
  62. package/.claude/skills/code-review/references/configuration-review.md +425 -0
  63. package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
  64. package/.claude/skills/code-review/references/database-review.md +298 -0
  65. package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
  66. package/.claude/skills/code-review/references/external-standards.md +51 -0
  67. package/.claude/skills/code-review/references/feature-review.md +329 -0
  68. package/.claude/skills/code-review/references/file-review-template.md +326 -0
  69. package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
  70. package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
  71. package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
  72. package/.claude/skills/code-review/references/frontend-review.md +783 -0
  73. package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
  74. package/.claude/skills/code-review/references/fullstack-review.md +477 -0
  75. package/.claude/skills/code-review/references/functional-completeness.md +386 -0
  76. package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
  77. package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
  78. package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
  79. package/.claude/skills/code-review/references/iteration-review.md +264 -0
  80. package/.claude/skills/code-review/references/job-review.md +335 -0
  81. package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
  82. package/.claude/skills/code-review/references/logic-completeness.md +535 -0
  83. package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
  84. package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
  85. package/.claude/skills/code-review/references/new-project-review.md +226 -0
  86. package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
  87. package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
  88. package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
  89. package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
  90. package/.claude/skills/code-review/references/python-patterns.md +494 -0
  91. package/.claude/skills/code-review/references/rca-techniques.md +362 -0
  92. package/.claude/skills/code-review/references/report-template.md +430 -0
  93. package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
  94. package/.claude/skills/code-review/references/review-dimensions.md +311 -0
  95. package/.claude/skills/code-review/references/review-guide.md +202 -0
  96. package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
  97. package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
  98. package/.claude/skills/code-review/references/review-record-template.md +195 -0
  99. package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
  100. package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
  101. package/.claude/skills/containerization/SKILL.md +313 -0
  102. package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
  103. package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
  104. package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
  105. package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
  106. package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
  107. package/.claude/skills/frontend-design/LICENSE.txt +177 -0
  108. package/.claude/skills/frontend-design/SKILL.md +587 -0
  109. package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
  110. package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
  111. package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
  112. package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
  113. package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
  114. package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
  115. package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
  116. package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
  117. package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
  118. package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
  119. package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
  120. package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
  121. package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
  122. package/.claude/skills/fullstack-developer/SKILL.md +512 -0
  123. package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
  124. package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
  125. package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
  126. package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
  127. package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
  128. package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
  129. package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
  130. package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
  131. package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
  132. package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
  133. package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
  134. package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
  135. package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
  136. package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
  137. package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
  138. package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
  139. package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
  140. package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
  141. package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
  142. package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
  143. package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
  144. package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
  145. package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
  146. package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
  147. package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
  148. package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
  149. package/.claude/skills/performance-optimization/SKILL.md +250 -0
  150. package/.claude/skills/product-requirements/SKILL.md +357 -0
  151. package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
  152. package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
  153. package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
  154. package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
  155. package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
  156. package/.claude/skills/product-requirements/references/external-standards.md +62 -0
  157. package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
  158. package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
  159. package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
  160. package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
  161. package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
  162. package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
  163. package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
  164. package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
  165. package/.claude/skills/react-best-practices/SKILL.md +198 -0
  166. package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
  167. package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
  168. package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
  169. package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
  170. package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
  171. package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
  172. package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
  173. package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
  174. package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
  175. package/.claude/skills/security-audit/SKILL.md +226 -0
  176. package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
  177. package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
  178. package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
  179. package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
  180. package/.claude/skills/shared-references/skill-call-graph.md +230 -0
  181. package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
  182. package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
  183. package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
  184. package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
  185. package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
  186. package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
  187. package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
  188. package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
  189. package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
  190. package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
  191. package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
  192. package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
  193. package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
  194. package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
  195. package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
  196. package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
  197. package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
  198. package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
  199. package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
  200. package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
  201. package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
  202. package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
  203. package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
  204. package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
  205. package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
  206. package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
  207. package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
  208. package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
  209. package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
  210. package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
  211. package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
  212. package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
  213. package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
  214. package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
  215. package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
  216. package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
  217. package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
  218. package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
  219. package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
  220. package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
  221. package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
  222. package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
  223. package/.claude/skills/test-driven-development/SKILL.md +246 -0
  224. package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
  225. package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
  226. package/.claude/skills/using-skillstack/SKILL.md +127 -0
  227. package/.claude/skills/vercel-deploy/SKILL.md +166 -0
  228. package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
  229. package/.claude/skills/verification-before-completion/SKILL.md +305 -0
  230. package/.claude/skills/writing-plans/SKILL.md +259 -0
  231. package/README.md +69 -0
  232. package/bin/cli.js +468 -0
  233. package/lib/init.js +333 -0
  234. package/package.json +29 -0
@@ -0,0 +1,292 @@
1
+ # UI Element Testing Checklist
2
+
3
+ > Test EVERY interactive element. No exceptions.
4
+
5
+ ## Element-by-Element Testing
6
+
7
+ ### Buttons
8
+
9
+ | Test | Check |
10
+ |------|-------|
11
+ | Click | Action triggers correctly |
12
+ | Double-click | No duplicate submission |
13
+ | Disabled state | Cannot click when disabled |
14
+ | Loading state | Shows spinner, prevents re-click |
15
+ | Hover | Visual feedback |
16
+ | Focus | Keyboard focusable, visible outline |
17
+ | Aria | Has aria-label or accessible text |
18
+
19
+ ### Input Fields
20
+
21
+ | Test | Check |
22
+ |------|-------|
23
+ | Type | Characters appear correctly |
24
+ | Clear | Can clear content |
25
+ | Placeholder | Shows when empty |
26
+ | Validation | Error shows on invalid input |
27
+ | Required | Cannot submit when empty |
28
+ | Max length | Respects character limit |
29
+ | Paste | Handles pasted content |
30
+ | Autofill | Works with browser autofill |
31
+ | Keyboard | Tab navigation works |
32
+
33
+ ### Forms
34
+
35
+ | Test | Check |
36
+ |------|-------|
37
+ | Submit | Data sent correctly |
38
+ | Validation | All fields validated |
39
+ | Error display | Errors shown clearly |
40
+ | Success | Success feedback shown |
41
+ | Reset | Form can be reset |
42
+ | Dirty state | Warn before losing changes |
43
+ | Enter key | Submits form |
44
+ | Loading | Disabled during submit |
45
+
46
+ ### Modals/Dialogs
47
+
48
+ | Test | Check |
49
+ |------|-------|
50
+ | Open | Opens correctly |
51
+ | Close button | Closes modal |
52
+ | Backdrop click | Closes (if expected) |
53
+ | Escape key | Closes modal |
54
+ | Focus trap | Focus stays in modal |
55
+ | Scroll lock | Background doesn't scroll |
56
+ | Animation | Smooth open/close |
57
+ | Nested | Works if modals nest |
58
+
59
+ ### Dropdowns/Selects
60
+
61
+ | Test | Check |
62
+ |------|-------|
63
+ | Open | Dropdown opens |
64
+ | Close | Closes on blur/select |
65
+ | Selection | Value updates |
66
+ | Keyboard | Arrow keys navigate |
67
+ | Search | Filter works (if applicable) |
68
+ | Clear | Can clear selection |
69
+ | Multi-select | Multiple items (if applicable) |
70
+ | Placeholder | Shows default text |
71
+ | **🔴 Bottom edge** | Dropdown flips up when near viewport bottom |
72
+ | **🔴 Right edge** | Content doesn't overflow viewport right |
73
+
74
+ ### Context Menus (Right-Click Menus)
75
+
76
+ | Test | Check |
77
+ |------|-------|
78
+ | Open | Menu appears on right-click |
79
+ | Close | Closes on click outside/Escape |
80
+ | Actions | Menu items trigger correctly |
81
+ | Nested | Submenus work (if applicable) |
82
+ | **🔴 Bottom edge** | Menu flips UP when clicked near viewport bottom |
83
+ | **🔴 Right edge** | Menu flips LEFT when clicked near viewport right |
84
+ | **🔴 Corner** | Both flips work when clicked in bottom-right corner |
85
+ | Scroll | Menu stays in view when page scrolls |
86
+
87
+ ### Tooltips/Popovers
88
+
89
+ | Test | Check |
90
+ |------|-------|
91
+ | Trigger | Shows on hover/focus/click |
92
+ | Hide | Hides on mouse leave/blur/click outside |
93
+ | Content | Displays correct content |
94
+ | Delay | Appropriate show/hide delay |
95
+ | **🔴 Edge detection** | Flips direction when near any viewport edge |
96
+ | **🔴 All four edges** | Test near top, bottom, left, right edges |
97
+ | Arrow | Arrow points to trigger element |
98
+ | Portal | Renders in portal (not clipped by parent overflow) |
99
+
100
+ ### Tables
101
+
102
+ | Test | Check |
103
+ |------|-------|
104
+ | Render | Data displays correctly |
105
+ | Sort | Columns sort |
106
+ | Filter | Filter works |
107
+ | Pagination | Pages work |
108
+ | Empty state | Shows when no data |
109
+ | Loading | Shows loading indicator |
110
+ | Selection | Row selection works |
111
+ | Actions | Row actions work |
112
+
113
+ ### Navigation
114
+
115
+ | Test | Check |
116
+ |------|-------|
117
+ | Links | Navigate correctly |
118
+ | Active state | Current page highlighted |
119
+ | External links | Open in new tab |
120
+ | Back button | History works |
121
+ | Deep links | Direct URL access works |
122
+ | Breadcrumbs | Show correct path |
123
+
124
+ ### Toast/Notifications
125
+
126
+ | Test | Check |
127
+ |------|-------|
128
+ | Display | Shows correctly |
129
+ | Auto-dismiss | Closes after timeout |
130
+ | Manual close | Can be dismissed |
131
+ | Stack | Multiple notifications stack |
132
+ | Type | Success/error/warning styles |
133
+
134
+ ### File Upload
135
+
136
+ | Test | Check |
137
+ |------|-------|
138
+ | Click upload | File dialog opens |
139
+ | Drag drop | Drop zone works |
140
+ | File types | Validates allowed types |
141
+ | File size | Validates size limit |
142
+ | Progress | Shows upload progress |
143
+ | Cancel | Can cancel upload |
144
+ | Preview | Shows file preview |
145
+ | Multiple | Multiple files (if applicable) |
146
+
147
+ ---
148
+
149
+ ## State Testing Matrix
150
+
151
+ For EVERY component, test all states:
152
+
153
+ | State | What to Check |
154
+ |-------|---------------|
155
+ | Default | Normal appearance and behavior |
156
+ | Hover | Visual feedback on mouse over |
157
+ | Focus | Visible focus indicator |
158
+ | Active | Click/press state |
159
+ | Disabled | Grayed out, not interactive |
160
+ | Loading | Spinner, disabled interaction |
161
+ | Error | Red border, error message |
162
+ | Success | Green feedback |
163
+ | Empty | Empty state UI |
164
+ | Partial | Partial data state |
165
+
166
+ ---
167
+
168
+ ## Accessibility Testing
169
+
170
+ | Check | How |
171
+ |-------|-----|
172
+ | Keyboard nav | Tab through all elements |
173
+ | Focus visible | Focus ring visible |
174
+ | Screen reader | Aria labels present |
175
+ | Color contrast | 4.5:1 minimum |
176
+ | Touch targets | 44x44px minimum |
177
+ | Error announcement | Errors announced |
178
+
179
+ ---
180
+
181
+ ## Responsive Testing
182
+
183
+ | Breakpoint | What to Check |
184
+ |------------|---------------|
185
+ | Mobile (320px) | Layout doesn't break |
186
+ | Mobile (375px) | Standard mobile |
187
+ | Tablet (768px) | Tablet layout |
188
+ | Desktop (1024px) | Desktop layout |
189
+ | Large (1440px) | Wide screen |
190
+
191
+ ---
192
+
193
+ ## 🔴 Viewport Boundary Testing (MANDATORY for Popups)
194
+
195
+ Test ALL popup/floating elements at every viewport edge.
196
+
197
+ ### Test Matrix for Positioned Elements
198
+
199
+ | Element | Test Position | Expected Behavior |
200
+ |---------|---------------|-------------------|
201
+ | Context Menu | Bottom of list | Menu opens UPWARD |
202
+ | Context Menu | Right edge | Menu opens LEFTWARD |
203
+ | Context Menu | Bottom-right corner | Menu opens UP-LEFT |
204
+ | Dropdown | Near viewport bottom | Dropdown flips to "dropup" |
205
+ | Tooltip | Top of viewport | Tooltip shows BELOW trigger |
206
+ | Tooltip | Right edge | Tooltip shows to LEFT |
207
+ | Popover | Any edge | Auto-flips to visible position |
208
+ | Autocomplete | Near bottom | Suggestions open upward |
209
+
210
+ ### How to Test
211
+
212
+ 1. **Resize browser** to make viewport smaller
213
+ 2. **Scroll content** so target element is near edge
214
+ 3. **Trigger popup** (right-click, hover, click)
215
+ 4. **Verify**: Popup is fully visible, no clipping
216
+
217
+ ### Quick Test Script for Edge Detection
218
+
219
+ ```typescript
220
+ describe('Popup Edge Detection', () => {
221
+ beforeEach(() => {
222
+ // Set viewport to small size
223
+ cy.viewport(400, 300);
224
+ });
225
+
226
+ it('context menu flips up when near bottom', () => {
227
+ // Scroll to bottom item
228
+ cy.get('[data-testid="last-item"]').scrollIntoView();
229
+
230
+ // Right-click
231
+ cy.get('[data-testid="last-item"]').rightclick();
232
+
233
+ // Menu should be fully visible (not below viewport)
234
+ cy.get('[data-testid="context-menu"]')
235
+ .should('be.visible')
236
+ .then($menu => {
237
+ const rect = $menu[0].getBoundingClientRect();
238
+ expect(rect.bottom).to.be.lessThan(window.innerHeight);
239
+ });
240
+ });
241
+
242
+ it('dropdown flips up when near bottom', () => {
243
+ cy.get('[data-testid="bottom-select"]').click();
244
+ cy.get('[data-testid="dropdown-options"]')
245
+ .should('be.visible')
246
+ .then($dropdown => {
247
+ const rect = $dropdown[0].getBoundingClientRect();
248
+ expect(rect.bottom).to.be.lessThan(window.innerHeight);
249
+ });
250
+ });
251
+ });
252
+ ```
253
+
254
+ ### Common Failure Patterns
255
+
256
+ | Symptom | Root Cause | Fix |
257
+ |---------|------------|-----|
258
+ | Menu clipped at bottom | No boundary check | Add `useLayoutEffect` with viewport detection |
259
+ | Menu behind other elements | z-index issue | Use portal or increase z-index |
260
+ | Menu disappears on scroll | Using `absolute` vs `fixed` | Use `fixed` positioning |
261
+ | Flicker on position adjust | Using `useEffect` not `useLayoutEffect` | Switch to `useLayoutEffect` |
262
+
263
+ ---
264
+
265
+ ## Quick Test Script
266
+
267
+ ```typescript
268
+ // For each component, run through:
269
+
270
+ describe('ComponentName', () => {
271
+ // 1. Rendering
272
+ it('renders correctly', () => {});
273
+
274
+ // 2. Interaction
275
+ it('handles click', () => {});
276
+ it('handles keyboard', () => {});
277
+
278
+ // 3. States
279
+ it('shows loading state', () => {});
280
+ it('shows error state', () => {});
281
+ it('shows empty state', () => {});
282
+
283
+ // 4. Validation
284
+ it('validates input', () => {});
285
+ it('shows validation errors', () => {});
286
+
287
+ // 5. Accessibility
288
+ it('is keyboard accessible', () => {});
289
+ it('has proper aria labels', () => {});
290
+ });
291
+ ```
292
+