contextos-agents 1.6.1 → 2.0.0-beta.2

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 (323) hide show
  1. package/.agents/AGENTS.md +6 -1
  2. package/.agents/adapters/aider/export.js +117 -97
  3. package/.agents/adapters/claude/export.js +68 -26
  4. package/.agents/adapters/copilot/export.js +90 -51
  5. package/.agents/adapters/cursor/export.js +83 -68
  6. package/.agents/adapters/drift-detector.js +196 -0
  7. package/.agents/adapters/gemini/export.js +76 -45
  8. package/.agents/adapters/pure-compiler.js +443 -0
  9. package/.agents/adapters/zed/export.js +109 -62
  10. package/.agents/compiled/registry.v2.json +504 -0
  11. package/.agents/compiled/registry.v2.sha256 +1 -0
  12. package/.agents/compiler/manifest-compiler.js +963 -0
  13. package/.agents/compiler/vendor/yaml.LICENSE.txt +13 -0
  14. package/.agents/compiler/vendor/yaml.SBOM.json +6 -0
  15. package/.agents/compiler/vendor/yaml.js +139 -0
  16. package/.agents/core/profiles/init.yaml +25 -0
  17. package/.agents/core/skills/context-manager/references/context-rules.md +59 -0
  18. package/.agents/core/skills/context-manager/skill.yaml +10 -5
  19. package/.agents/core/skills/context-os/SKILL.md +3 -6
  20. package/.agents/core/skills/context-os/skill.yaml +14 -8
  21. package/.agents/core/skills/engineering-workflow/SKILL.md +1 -1
  22. package/.agents/core/skills/engineering-workflow/skill.yaml +7 -7
  23. package/.agents/core/skills/gemini-precision/SKILL.md +4 -0
  24. package/.agents/core/skills/gemini-precision/skill.yaml +5 -6
  25. package/.agents/core/skills/gstack-roles/SKILL.md +3 -1
  26. package/.agents/core/skills/gstack-roles/skill.yaml +9 -6
  27. package/.agents/core/skills/ponytail-mindset/skill.yaml +7 -7
  28. package/.agents/core/skills/security/skill.yaml +21 -2
  29. package/.agents/ctx.js +587 -111
  30. package/.agents/customization-dx.js +282 -0
  31. package/.agents/doctor.js +877 -33
  32. package/.agents/filesystem/index.js +71 -0
  33. package/.agents/filesystem/journaled-transaction.js +451 -0
  34. package/.agents/filesystem/lockfile-v2.js +275 -0
  35. package/.agents/filesystem/platform-hardening.js +222 -0
  36. package/.agents/filesystem/project-lock.js +218 -0
  37. package/.agents/filesystem/safe-path.js +256 -0
  38. package/.agents/generated/claude/skills/context-os/SKILL.md +1 -1
  39. package/.agents/generated/claude/skills/engineering-workflow/SKILL.md +1 -1
  40. package/.agents/generated/claude/skills/gemini-precision/SKILL.md +4 -0
  41. package/.agents/generated/claude/skills/gstack-roles/SKILL.md +3 -1
  42. package/.agents/generated/gemini/skills/context-os/SKILL.md +2 -2
  43. package/.agents/generated/gemini/skills/engineering-workflow/SKILL.md +1 -1
  44. package/.agents/generated/gemini/skills/gemini-precision/SKILL.md +4 -0
  45. package/.agents/generated/gemini/skills/gstack-roles/SKILL.md +3 -1
  46. package/.agents/plugins/contextos/hooks.json +25 -0
  47. package/.agents/plugins/contextos/plugin.json +19 -0
  48. package/.agents/plugins.js +432 -73
  49. package/.agents/profiles.js +507 -46
  50. package/.agents/resolver.js +50 -414
  51. package/.agents/schemas/attestation.review.v1.json +111 -0
  52. package/.agents/schemas/attestation.verification.v1.json +85 -0
  53. package/.agents/schemas/lockfile.v2.schema.json +134 -0
  54. package/.agents/schemas/profile.v2.schema.json +114 -0
  55. package/.agents/schemas/runtime.thread.v1.json +192 -0
  56. package/.agents/schemas/skill.manifest.v2.json +177 -0
  57. package/.agents/schemas/verification.spec.v1.json +39 -0
  58. package/.agents/schemas/workspace.graph.schema.json +106 -0
  59. package/.agents/stats.js +22 -9
  60. package/.agents/transaction-core/event-store.js +288 -0
  61. package/.agents/transaction-core/idempotency.js +129 -0
  62. package/.agents/transaction-core/ipc-lock.js +311 -0
  63. package/.agents/transaction-core/plugin-supply-chain-bundle.js +436 -0
  64. package/.agents/validate.js +143 -14
  65. package/.agents/watch.js +354 -102
  66. package/.agents/workspace/workspace-graph.js +778 -0
  67. package/README.md +59 -387
  68. package/benchmarks/v2/analysis/statistics.js +140 -0
  69. package/benchmarks/v2/analysis/stats.js +69 -0
  70. package/benchmarks/v2/arms/arm-definitions.js +79 -0
  71. package/benchmarks/v2/dataset.schema.json +34 -0
  72. package/benchmarks/v2/evaluators/index.js +25 -0
  73. package/benchmarks/v2/evaluators/verified-success.js +116 -0
  74. package/benchmarks/v2/harness/runner.js +88 -0
  75. package/benchmarks/v2/pilot-tasks.json +392 -0
  76. package/bin/commands/recover.js +88 -0
  77. package/bin/commands/uninstall.js +207 -0
  78. package/bin/commands/update.js +325 -0
  79. package/bin/commands.js +342 -0
  80. package/bin/index.js +326 -149
  81. package/bin/lib/detector.js +106 -0
  82. package/bin/lib/lockfile.js +253 -0
  83. package/bin/lib/safe-writer.js +290 -0
  84. package/package.json +85 -73
  85. package/registry.json +15 -7
  86. package/registry.schema.json +3 -1
  87. package/registry.v2.schema.json +86 -0
  88. package/.agents/core/profiles/backend.yaml +0 -47
  89. package/.agents/core/profiles/enterprise.yaml +0 -46
  90. package/.agents/core/profiles/frontend.yaml +0 -46
  91. package/.agents/core/profiles/hackathon.yaml +0 -45
  92. package/.agents/core/profiles/mvp.yaml +0 -44
  93. package/.agents/core/profiles/startup.yaml +0 -48
  94. package/.agents/core/skills/adapters/EXAMPLES.md +0 -19
  95. package/.agents/core/skills/adapters/SKILL.md +0 -105
  96. package/.agents/core/skills/adapters/TROUBLESHOOTING.md +0 -7
  97. package/.agents/core/skills/adapters/VALIDATION.json +0 -12
  98. package/.agents/core/skills/adapters/skill.yaml +0 -10
  99. package/.agents/core/skills/architecture-diagrams/SKILL.md +0 -108
  100. package/.agents/core/skills/architecture-diagrams/VALIDATION.json +0 -12
  101. package/.agents/core/skills/architecture-diagrams/skill.yaml +0 -8
  102. package/.agents/core/skills/brutalist-design/SKILL.md +0 -150
  103. package/.agents/core/skills/brutalist-design/VALIDATION.json +0 -12
  104. package/.agents/core/skills/brutalist-design/skill.yaml +0 -8
  105. package/.agents/core/skills/database/EXAMPLES.md +0 -74
  106. package/.agents/core/skills/database/SKILL.md +0 -101
  107. package/.agents/core/skills/database/TROUBLESHOOTING.md +0 -18
  108. package/.agents/core/skills/database/VALIDATION.json +0 -11
  109. package/.agents/core/skills/database/skill.yaml +0 -25
  110. package/.agents/core/skills/ddd/EXAMPLES.md +0 -42
  111. package/.agents/core/skills/ddd/SKILL.md +0 -247
  112. package/.agents/core/skills/ddd/TROUBLESHOOTING.md +0 -19
  113. package/.agents/core/skills/ddd/VALIDATION.json +0 -12
  114. package/.agents/core/skills/ddd/ddd.md +0 -178
  115. package/.agents/core/skills/ddd/skill.yaml +0 -10
  116. package/.agents/core/skills/decisions/EXAMPLES.md +0 -35
  117. package/.agents/core/skills/decisions/SKILL.md +0 -90
  118. package/.agents/core/skills/decisions/TROUBLESHOOTING.md +0 -13
  119. package/.agents/core/skills/decisions/VALIDATION.json +0 -12
  120. package/.agents/core/skills/decisions/skill.yaml +0 -10
  121. package/.agents/core/skills/docker/EXAMPLES.md +0 -56
  122. package/.agents/core/skills/docker/SKILL.md +0 -63
  123. package/.agents/core/skills/docker/TROUBLESHOOTING.md +0 -18
  124. package/.agents/core/skills/docker/VALIDATION.json +0 -11
  125. package/.agents/core/skills/docker/skill.yaml +0 -23
  126. package/.agents/core/skills/fastapi/EXAMPLES.md +0 -36
  127. package/.agents/core/skills/fastapi/SKILL.md +0 -148
  128. package/.agents/core/skills/fastapi/TROUBLESHOOTING.md +0 -19
  129. package/.agents/core/skills/fastapi/VALIDATION.json +0 -12
  130. package/.agents/core/skills/fastapi/fastapi.md +0 -112
  131. package/.agents/core/skills/fastapi/skill.yaml +0 -10
  132. package/.agents/core/skills/generators/EXAMPLES.md +0 -19
  133. package/.agents/core/skills/generators/SKILL.md +0 -112
  134. package/.agents/core/skills/generators/TROUBLESHOOTING.md +0 -7
  135. package/.agents/core/skills/generators/VALIDATION.json +0 -12
  136. package/.agents/core/skills/generators/skill.yaml +0 -10
  137. package/.agents/core/skills/generators/templates/API.md +0 -77
  138. package/.agents/core/skills/generators/templates/ARCHITECTURE.md +0 -70
  139. package/.agents/core/skills/generators/templates/DATABASE.md +0 -42
  140. package/.agents/core/skills/generators/templates/DECISION.md +0 -46
  141. package/.agents/core/skills/generators/templates/PRD.md +0 -67
  142. package/.agents/core/skills/generators/templates/PROJECT_GRAPH.md +0 -56
  143. package/.agents/core/skills/generators/templates/ROADMAP.md +0 -51
  144. package/.agents/core/skills/generators/templates/TASKS.md +0 -43
  145. package/.agents/core/skills/generators/templates/UI.md +0 -73
  146. package/.agents/core/skills/graphify/EXAMPLES.md +0 -73
  147. package/.agents/core/skills/graphify/SKILL.md +0 -130
  148. package/.agents/core/skills/graphify/VALIDATION.json +0 -12
  149. package/.agents/core/skills/graphify/skill.yaml +0 -13
  150. package/.agents/core/skills/impeccable-design/EXAMPLES.md +0 -26
  151. package/.agents/core/skills/impeccable-design/SKILL.md +0 -201
  152. package/.agents/core/skills/impeccable-design/TROUBLESHOOTING.md +0 -19
  153. package/.agents/core/skills/impeccable-design/VALIDATION.json +0 -12
  154. package/.agents/core/skills/impeccable-design/skill.yaml +0 -14
  155. package/.agents/core/skills/interview-me/SKILL.md +0 -97
  156. package/.agents/core/skills/interview-me/VALIDATION.json +0 -12
  157. package/.agents/core/skills/interview-me/skill.yaml +0 -8
  158. package/.agents/core/skills/microservices/EXAMPLES.md +0 -38
  159. package/.agents/core/skills/microservices/SKILL.md +0 -164
  160. package/.agents/core/skills/microservices/TROUBLESHOOTING.md +0 -19
  161. package/.agents/core/skills/microservices/VALIDATION.json +0 -12
  162. package/.agents/core/skills/microservices/microservices.md +0 -119
  163. package/.agents/core/skills/microservices/skill.yaml +0 -10
  164. package/.agents/core/skills/minimalist-design/SKILL.md +0 -113
  165. package/.agents/core/skills/minimalist-design/VALIDATION.json +0 -12
  166. package/.agents/core/skills/minimalist-design/skill.yaml +0 -8
  167. package/.agents/core/skills/nestjs/EXAMPLES.md +0 -40
  168. package/.agents/core/skills/nestjs/SKILL.md +0 -139
  169. package/.agents/core/skills/nestjs/TROUBLESHOOTING.md +0 -19
  170. package/.agents/core/skills/nestjs/VALIDATION.json +0 -12
  171. package/.agents/core/skills/nestjs/nestjs.md +0 -103
  172. package/.agents/core/skills/nestjs/skill.yaml +0 -10
  173. package/.agents/core/skills/nextjs/EXAMPLES.md +0 -40
  174. package/.agents/core/skills/nextjs/SKILL.md +0 -163
  175. package/.agents/core/skills/nextjs/TROUBLESHOOTING.md +0 -19
  176. package/.agents/core/skills/nextjs/VALIDATION.json +0 -12
  177. package/.agents/core/skills/nextjs/nextjs.md +0 -67
  178. package/.agents/core/skills/nextjs/skill.yaml +0 -10
  179. package/.agents/core/skills/node/EXAMPLES.md +0 -80
  180. package/.agents/core/skills/node/SKILL.md +0 -128
  181. package/.agents/core/skills/node/TROUBLESHOOTING.md +0 -19
  182. package/.agents/core/skills/node/VALIDATION.json +0 -12
  183. package/.agents/core/skills/node/node.md +0 -87
  184. package/.agents/core/skills/node/skill.yaml +0 -10
  185. package/.agents/core/skills/performance/EXAMPLES.md +0 -30
  186. package/.agents/core/skills/performance/SKILL.md +0 -75
  187. package/.agents/core/skills/performance/TROUBLESHOOTING.md +0 -19
  188. package/.agents/core/skills/performance/VALIDATION.json +0 -12
  189. package/.agents/core/skills/performance/performance.md +0 -52
  190. package/.agents/core/skills/performance/skill.yaml +0 -10
  191. package/.agents/core/skills/react/EXAMPLES.md +0 -79
  192. package/.agents/core/skills/react/SKILL.md +0 -132
  193. package/.agents/core/skills/react/TROUBLESHOOTING.md +0 -19
  194. package/.agents/core/skills/react/VALIDATION.json +0 -12
  195. package/.agents/core/skills/react/react.md +0 -93
  196. package/.agents/core/skills/react/skill.yaml +0 -10
  197. package/.agents/core/skills/react-best-practices/SKILL.md +0 -155
  198. package/.agents/core/skills/react-best-practices/VALIDATION.json +0 -12
  199. package/.agents/core/skills/react-best-practices/skill.yaml +0 -10
  200. package/.agents/core/skills/redesign-audit/SKILL.md +0 -117
  201. package/.agents/core/skills/redesign-audit/VALIDATION.json +0 -12
  202. package/.agents/core/skills/redesign-audit/skill.yaml +0 -8
  203. package/.agents/core/skills/soft-design/SKILL.md +0 -108
  204. package/.agents/core/skills/soft-design/VALIDATION.json +0 -12
  205. package/.agents/core/skills/soft-design/skill.yaml +0 -8
  206. package/.agents/core/skills/state-management/EXAMPLES.md +0 -56
  207. package/.agents/core/skills/state-management/SKILL.md +0 -48
  208. package/.agents/core/skills/state-management/TROUBLESHOOTING.md +0 -18
  209. package/.agents/core/skills/state-management/VALIDATION.json +0 -11
  210. package/.agents/core/skills/state-management/skill.yaml +0 -22
  211. package/.agents/core/skills/subagent-orchestrator/SKILL.md +0 -100
  212. package/.agents/core/skills/subagent-orchestrator/VALIDATION.json +0 -12
  213. package/.agents/core/skills/subagent-orchestrator/skill.yaml +0 -8
  214. package/.agents/core/skills/system-design/EXAMPLES.md +0 -75
  215. package/.agents/core/skills/system-design/SKILL.md +0 -419
  216. package/.agents/core/skills/system-design/TROUBLESHOOTING.md +0 -19
  217. package/.agents/core/skills/system-design/VALIDATION.json +0 -12
  218. package/.agents/core/skills/system-design/skill.yaml +0 -13
  219. package/.agents/core/skills/system-design/system-design.md +0 -112
  220. package/.agents/core/skills/testing/EXAMPLES.md +0 -71
  221. package/.agents/core/skills/testing/SKILL.md +0 -70
  222. package/.agents/core/skills/testing/TROUBLESHOOTING.md +0 -18
  223. package/.agents/core/skills/testing/VALIDATION.json +0 -11
  224. package/.agents/core/skills/testing/skill.yaml +0 -26
  225. package/.agents/core/skills/typescript/EXAMPLES.md +0 -64
  226. package/.agents/core/skills/typescript/SKILL.md +0 -112
  227. package/.agents/core/skills/typescript/TROUBLESHOOTING.md +0 -19
  228. package/.agents/core/skills/typescript/VALIDATION.json +0 -12
  229. package/.agents/core/skills/typescript/skill.yaml +0 -10
  230. package/.agents/core/skills/typescript/typescript.md +0 -71
  231. package/.agents/core/skills/ui-design/EXAMPLES.md +0 -21
  232. package/.agents/core/skills/ui-design/SKILL.md +0 -124
  233. package/.agents/core/skills/ui-design/TROUBLESHOOTING.md +0 -19
  234. package/.agents/core/skills/ui-design/VALIDATION.json +0 -12
  235. package/.agents/core/skills/ui-design/skill.yaml +0 -10
  236. package/.agents/core/skills/ui-design/ui.md +0 -88
  237. package/.agents/core/skills/ui-ux-pro/EXAMPLES.md +0 -62
  238. package/.agents/core/skills/ui-ux-pro/SKILL.md +0 -375
  239. package/.agents/core/skills/ui-ux-pro/TROUBLESHOOTING.md +0 -19
  240. package/.agents/core/skills/ui-ux-pro/VALIDATION.json +0 -12
  241. package/.agents/core/skills/ui-ux-pro/skill.yaml +0 -13
  242. package/.agents/core/skills/ux-design/EXAMPLES.md +0 -36
  243. package/.agents/core/skills/ux-design/SKILL.md +0 -116
  244. package/.agents/core/skills/ux-design/TROUBLESHOOTING.md +0 -19
  245. package/.agents/core/skills/ux-design/VALIDATION.json +0 -12
  246. package/.agents/core/skills/ux-design/skill.yaml +0 -10
  247. package/.agents/core/skills/ux-design/ux.md +0 -80
  248. package/.agents/core/skills/vercel-optimize/SKILL.md +0 -83
  249. package/.agents/core/skills/vercel-optimize/VALIDATION.json +0 -12
  250. package/.agents/core/skills/vercel-optimize/skill.yaml +0 -10
  251. package/.agents/core/skills/web-accessibility/EXAMPLES.md +0 -39
  252. package/.agents/core/skills/web-accessibility/SKILL.md +0 -170
  253. package/.agents/core/skills/web-accessibility/TROUBLESHOOTING.md +0 -19
  254. package/.agents/core/skills/web-accessibility/VALIDATION.json +0 -12
  255. package/.agents/core/skills/web-accessibility/accessibility.md +0 -63
  256. package/.agents/core/skills/web-accessibility/skill.yaml +0 -10
  257. package/.agents/generated/claude/skills/adapters/SKILL.md +0 -126
  258. package/.agents/generated/claude/skills/architecture-diagrams/SKILL.md +0 -101
  259. package/.agents/generated/claude/skills/brutalist-design/SKILL.md +0 -145
  260. package/.agents/generated/claude/skills/database/SKILL.md +0 -191
  261. package/.agents/generated/claude/skills/ddd/SKILL.md +0 -305
  262. package/.agents/generated/claude/skills/decisions/SKILL.md +0 -134
  263. package/.agents/generated/claude/skills/docker/SKILL.md +0 -135
  264. package/.agents/generated/claude/skills/fastapi/SKILL.md +0 -200
  265. package/.agents/generated/claude/skills/generators/SKILL.md +0 -133
  266. package/.agents/generated/claude/skills/graphify/SKILL.md +0 -198
  267. package/.agents/generated/claude/skills/impeccable-design/SKILL.md +0 -241
  268. package/.agents/generated/claude/skills/interview-me/SKILL.md +0 -90
  269. package/.agents/generated/claude/skills/microservices/SKILL.md +0 -218
  270. package/.agents/generated/claude/skills/minimalist-design/SKILL.md +0 -108
  271. package/.agents/generated/claude/skills/nestjs/SKILL.md +0 -195
  272. package/.agents/generated/claude/skills/nextjs/SKILL.md +0 -219
  273. package/.agents/generated/claude/skills/node/SKILL.md +0 -224
  274. package/.agents/generated/claude/skills/performance/SKILL.md +0 -121
  275. package/.agents/generated/claude/skills/react/SKILL.md +0 -227
  276. package/.agents/generated/claude/skills/react-best-practices/SKILL.md +0 -146
  277. package/.agents/generated/claude/skills/redesign-audit/SKILL.md +0 -112
  278. package/.agents/generated/claude/skills/soft-design/SKILL.md +0 -103
  279. package/.agents/generated/claude/skills/state-management/SKILL.md +0 -120
  280. package/.agents/generated/claude/skills/subagent-orchestrator/SKILL.md +0 -93
  281. package/.agents/generated/claude/skills/system-design/SKILL.md +0 -507
  282. package/.agents/generated/claude/skills/testing/SKILL.md +0 -157
  283. package/.agents/generated/claude/skills/typescript/SKILL.md +0 -192
  284. package/.agents/generated/claude/skills/ui-design/SKILL.md +0 -161
  285. package/.agents/generated/claude/skills/ui-ux-pro/SKILL.md +0 -451
  286. package/.agents/generated/claude/skills/ux-design/SKILL.md +0 -168
  287. package/.agents/generated/claude/skills/vercel-optimize/SKILL.md +0 -76
  288. package/.agents/generated/claude/skills/web-accessibility/SKILL.md +0 -225
  289. package/.agents/generated/gemini/skills/adapters/SKILL.md +0 -135
  290. package/.agents/generated/gemini/skills/architecture-diagrams/SKILL.md +0 -107
  291. package/.agents/generated/gemini/skills/brutalist-design/SKILL.md +0 -151
  292. package/.agents/generated/gemini/skills/database/SKILL.md +0 -200
  293. package/.agents/generated/gemini/skills/ddd/SKILL.md +0 -314
  294. package/.agents/generated/gemini/skills/decisions/SKILL.md +0 -143
  295. package/.agents/generated/gemini/skills/docker/SKILL.md +0 -144
  296. package/.agents/generated/gemini/skills/fastapi/SKILL.md +0 -209
  297. package/.agents/generated/gemini/skills/generators/SKILL.md +0 -142
  298. package/.agents/generated/gemini/skills/graphify/SKILL.md +0 -205
  299. package/.agents/generated/gemini/skills/impeccable-design/SKILL.md +0 -250
  300. package/.agents/generated/gemini/skills/interview-me/SKILL.md +0 -96
  301. package/.agents/generated/gemini/skills/microservices/SKILL.md +0 -227
  302. package/.agents/generated/gemini/skills/minimalist-design/SKILL.md +0 -114
  303. package/.agents/generated/gemini/skills/nestjs/SKILL.md +0 -204
  304. package/.agents/generated/gemini/skills/nextjs/SKILL.md +0 -298
  305. package/.agents/generated/gemini/skills/node/SKILL.md +0 -323
  306. package/.agents/generated/gemini/skills/performance/SKILL.md +0 -185
  307. package/.agents/generated/gemini/skills/react/SKILL.md +0 -332
  308. package/.agents/generated/gemini/skills/react-best-practices/SKILL.md +0 -152
  309. package/.agents/generated/gemini/skills/redesign-audit/SKILL.md +0 -118
  310. package/.agents/generated/gemini/skills/soft-design/SKILL.md +0 -109
  311. package/.agents/generated/gemini/skills/state-management/SKILL.md +0 -129
  312. package/.agents/generated/gemini/skills/subagent-orchestrator/SKILL.md +0 -99
  313. package/.agents/generated/gemini/skills/system-design/SKILL.md +0 -631
  314. package/.agents/generated/gemini/skills/testing/SKILL.md +0 -166
  315. package/.agents/generated/gemini/skills/typescript/SKILL.md +0 -275
  316. package/.agents/generated/gemini/skills/ui-design/SKILL.md +0 -170
  317. package/.agents/generated/gemini/skills/ui-ux-pro/SKILL.md +0 -460
  318. package/.agents/generated/gemini/skills/ux-design/SKILL.md +0 -177
  319. package/.agents/generated/gemini/skills/vercel-optimize/SKILL.md +0 -82
  320. package/.agents/generated/gemini/skills/web-accessibility/SKILL.md +0 -300
  321. package/.agents/mcp/runtime.py +0 -470
  322. package/.agents/mcp/server.mjs +0 -189271
  323. package/benchmarks/gemini-issues.js +0 -533
@@ -1,19 +0,0 @@
1
- # ui-ux-pro Troubleshooting & Common Mistakes
2
-
3
- ## 1. Obvious AI Design Tells
4
-
5
- - **Symptom**: The interface immediately looks like a generic AI prototype.
6
- - **Root Cause**: Using Inter alone, pure black (#000000), purple-blue gradients, and rounded icon squares above every title.
7
- - **Fix**: Use tinted backgrounds (#090A0F), pair primary font with JetBrains Mono for code/numbers, use subtle border highlights.
8
-
9
- ## 2. Contrast Failures in Secondary Elements
10
-
11
- - **Symptom**: Captions, timestamps, and borders are invisible or impossible to read.
12
- - **Root Cause**: Using flat #666 or #444 grays without testing against actual background luminance.
13
- - **Fix**: Always test contrast ratios (minimum 4.5:1 for body, 3:1 for graphical boundaries) using semantic theme tokens.
14
-
15
- ## 3. Nesting Cards Inside Cards
16
-
17
- - **Symptom**: Visual claustrophobia and slop aesthetic.
18
- - **Root Cause**: Putting bordered cards inside other bordered cards.
19
- - **Fix**: Flatten the hierarchy. Use background surface contrast and negative space instead of border-in-border nesting.
@@ -1,12 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "type": "object",
4
- "properties": {
5
- "rules_followed": {
6
- "type": "boolean"
7
- }
8
- },
9
- "required": [
10
- "rules_followed"
11
- ]
12
- }
@@ -1,13 +0,0 @@
1
- name: ui-ux-pro
2
- description: >
3
- Professional UI/UX design skill with strict anti-pattern enforcement.
4
- Prevents AI slop design, enforces accessibility standards, semantic
5
- color palettes, proper spacing, and bans overused design clichés.
6
- tags:
7
- - ui
8
- - ux
9
- - design
10
- - accessibility
11
- - frontend
12
- version: 1.0.0
13
- source: https://github.com/nextlevelbuilder/ui-ux-pro-max-skill
@@ -1,36 +0,0 @@
1
- # ux-design Examples — Anti-patterns vs ContextOS Standard
2
-
3
- ## Example 1: Destructive Actions
4
-
5
- ### Anti-pattern: Instant Deletion Without Confirmation or Recovery
6
-
7
- ```tsx
8
- // BAD: Immediate delete on click, no confirmation, irreversible data loss
9
- <button onClick={() => deleteProject(project.id)}>Delete</button>
10
- ```
11
-
12
- ### Best practice: ContextOS Standard (Two-Step Confirmation or Undo Toast)
13
-
14
- ```tsx
15
- // GOOD: Clear confirmation dialog stating exact item name and non-reversible impact
16
- <AlertDialog>
17
- <AlertDialogTrigger asChild>
18
- <Button variant="destructive">Delete Project</Button>
19
- </AlertDialogTrigger>
20
- <AlertDialogContent>
21
- <AlertDialogHeader>
22
- <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
23
- <AlertDialogDescription>
24
- This action cannot be undone. This will permanently delete <strong>{project.name}</strong>
25
- and all associated API keys.
26
- </AlertDialogDescription>
27
- </AlertDialogHeader>
28
- <AlertDialogFooter>
29
- <AlertDialogCancel>Cancel</AlertDialogCancel>
30
- <AlertDialogAction onClick={handleDelete} className="bg-destructive">
31
- Delete permanently
32
- </AlertDialogAction>
33
- </AlertDialogFooter>
34
- </AlertDialogContent>
35
- </AlertDialog>
36
- ```
@@ -1,116 +0,0 @@
1
- ---
2
- name: UX Design
3
- description: >
4
- ContextOS skill for UX Design
5
- ---
6
-
7
- # UX Design
8
-
9
- ## Overview
10
-
11
- User experience and interaction design standard. Enforces progressive disclosure, predictable user flows, designed empty/loading/error states, form usability, and keyboard navigation ergonomics.
12
-
13
- ## When to Use
14
-
15
- Activate when designing complex multi-step workflows, onboarding funnels, form validation feedback, error recovery flows, and user journeys.
16
-
17
- ## Rules & Patterns
18
- <!-- Source: ux.md -->
19
-
20
- ## UX Design — Best Practices
21
-
22
- ## Information Architecture
23
-
24
- - **Mental models** — organize content the way users think, not the way your code is structured
25
- - **Card sorting** — group features into logical categories
26
- - **Navigation structure** — no more than 3 clicks to any page
27
- - **Naming** — use user's language, not internal jargon
28
-
29
- ## User Flows
30
-
31
- ### Design every state
32
-
33
- Every screen has 5 states. Design ALL of them:
34
-
35
- 1. **Empty state** — first visit, no data yet. Include CTA to get started
36
- 2. **Loading state** — skeleton screens > spinners
37
- 3. **Partial state** — some data, not complete
38
- 4. **Ideal state** — normal usage with data
39
- 5. **Error state** — what went wrong and how to fix it
40
-
41
- ### Reduce cognitive load
42
-
43
- - **Progressive disclosure** — show only what's needed now
44
- - **Sensible defaults** — pre-fill what you can
45
- - **Inline help** — tooltips and contextual guidance
46
- - **Confirmation for destructive actions** — but NOT for every action
47
-
48
- ## Forms UX
49
-
50
- - Show progress for multi-step forms
51
- - Validate inline (on blur), not on submit
52
- - Show password requirements as the user types
53
- - Auto-focus the first input
54
- - Use appropriate input types (email, tel, date)
55
- - Disable submit button only when form is submitting, never as "validation"
56
-
57
- ## Onboarding
58
-
59
- - **Quick win** — let users see value within 30 seconds
60
- - **Minimal signup** — only ask for what's absolutely needed
61
- - **Progressive onboarding** — teach features as users encounter them
62
- - **Skip option** — always let users skip tutorials
63
-
64
- ## Feedback
65
-
66
- - Every action needs feedback (success, error, pending)
67
- - Use toast notifications for non-blocking feedback
68
- - Use inline messages for form validation
69
- - Loading states should be < 300ms before showing (avoid flash)
70
- - Optimistic UI for fast-perceived actions
71
-
72
- ## Mobile UX
73
-
74
- - Touch targets: minimum 44x44px
75
- - Thumb zones — place primary actions within easy reach
76
- - Bottom navigation for core actions
77
- - Pull-to-refresh for content lists
78
- - Haptic feedback for important actions
79
-
80
- ## Psychology Principles
81
-
82
- - **Fitts's Law** — make important targets large and close
83
- - **Hick's Law** — reduce choices to reduce decision time
84
- - **Jakob's Law** — users prefer familiar patterns
85
- - **Peak-End Rule** — make the last interaction great
86
- - **Aesthetic-Usability Effect** — beautiful things are perceived as easier to use
87
-
88
- ## Usability Heuristics (Nielsen)
89
-
90
- 1. Visibility of system status
91
- 2. Match between system and real world
92
- 3. User control and freedom (undo, escape)
93
- 4. Consistency and standards
94
- 5. Error prevention
95
- 6. Recognition rather than recall
96
- 7. Flexibility and efficiency of use
97
- 8. Aesthetic and minimalist design
98
- 9. Help users recognize and recover from errors
99
- 10. Help and documentation
100
-
101
-
102
- ## Code Examples
103
-
104
- See `EXAMPLES.md` for detailed code examples.
105
-
106
- ## Validation Checklist
107
-
108
- What to verify during the review phase before completing the task.
109
-
110
- ## Common Mistakes
111
-
112
- Anti-patterns and things to explicitly avoid. See `TROUBLESHOOTING.md`.
113
-
114
- ## Integration Notes
115
-
116
- How this skill interacts with other skills.
@@ -1,19 +0,0 @@
1
- # ux-design Troubleshooting & Common Mistakes
2
-
3
- ## 1. Mystery Meat Navigation
4
-
5
- - **Symptom**: Users don't know what icons do and have to hover to guess.
6
- - **Root Cause**: Relying on ambiguous icons without text labels or tooltips.
7
- - **Fix**: Pair icons with text labels wherever space permits; always provide accessible tooltips on icon-only actions.
8
-
9
- ## 2. Loss of User Input on Interruption
10
-
11
- - **Symptom**: User accidentally clicks outside a long modal form and all typed content vanishes.
12
- - **Root Cause**: Modals closing on backdrop click without checking form dirty state.
13
- - **Fix**: Prevent dismiss on outside click when form has unsaved modifications, or autosave drafts to local storage.
14
-
15
- ## 3. Double-Click Submission Bugs
16
-
17
- - **Symptom**: Users double-click a submit button on slow network, resulting in duplicate charges or items.
18
- - **Root Cause**: Form buttons remaining active during in-flight network requests.
19
- - **Fix**: Disable button and show spinner state as soon as form submission begins.
@@ -1,12 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "type": "object",
4
- "properties": {
5
- "rules_followed": {
6
- "type": "boolean"
7
- }
8
- },
9
- "required": [
10
- "rules_followed"
11
- ]
12
- }
@@ -1,10 +0,0 @@
1
- id: ux-design
2
- name: UX Design
3
- category: design
4
- tags: [design, ux, user-flows, usability, information-architecture]
5
- requires: []
6
- optional: [ui-design, web-accessibility]
7
- conflicts: []
8
- weight: 7
9
- documents:
10
- - ux.md
@@ -1,80 +0,0 @@
1
- # UX Design — Best Practices
2
-
3
- ## Information Architecture
4
-
5
- - **Mental models** — organize content the way users think, not the way your code is structured
6
- - **Card sorting** — group features into logical categories
7
- - **Navigation structure** — no more than 3 clicks to any page
8
- - **Naming** — use user's language, not internal jargon
9
-
10
- ## User Flows
11
-
12
- ### Design every state
13
-
14
- Every screen has 5 states. Design ALL of them:
15
-
16
- 1. **Empty state** — first visit, no data yet. Include CTA to get started
17
- 2. **Loading state** — skeleton screens > spinners
18
- 3. **Partial state** — some data, not complete
19
- 4. **Ideal state** — normal usage with data
20
- 5. **Error state** — what went wrong and how to fix it
21
-
22
- ### Reduce cognitive load
23
-
24
- - **Progressive disclosure** — show only what's needed now
25
- - **Sensible defaults** — pre-fill what you can
26
- - **Inline help** — tooltips and contextual guidance
27
- - **Confirmation for destructive actions** — but NOT for every action
28
-
29
- ## Forms UX
30
-
31
- - Show progress for multi-step forms
32
- - Validate inline (on blur), not on submit
33
- - Show password requirements as the user types
34
- - Auto-focus the first input
35
- - Use appropriate input types (email, tel, date)
36
- - Disable submit button only when form is submitting, never as "validation"
37
-
38
- ## Onboarding
39
-
40
- - **Quick win** — let users see value within 30 seconds
41
- - **Minimal signup** — only ask for what's absolutely needed
42
- - **Progressive onboarding** — teach features as users encounter them
43
- - **Skip option** — always let users skip tutorials
44
-
45
- ## Feedback
46
-
47
- - Every action needs feedback (success, error, pending)
48
- - Use toast notifications for non-blocking feedback
49
- - Use inline messages for form validation
50
- - Loading states should be < 300ms before showing (avoid flash)
51
- - Optimistic UI for fast-perceived actions
52
-
53
- ## Mobile UX
54
-
55
- - Touch targets: minimum 44x44px
56
- - Thumb zones — place primary actions within easy reach
57
- - Bottom navigation for core actions
58
- - Pull-to-refresh for content lists
59
- - Haptic feedback for important actions
60
-
61
- ## Psychology Principles
62
-
63
- - **Fitts's Law** — make important targets large and close
64
- - **Hick's Law** — reduce choices to reduce decision time
65
- - **Jakob's Law** — users prefer familiar patterns
66
- - **Peak-End Rule** — make the last interaction great
67
- - **Aesthetic-Usability Effect** — beautiful things are perceived as easier to use
68
-
69
- ## Usability Heuristics (Nielsen)
70
-
71
- 1. Visibility of system status
72
- 2. Match between system and real world
73
- 3. User control and freedom (undo, escape)
74
- 4. Consistency and standards
75
- 5. Error prevention
76
- 6. Recognition rather than recall
77
- 7. Flexibility and efficiency of use
78
- 8. Aesthetic and minimalist design
79
- 9. Help users recognize and recover from errors
80
- 10. Help and documentation
@@ -1,83 +0,0 @@
1
- ---
2
- name: vercel-optimize
3
- description: "Use for Vercel cost and performance optimization on deployed projects, especially Next.js, SvelteKit, Nuxt, and limited Astro apps. Collect Vercel metrics, usage, project config, and code scan results first; investigate only metric-backed candidates; produce ranked recommendations grounded in verified files and version-aware Vercel/framework docs. Trigger for Vercel bill reduction, slow or expensive routes, caching opportunities, Function Invocations, Build Minutes, Fast Data Transfer, Core Web Vitals, Bot Management, Fluid compute, or cost breakdown requests."
4
- metadata:
5
- version: "1.2.0"
6
- ---
7
-
8
- # Vercel Optimize
9
-
10
- ## Overview
11
-
12
- Observability-first Vercel performance and cost reduction optimization skill. Evaluates deployed Next.js, SvelteKit, Nuxt, and Astro projects using production telemetry signals (`signals.json`), deterministic candidate gating, and code scanning to deliver ranked, verified architectural recommendations.
13
-
14
- ## When to Use
15
-
16
- - When tasked with reducing Vercel bills, Function Invocations, Fast Data Transfer, or Build Minutes.
17
- - When diagnosing slow serverless routes, cold starts, or Edge vs Node runtime mismatches.
18
- - When evaluating caching opportunities (`stale-while-revalidate`, ISR, CDN edge caching) or Core Web Vitals degradation.
19
-
20
- ## Rules & Patterns
21
-
22
- ### 1. Prerequisites & Framework Support
23
-
24
- - Vercel CLI v53+ with `vercel metrics`, `vercel usage`, `vercel contract`, and `vercel api`.
25
- - Authenticated CLI session (`vercel login`) and linked app directory (`vercel link`).
26
- - Framework support: Next.js App Router (Full), Pages Router (Supported), SvelteKit (Supported), Nuxt (Supported), Astro (Limited).
27
- - Security rule: Never put auth tokens in shell commands (`VERCEL_TOKEN=...` is banned in chat/logs).
28
-
29
- ### 2. Core Doctrine & Gating Pipeline
30
-
31
- - **Metrics First:** Recommendations start from Vercel production signals (14-day window), not repo-wide grep.
32
- - **Deterministic Gates:** `scripts/gate-investigations.mjs` selects code-scope and platform-scope candidates.
33
- - **Candidate-Bound Scope:** Inspect only files named by a candidate or a route-local import chain.
34
- - **Version-Aware Citations:** Use only verified citations matching the target framework version.
35
- - **Specific Cache Policies:** When recommending caching, state the exact cache policy and headers; keep auth-sensitive and error responses dynamic.
36
-
37
- ### 3. Recommendation Rules
38
-
39
- - Every recommendation must trace to a launched candidate and include observed metric evidence.
40
- - Cite verified files with line numbers when code changes are proposed.
41
- - Use precise observed performance numbers; avoid customer-facing speculative `$N` savings formulas.
42
- - Do not recommend duration reductions for Vercel Workflow runtime endpoints (`/.well-known/workflow/v1/*`).
43
-
44
- ## Code Examples
45
-
46
- ```typescript
47
- // [GOOD] Next.js Route Segment Config for Caching & Edge Runtime
48
- export const dynamic = 'force-static';
49
- export const revalidate = 3600; // Cache at Edge for 1 hour
50
-
51
- export default async function CachedCatalogPage() {
52
- const products = await getCatalogData();
53
- return <CatalogGrid items={products} />;
54
- }
55
- ```
56
-
57
- ```bash
58
- # Running the signals collection and gate
59
- node scripts/collect-signals.mjs [projectId] > "$RUN_DIR/vercel-signals.json"
60
- node scripts/scan-codebase.mjs <repo-root> > "$RUN_DIR/codebase.json"
61
- node scripts/merge-signals.mjs "$RUN_DIR/vercel-signals.json" "$RUN_DIR/codebase.json" --out "$RUN_DIR/signals.json"
62
- node scripts/gate-investigations.mjs "$RUN_DIR/signals.json" > "$RUN_DIR/gate.json"
63
- ```
64
-
65
- ## Validation Checklist
66
-
67
- - [ ] Project is properly linked with valid team/personal scope (`vercel link`).
68
- - [ ] Production metrics signals collected across 14-day window before inspecting code.
69
- - [ ] No secrets or tokens passed in command line arguments.
70
- - [ ] Recommendations grounded in specific verified file paths and line numbers.
71
- - [ ] Unsafe or auth-sensitive paths kept strictly dynamic.
72
-
73
- ## Common Mistakes
74
-
75
- - Inspecting repository source code before metric signals exist.
76
- - Hardcoding `VERCEL_TOKEN` into terminal commands or prompt logs.
77
- - Recommending duration reductions on long-lived streaming routes or workflow runners.
78
- - Applying static caching to user-specific or authenticated routes.
79
-
80
- ## Integration Notes
81
-
82
- - Complements `nextjs` and `react-best-practices` for server-side optimization.
83
- - Pairs with `performance` and `security` skills.
@@ -1,12 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "type": "object",
4
- "properties": {
5
- "rules_followed": {
6
- "type": "boolean"
7
- }
8
- },
9
- "required": [
10
- "rules_followed"
11
- ]
12
- }
@@ -1,10 +0,0 @@
1
- name: vercel-optimize
2
- description: Observability-first Vercel performance and cost reduction optimization skill.
3
- tags:
4
- - vercel
5
- - nextjs
6
- - performance
7
- - cost
8
- version: 1.2.0
9
- requires:
10
- - nextjs
@@ -1,39 +0,0 @@
1
- # web-accessibility Examples — Anti-patterns vs ContextOS Standard
2
-
3
- ## Example 1: Semantic Buttons vs Clickable Divs
4
-
5
- ### Anti-pattern: Clickable Div
6
-
7
- ```tsx
8
- // BAD: Cannot be focused with Tab, does not respond to Enter or Space, silent to screen readers
9
- <div className="button" onClick={handleSubmit}>Submit</div>
10
- ```
11
-
12
- ### Best practice: ContextOS Standard (Semantic Button Element)
13
-
14
- ```tsx
15
- // GOOD: Keyboard focusable, native Enter/Space handling, properly announced by assistive tech
16
- <button type="button" onClick={handleSubmit} className="btn btn-primary">
17
- Submit
18
- </button>
19
- ```
20
-
21
- ---
22
-
23
- ## Example 2: Icon-only Buttons
24
-
25
- ### Anti-pattern: Unlabelled Icon Button
26
-
27
- ```tsx
28
- // BAD: Screen reader announces "button", user has zero idea what it does
29
- <button onClick={onClose}><XIcon /></button>
30
- ```
31
-
32
- ### Best practice: ContextOS Standard (Accessible Label)
33
-
34
- ```tsx
35
- // GOOD: Explicit aria-label and hidden decorative icon
36
- <button type="button" onClick={onClose} aria-label="Close modal window">
37
- <XIcon aria-hidden="true" />
38
- </button>
39
- ```
@@ -1,170 +0,0 @@
1
- ---
2
- name: Web Accessibility
3
- description: >
4
- ContextOS skill for Web Accessibility (WCAG 2.1 AA/AAA), ARIA dialog patterns, keyboard focus traps, and Web Interface Guidelines.
5
- ---
6
-
7
- # Web Accessibility & Interface Guidelines
8
-
9
- ## Overview
10
-
11
- Enforces universal accessibility compliance (WCAG 2.1 AA / AAA), rigorous semantic markup, keyboard navigability with focus traps, screen reader live regions, and Web Interface Guidelines standards.
12
-
13
- ## When to Use
14
-
15
- Activate whenever building, styling, or reviewing user interfaces, forms, modals, menus, navigation drawers, custom interactive widgets, or media elements.
16
-
17
- ## Negative Constraints (What NOT to Do)
18
-
19
- 1. **NEVER use `outline: none` without a custom `:focus-visible` replacement**: Keyboard users must always have a distinct, high-contrast visual focus ring.
20
- 2. **NEVER use non-semantic elements (`<div onClick>`) for interactive triggers**: Always use native `<button>` or `<a href>`.
21
- 3. **NEVER create modals or dialogs without keyboard focus traps**: Focus must remain trapped inside open dialogs during Tab / Shift-Tab navigation and restore to trigger on close.
22
- 4. **NEVER rely exclusively on color to indicate state or errors**: Always pair colors with text labels, icons, or ARIA attributes (`aria-invalid="true"`).
23
- 5. **NEVER trap screen readers with missing form labels or error associations**: Every input must link to `<label htmlFor="id">` and errors via `aria-describedby`.
24
- 6. **NEVER play animations without honoring `prefers-reduced-motion`**: Respect user OS motion reduction preferences.
25
-
26
- ## Rules & Patterns
27
-
28
- ### 1. Focus Visible & High-Contrast Focus Rings
29
-
30
- ```css
31
- button:focus-visible,
32
- a:focus-visible,
33
- input:focus-visible {
34
- outline: 2px solid #6366f1;
35
- outline-offset: 2px;
36
- border-radius: 4px;
37
- }
38
-
39
- button:focus:not(:focus-visible) {
40
- outline: none;
41
- }
42
- ```
43
-
44
- ### 2. Accessible Modal & Focus Trap Contract
45
-
46
- ```tsx
47
- import React, { useEffect, useRef } from 'react';
48
- import { createPortal } from 'react-dom';
49
-
50
- interface ModalProps {
51
- isOpen: boolean;
52
- onClose: () => void;
53
- titleId: string;
54
- children: React.ReactNode;
55
- }
56
-
57
- export function AccessibleModal({ isOpen, onClose, titleId, children }: ModalProps) {
58
- const dialogRef = useRef<HTMLDivElement>(null);
59
- const triggerRef = useRef<HTMLElement | null>(null);
60
-
61
- useEffect(() => {
62
- if (!isOpen) return;
63
- triggerRef.current = document.activeElement as HTMLElement;
64
-
65
- const handleKeyDown = (e: KeyboardEvent) => {
66
- if (e.key === 'Escape') {
67
- e.preventDefault();
68
- onClose();
69
- }
70
-
71
- if (e.key === 'Tab') {
72
- const focusables = dialogRef.current?.querySelectorAll<HTMLElement>(
73
- 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
74
- ) || [];
75
- if (!focusables.length) return;
76
-
77
- const first = focusables[0];
78
- const last = focusables[focusables.length - 1];
79
-
80
- if (e.shiftKey && document.activeElement === first) {
81
- e.preventDefault();
82
- last.focus();
83
- } else if (!e.shiftKey && document.activeElement === last) {
84
- e.preventDefault();
85
- first.focus();
86
- }
87
- }
88
- };
89
-
90
- document.addEventListener('keydown', handleKeyDown);
91
- return () => {
92
- document.removeEventListener('keydown', handleKeyDown);
93
- triggerRef.current?.focus();
94
- };
95
- }, [isOpen, onClose]);
96
-
97
- if (!isOpen) return null;
98
-
99
- return createPortal(
100
- <div className="fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4">
101
- <div
102
- ref={dialogRef}
103
- role="dialog"
104
- aria-modal="true"
105
- aria-labelledby={titleId}
106
- className="w-full max-w-lg rounded-xl bg-background p-6 shadow-2xl border"
107
- >
108
- {children}
109
- </div>
110
- </div>,
111
- document.body
112
- );
113
- }
114
- ```
115
-
116
- ### 3. Accessible Forms & Error Association
117
-
118
- ```tsx
119
- export function EmailInput({ error, ...props }: { error?: string } & React.InputHTMLAttributes<HTMLInputElement>) {
120
- const inputId = 'user-email';
121
- const errorId = 'user-email-error';
122
-
123
- return (
124
- <div className="flex flex-col gap-1.5">
125
- <label htmlFor={inputId} className="text-sm font-medium">
126
- Email Address <span aria-hidden="true" className="text-destructive">*</span>
127
- </label>
128
- <input
129
- id={inputId}
130
- type="email"
131
- autoComplete="email"
132
- required
133
- aria-invalid={Boolean(error)}
134
- aria-describedby={error ? errorId : undefined}
135
- className="rounded-md border p-2 text-sm focus-visible:ring-2"
136
- {...props}
137
- />
138
- {error && (
139
- <p id={errorId} role="alert" className="text-xs text-destructive">
140
- {error}
141
- </p>
142
- )}
143
- </div>
144
- );
145
- }
146
- ```
147
-
148
- ## Code Examples
149
-
150
- See `EXAMPLES.md` for detailed dialog, menu, and form examples.
151
-
152
- ## Validation Checklist
153
-
154
- - [ ] All interactive elements are fully operable via Keyboard (`Tab`, `Enter`, `Space`, `Escape`).
155
- - [ ] Visual `:focus-visible` styling is distinct and high contrast (≥ 3:1).
156
- - [ ] Modals use `role="dialog"`, `aria-modal="true"`, focus trap, and restore focus on close.
157
- - [ ] Text contrast ratios satisfy WCAG AA (≥ 4.5:1 for normal text, ≥ 3:1 for large text).
158
- - [ ] Forms pair inputs with `<label htmlFor>`, valid `autocomplete` tokens, and `aria-invalid`.
159
- - [ ] Non-text media contains descriptive `alt` attributes or `aria-hidden="true"` for decorative icons.
160
-
161
- ## Common Mistakes
162
-
163
- - Hiding outline focus indicators globally without `:focus-visible` fallback.
164
- - Forgetting to trap focus in modal dialogs or not returning focus to trigger when modal closes.
165
- - Missing `aria-expanded` attributes on disclosure buttons and dropdown toggles.
166
-
167
- ## Integration Notes
168
-
169
- - Pairs with `ui-ux-pro` and `impeccable-design` for visual contrast and component standards.
170
- - Pairs with `react` and `nextjs` for accessible dialogs and focus restoration across route transitions.
@@ -1,19 +0,0 @@
1
- # web-accessibility Troubleshooting & Common Mistakes
2
-
3
- ## 1. Trapping Keyboard Users in Inactive Elements
4
-
5
- - **Symptom**: Tab key moves focus into invisible elements hidden offscreen.
6
- - **Root Cause**: Using display: none vs opacity: 0 or left: -9999px.
7
- - **Fix**: Always apply display: none / hidden or inert attribute to elements that are currently not visible.
8
-
9
- ## 2. Color Contrast Violations
10
-
11
- - **Symptom**: Text is unreadable for users with low vision or in bright sunlight.
12
- - **Root Cause**: Contrast ratio between text and background color is below WCAG AA thresholds.
13
- - **Fix**: Ensure contrast ratio is at least 4.5:1 for body text and 3:1 for large text / graphical controls.
14
-
15
- ## 3. Silent Dynamic Updates
16
-
17
- - **Symptom**: Asynchronous error messages or notifications appear on screen without screen reader announcement.
18
- - **Root Cause**: Missing ARIA live region.
19
- - **Fix**: Wrap notification banners in aria-live="polite" and role="status".
@@ -1,12 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "type": "object",
4
- "properties": {
5
- "rules_followed": {
6
- "type": "boolean"
7
- }
8
- },
9
- "required": [
10
- "rules_followed"
11
- ]
12
- }