@wazir-dev/cli 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 (629) hide show
  1. package/AGENTS.md +111 -0
  2. package/CHANGELOG.md +14 -0
  3. package/CONTRIBUTING.md +101 -0
  4. package/LICENSE +21 -0
  5. package/README.md +314 -0
  6. package/assets/composition-engine.mmd +34 -0
  7. package/assets/demo-script.sh +17 -0
  8. package/assets/logo-dark.svg +14 -0
  9. package/assets/logo.svg +14 -0
  10. package/assets/pipeline.mmd +39 -0
  11. package/assets/record-demo.sh +51 -0
  12. package/docs/README.md +51 -0
  13. package/docs/adapters/context-mode.md +60 -0
  14. package/docs/concepts/architecture.md +87 -0
  15. package/docs/concepts/artifact-model.md +60 -0
  16. package/docs/concepts/composition-engine.md +36 -0
  17. package/docs/concepts/indexing-and-recall.md +160 -0
  18. package/docs/concepts/observability.md +41 -0
  19. package/docs/concepts/roles-and-workflows.md +59 -0
  20. package/docs/concepts/terminology-policy.md +27 -0
  21. package/docs/getting-started/01-installation.md +78 -0
  22. package/docs/getting-started/02-first-run.md +102 -0
  23. package/docs/getting-started/03-adding-to-project.md +15 -0
  24. package/docs/getting-started/04-host-setup.md +15 -0
  25. package/docs/guides/ci-integration.md +15 -0
  26. package/docs/guides/creating-skills.md +15 -0
  27. package/docs/guides/expertise-module-authoring.md +15 -0
  28. package/docs/guides/hook-development.md +15 -0
  29. package/docs/guides/memory-and-learnings.md +34 -0
  30. package/docs/guides/multi-host-export.md +15 -0
  31. package/docs/guides/troubleshooting.md +101 -0
  32. package/docs/guides/writing-custom-roles.md +15 -0
  33. package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
  34. package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
  35. package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
  36. package/docs/readmes/INDEX.md +99 -0
  37. package/docs/readmes/features/expertise/README.md +171 -0
  38. package/docs/readmes/features/exports/README.md +222 -0
  39. package/docs/readmes/features/hooks/README.md +103 -0
  40. package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
  41. package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
  42. package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
  43. package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
  44. package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
  45. package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
  46. package/docs/readmes/features/hooks/session-start.md +119 -0
  47. package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
  48. package/docs/readmes/features/roles/README.md +157 -0
  49. package/docs/readmes/features/roles/clarifier.md +152 -0
  50. package/docs/readmes/features/roles/content-author.md +190 -0
  51. package/docs/readmes/features/roles/designer.md +193 -0
  52. package/docs/readmes/features/roles/executor.md +184 -0
  53. package/docs/readmes/features/roles/learner.md +210 -0
  54. package/docs/readmes/features/roles/planner.md +182 -0
  55. package/docs/readmes/features/roles/researcher.md +164 -0
  56. package/docs/readmes/features/roles/reviewer.md +184 -0
  57. package/docs/readmes/features/roles/specifier.md +162 -0
  58. package/docs/readmes/features/roles/verifier.md +215 -0
  59. package/docs/readmes/features/schemas/README.md +178 -0
  60. package/docs/readmes/features/skills/README.md +63 -0
  61. package/docs/readmes/features/skills/brainstorming.md +96 -0
  62. package/docs/readmes/features/skills/debugging.md +148 -0
  63. package/docs/readmes/features/skills/design.md +120 -0
  64. package/docs/readmes/features/skills/prepare-next.md +109 -0
  65. package/docs/readmes/features/skills/run-audit.md +159 -0
  66. package/docs/readmes/features/skills/scan-project.md +109 -0
  67. package/docs/readmes/features/skills/self-audit.md +176 -0
  68. package/docs/readmes/features/skills/tdd.md +137 -0
  69. package/docs/readmes/features/skills/using-skills.md +92 -0
  70. package/docs/readmes/features/skills/verification.md +120 -0
  71. package/docs/readmes/features/skills/writing-plans.md +104 -0
  72. package/docs/readmes/features/tooling/README.md +320 -0
  73. package/docs/readmes/features/workflows/README.md +186 -0
  74. package/docs/readmes/features/workflows/author.md +181 -0
  75. package/docs/readmes/features/workflows/clarify.md +154 -0
  76. package/docs/readmes/features/workflows/design-review.md +171 -0
  77. package/docs/readmes/features/workflows/design.md +169 -0
  78. package/docs/readmes/features/workflows/discover.md +162 -0
  79. package/docs/readmes/features/workflows/execute.md +173 -0
  80. package/docs/readmes/features/workflows/learn.md +167 -0
  81. package/docs/readmes/features/workflows/plan-review.md +165 -0
  82. package/docs/readmes/features/workflows/plan.md +170 -0
  83. package/docs/readmes/features/workflows/prepare-next.md +167 -0
  84. package/docs/readmes/features/workflows/review.md +169 -0
  85. package/docs/readmes/features/workflows/run-audit.md +191 -0
  86. package/docs/readmes/features/workflows/spec-challenge.md +159 -0
  87. package/docs/readmes/features/workflows/specify.md +160 -0
  88. package/docs/readmes/features/workflows/verify.md +177 -0
  89. package/docs/readmes/packages/README.md +50 -0
  90. package/docs/readmes/packages/ajv.md +117 -0
  91. package/docs/readmes/packages/context-mode.md +118 -0
  92. package/docs/readmes/packages/gray-matter.md +116 -0
  93. package/docs/readmes/packages/node-test.md +137 -0
  94. package/docs/readmes/packages/yaml.md +112 -0
  95. package/docs/reference/configuration-reference.md +159 -0
  96. package/docs/reference/expertise-index.md +52 -0
  97. package/docs/reference/git-flow.md +43 -0
  98. package/docs/reference/hooks.md +87 -0
  99. package/docs/reference/host-exports.md +50 -0
  100. package/docs/reference/launch-checklist.md +172 -0
  101. package/docs/reference/marketplace-listings.md +76 -0
  102. package/docs/reference/release-process.md +34 -0
  103. package/docs/reference/roles-reference.md +77 -0
  104. package/docs/reference/skills.md +33 -0
  105. package/docs/reference/templates.md +29 -0
  106. package/docs/reference/tooling-cli.md +94 -0
  107. package/docs/truth-claims.yaml +222 -0
  108. package/expertise/PROGRESS.md +63 -0
  109. package/expertise/README.md +18 -0
  110. package/expertise/antipatterns/PROGRESS.md +56 -0
  111. package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
  112. package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
  113. package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
  114. package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
  115. package/expertise/antipatterns/backend/index.md +24 -0
  116. package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
  117. package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
  118. package/expertise/antipatterns/code/async-antipatterns.md +622 -0
  119. package/expertise/antipatterns/code/code-smells.md +1186 -0
  120. package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
  121. package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
  122. package/expertise/antipatterns/code/index.md +27 -0
  123. package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
  124. package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
  125. package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
  126. package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
  127. package/expertise/antipatterns/design/dark-patterns.md +1121 -0
  128. package/expertise/antipatterns/design/index.md +22 -0
  129. package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
  130. package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
  131. package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
  132. package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
  133. package/expertise/antipatterns/frontend/index.md +23 -0
  134. package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
  135. package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
  136. package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
  137. package/expertise/antipatterns/index.md +31 -0
  138. package/expertise/antipatterns/performance/index.md +20 -0
  139. package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
  140. package/expertise/antipatterns/performance/premature-optimization.md +623 -0
  141. package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
  142. package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
  143. package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
  144. package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
  145. package/expertise/antipatterns/process/index.md +23 -0
  146. package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
  147. package/expertise/antipatterns/security/index.md +20 -0
  148. package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
  149. package/expertise/antipatterns/security/security-theater.md +843 -0
  150. package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
  151. package/expertise/architecture/PROGRESS.md +70 -0
  152. package/expertise/architecture/data/caching-architecture.md +671 -0
  153. package/expertise/architecture/data/data-consistency.md +574 -0
  154. package/expertise/architecture/data/data-modeling.md +536 -0
  155. package/expertise/architecture/data/event-streams-and-queues.md +634 -0
  156. package/expertise/architecture/data/index.md +25 -0
  157. package/expertise/architecture/data/search-architecture.md +663 -0
  158. package/expertise/architecture/data/sql-vs-nosql.md +708 -0
  159. package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
  160. package/expertise/architecture/decisions/build-vs-buy.md +616 -0
  161. package/expertise/architecture/decisions/index.md +23 -0
  162. package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
  163. package/expertise/architecture/decisions/technology-selection.md +616 -0
  164. package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
  165. package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
  166. package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
  167. package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
  168. package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
  169. package/expertise/architecture/distributed/index.md +25 -0
  170. package/expertise/architecture/distributed/saga-pattern.md +797 -0
  171. package/expertise/architecture/foundations/architectural-thinking.md +460 -0
  172. package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
  173. package/expertise/architecture/foundations/design-principles-solid.md +649 -0
  174. package/expertise/architecture/foundations/domain-driven-design.md +719 -0
  175. package/expertise/architecture/foundations/index.md +25 -0
  176. package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
  177. package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
  178. package/expertise/architecture/index.md +34 -0
  179. package/expertise/architecture/integration/api-design-graphql.md +638 -0
  180. package/expertise/architecture/integration/api-design-grpc.md +804 -0
  181. package/expertise/architecture/integration/api-design-rest.md +892 -0
  182. package/expertise/architecture/integration/index.md +25 -0
  183. package/expertise/architecture/integration/third-party-integration.md +795 -0
  184. package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
  185. package/expertise/architecture/integration/websockets-realtime.md +791 -0
  186. package/expertise/architecture/mobile-architecture/index.md +22 -0
  187. package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
  188. package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
  189. package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
  190. package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
  191. package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
  192. package/expertise/architecture/patterns/event-driven.md +797 -0
  193. package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
  194. package/expertise/architecture/patterns/index.md +27 -0
  195. package/expertise/architecture/patterns/layered-architecture.md +736 -0
  196. package/expertise/architecture/patterns/microservices.md +753 -0
  197. package/expertise/architecture/patterns/modular-monolith.md +692 -0
  198. package/expertise/architecture/patterns/monolith.md +626 -0
  199. package/expertise/architecture/patterns/plugin-architecture.md +735 -0
  200. package/expertise/architecture/patterns/serverless.md +780 -0
  201. package/expertise/architecture/scaling/database-scaling.md +615 -0
  202. package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
  203. package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
  204. package/expertise/architecture/scaling/index.md +24 -0
  205. package/expertise/architecture/scaling/multi-tenancy.md +800 -0
  206. package/expertise/architecture/scaling/stateless-design.md +787 -0
  207. package/expertise/backend/embedded-firmware.md +625 -0
  208. package/expertise/backend/go.md +853 -0
  209. package/expertise/backend/index.md +24 -0
  210. package/expertise/backend/java-spring.md +448 -0
  211. package/expertise/backend/node-typescript.md +625 -0
  212. package/expertise/backend/python-fastapi.md +724 -0
  213. package/expertise/backend/rust.md +458 -0
  214. package/expertise/backend/solidity.md +711 -0
  215. package/expertise/composition-map.yaml +443 -0
  216. package/expertise/content/foundations/content-modeling.md +395 -0
  217. package/expertise/content/foundations/editorial-standards.md +449 -0
  218. package/expertise/content/foundations/index.md +24 -0
  219. package/expertise/content/foundations/microcopy.md +455 -0
  220. package/expertise/content/foundations/terminology-governance.md +509 -0
  221. package/expertise/content/index.md +34 -0
  222. package/expertise/content/patterns/accessibility-copy.md +518 -0
  223. package/expertise/content/patterns/index.md +24 -0
  224. package/expertise/content/patterns/notification-content.md +433 -0
  225. package/expertise/content/patterns/sample-content.md +486 -0
  226. package/expertise/content/patterns/state-copy.md +439 -0
  227. package/expertise/design/PROGRESS.md +58 -0
  228. package/expertise/design/disciplines/dark-mode-theming.md +577 -0
  229. package/expertise/design/disciplines/design-systems.md +595 -0
  230. package/expertise/design/disciplines/index.md +25 -0
  231. package/expertise/design/disciplines/information-architecture.md +800 -0
  232. package/expertise/design/disciplines/interaction-design.md +788 -0
  233. package/expertise/design/disciplines/responsive-design.md +552 -0
  234. package/expertise/design/disciplines/usability-testing.md +516 -0
  235. package/expertise/design/disciplines/user-research.md +792 -0
  236. package/expertise/design/foundations/accessibility-design.md +796 -0
  237. package/expertise/design/foundations/color-theory.md +797 -0
  238. package/expertise/design/foundations/iconography.md +795 -0
  239. package/expertise/design/foundations/index.md +26 -0
  240. package/expertise/design/foundations/motion-and-animation.md +653 -0
  241. package/expertise/design/foundations/rtl-design.md +585 -0
  242. package/expertise/design/foundations/spacing-and-layout.md +607 -0
  243. package/expertise/design/foundations/typography.md +800 -0
  244. package/expertise/design/foundations/visual-hierarchy.md +761 -0
  245. package/expertise/design/index.md +32 -0
  246. package/expertise/design/patterns/authentication-flows.md +474 -0
  247. package/expertise/design/patterns/content-consumption.md +789 -0
  248. package/expertise/design/patterns/data-display.md +618 -0
  249. package/expertise/design/patterns/e-commerce.md +1494 -0
  250. package/expertise/design/patterns/feedback-and-states.md +642 -0
  251. package/expertise/design/patterns/forms-and-input.md +819 -0
  252. package/expertise/design/patterns/gamification.md +801 -0
  253. package/expertise/design/patterns/index.md +31 -0
  254. package/expertise/design/patterns/microinteractions.md +449 -0
  255. package/expertise/design/patterns/navigation.md +800 -0
  256. package/expertise/design/patterns/notifications.md +705 -0
  257. package/expertise/design/patterns/onboarding.md +700 -0
  258. package/expertise/design/patterns/search-and-filter.md +601 -0
  259. package/expertise/design/patterns/settings-and-preferences.md +768 -0
  260. package/expertise/design/patterns/social-and-community.md +748 -0
  261. package/expertise/design/platforms/desktop-native.md +612 -0
  262. package/expertise/design/platforms/index.md +25 -0
  263. package/expertise/design/platforms/mobile-android.md +825 -0
  264. package/expertise/design/platforms/mobile-cross-platform.md +983 -0
  265. package/expertise/design/platforms/mobile-ios.md +699 -0
  266. package/expertise/design/platforms/tablet.md +794 -0
  267. package/expertise/design/platforms/web-dashboard.md +790 -0
  268. package/expertise/design/platforms/web-responsive.md +550 -0
  269. package/expertise/design/psychology/behavioral-nudges.md +449 -0
  270. package/expertise/design/psychology/cognitive-load.md +1191 -0
  271. package/expertise/design/psychology/error-psychology.md +778 -0
  272. package/expertise/design/psychology/index.md +22 -0
  273. package/expertise/design/psychology/persuasive-design.md +736 -0
  274. package/expertise/design/psychology/user-mental-models.md +623 -0
  275. package/expertise/design/tooling/open-pencil.md +266 -0
  276. package/expertise/frontend/angular.md +1073 -0
  277. package/expertise/frontend/desktop-electron.md +546 -0
  278. package/expertise/frontend/flutter.md +782 -0
  279. package/expertise/frontend/index.md +27 -0
  280. package/expertise/frontend/native-android.md +409 -0
  281. package/expertise/frontend/native-ios.md +490 -0
  282. package/expertise/frontend/react-native.md +1160 -0
  283. package/expertise/frontend/react.md +808 -0
  284. package/expertise/frontend/vue.md +1089 -0
  285. package/expertise/humanize/domain-rules-code.md +79 -0
  286. package/expertise/humanize/domain-rules-content.md +67 -0
  287. package/expertise/humanize/domain-rules-technical-docs.md +56 -0
  288. package/expertise/humanize/index.md +35 -0
  289. package/expertise/humanize/self-audit-checklist.md +87 -0
  290. package/expertise/humanize/sentence-patterns.md +218 -0
  291. package/expertise/humanize/vocabulary-blacklist.md +105 -0
  292. package/expertise/i18n/PROGRESS.md +65 -0
  293. package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
  294. package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
  295. package/expertise/i18n/advanced/complex-scripts.md +30 -0
  296. package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
  297. package/expertise/i18n/advanced/testing-i18n.md +28 -0
  298. package/expertise/i18n/content/content-adaptation.md +23 -0
  299. package/expertise/i18n/content/locale-specific-formatting.md +23 -0
  300. package/expertise/i18n/content/machine-translation-integration.md +28 -0
  301. package/expertise/i18n/content/translation-management.md +29 -0
  302. package/expertise/i18n/foundations/date-time-calendars.md +67 -0
  303. package/expertise/i18n/foundations/i18n-architecture.md +272 -0
  304. package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
  305. package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
  306. package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
  307. package/expertise/i18n/foundations/string-externalization.md +236 -0
  308. package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
  309. package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
  310. package/expertise/i18n/index.md +38 -0
  311. package/expertise/i18n/platform/backend-i18n.md +31 -0
  312. package/expertise/i18n/platform/flutter-i18n.md +148 -0
  313. package/expertise/i18n/platform/native-android-i18n.md +36 -0
  314. package/expertise/i18n/platform/native-ios-i18n.md +36 -0
  315. package/expertise/i18n/platform/react-i18n.md +103 -0
  316. package/expertise/i18n/platform/web-css-i18n.md +81 -0
  317. package/expertise/i18n/rtl/arabic-specific.md +175 -0
  318. package/expertise/i18n/rtl/hebrew-specific.md +149 -0
  319. package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
  320. package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
  321. package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
  322. package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
  323. package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
  324. package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
  325. package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
  326. package/expertise/i18n/rtl/rtl-typography.md +160 -0
  327. package/expertise/index.md +113 -0
  328. package/expertise/index.yaml +216 -0
  329. package/expertise/infrastructure/cloud-aws.md +597 -0
  330. package/expertise/infrastructure/cloud-gcp.md +599 -0
  331. package/expertise/infrastructure/cybersecurity.md +816 -0
  332. package/expertise/infrastructure/database-mongodb.md +447 -0
  333. package/expertise/infrastructure/database-postgres.md +400 -0
  334. package/expertise/infrastructure/devops-cicd.md +787 -0
  335. package/expertise/infrastructure/index.md +27 -0
  336. package/expertise/performance/PROGRESS.md +50 -0
  337. package/expertise/performance/backend/api-latency.md +1204 -0
  338. package/expertise/performance/backend/background-jobs.md +506 -0
  339. package/expertise/performance/backend/connection-pooling.md +1209 -0
  340. package/expertise/performance/backend/database-query-optimization.md +515 -0
  341. package/expertise/performance/backend/index.md +23 -0
  342. package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
  343. package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
  344. package/expertise/performance/foundations/caching-strategies.md +489 -0
  345. package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
  346. package/expertise/performance/foundations/index.md +24 -0
  347. package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
  348. package/expertise/performance/foundations/memory-management.md +964 -0
  349. package/expertise/performance/foundations/performance-budgets.md +1314 -0
  350. package/expertise/performance/index.md +31 -0
  351. package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
  352. package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
  353. package/expertise/performance/infrastructure/index.md +22 -0
  354. package/expertise/performance/infrastructure/load-balancing.md +1081 -0
  355. package/expertise/performance/infrastructure/observability.md +1079 -0
  356. package/expertise/performance/mobile/index.md +23 -0
  357. package/expertise/performance/mobile/mobile-animations.md +544 -0
  358. package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
  359. package/expertise/performance/mobile/mobile-network.md +452 -0
  360. package/expertise/performance/mobile/mobile-rendering.md +599 -0
  361. package/expertise/performance/mobile/mobile-startup-time.md +505 -0
  362. package/expertise/performance/platform-specific/flutter-performance.md +647 -0
  363. package/expertise/performance/platform-specific/index.md +22 -0
  364. package/expertise/performance/platform-specific/node-performance.md +1307 -0
  365. package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
  366. package/expertise/performance/platform-specific/react-performance.md +1403 -0
  367. package/expertise/performance/web/bundle-optimization.md +1239 -0
  368. package/expertise/performance/web/image-and-media.md +636 -0
  369. package/expertise/performance/web/index.md +24 -0
  370. package/expertise/performance/web/network-optimization.md +1133 -0
  371. package/expertise/performance/web/rendering-performance.md +1098 -0
  372. package/expertise/performance/web/ssr-and-hydration.md +918 -0
  373. package/expertise/performance/web/web-vitals.md +1374 -0
  374. package/expertise/quality/accessibility.md +985 -0
  375. package/expertise/quality/evidence-based-verification.md +499 -0
  376. package/expertise/quality/index.md +24 -0
  377. package/expertise/quality/ml-model-audit.md +614 -0
  378. package/expertise/quality/performance.md +600 -0
  379. package/expertise/quality/testing-api.md +891 -0
  380. package/expertise/quality/testing-mobile.md +496 -0
  381. package/expertise/quality/testing-web.md +849 -0
  382. package/expertise/security/PROGRESS.md +54 -0
  383. package/expertise/security/agentic-identity.md +540 -0
  384. package/expertise/security/compliance-frameworks.md +601 -0
  385. package/expertise/security/data/data-encryption.md +364 -0
  386. package/expertise/security/data/data-privacy-gdpr.md +692 -0
  387. package/expertise/security/data/database-security.md +1171 -0
  388. package/expertise/security/data/index.md +22 -0
  389. package/expertise/security/data/pii-handling.md +531 -0
  390. package/expertise/security/foundations/authentication.md +1041 -0
  391. package/expertise/security/foundations/authorization.md +603 -0
  392. package/expertise/security/foundations/cryptography.md +1001 -0
  393. package/expertise/security/foundations/index.md +25 -0
  394. package/expertise/security/foundations/owasp-top-10.md +1354 -0
  395. package/expertise/security/foundations/secrets-management.md +1217 -0
  396. package/expertise/security/foundations/secure-sdlc.md +700 -0
  397. package/expertise/security/foundations/supply-chain-security.md +698 -0
  398. package/expertise/security/index.md +31 -0
  399. package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
  400. package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
  401. package/expertise/security/infrastructure/container-security.md +721 -0
  402. package/expertise/security/infrastructure/incident-response.md +1295 -0
  403. package/expertise/security/infrastructure/index.md +24 -0
  404. package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
  405. package/expertise/security/infrastructure/network-security.md +1337 -0
  406. package/expertise/security/mobile/index.md +23 -0
  407. package/expertise/security/mobile/mobile-android-security.md +1218 -0
  408. package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
  409. package/expertise/security/mobile/mobile-data-storage.md +1265 -0
  410. package/expertise/security/mobile/mobile-ios-security.md +1401 -0
  411. package/expertise/security/mobile/mobile-network-security.md +1520 -0
  412. package/expertise/security/smart-contract-security.md +594 -0
  413. package/expertise/security/testing/index.md +22 -0
  414. package/expertise/security/testing/penetration-testing.md +1258 -0
  415. package/expertise/security/testing/security-code-review.md +1765 -0
  416. package/expertise/security/testing/threat-modeling.md +1074 -0
  417. package/expertise/security/testing/vulnerability-scanning.md +1062 -0
  418. package/expertise/security/web/api-security.md +586 -0
  419. package/expertise/security/web/cors-and-headers.md +433 -0
  420. package/expertise/security/web/csrf.md +562 -0
  421. package/expertise/security/web/file-upload.md +1477 -0
  422. package/expertise/security/web/index.md +25 -0
  423. package/expertise/security/web/injection.md +1375 -0
  424. package/expertise/security/web/session-management.md +1101 -0
  425. package/expertise/security/web/xss.md +1158 -0
  426. package/exports/README.md +17 -0
  427. package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
  428. package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
  429. package/exports/hosts/claude/.claude/agents/designer.md +55 -0
  430. package/exports/hosts/claude/.claude/agents/executor.md +55 -0
  431. package/exports/hosts/claude/.claude/agents/learner.md +51 -0
  432. package/exports/hosts/claude/.claude/agents/planner.md +53 -0
  433. package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
  434. package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
  435. package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
  436. package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
  437. package/exports/hosts/claude/.claude/commands/author.md +42 -0
  438. package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
  439. package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
  440. package/exports/hosts/claude/.claude/commands/design.md +44 -0
  441. package/exports/hosts/claude/.claude/commands/discover.md +37 -0
  442. package/exports/hosts/claude/.claude/commands/execute.md +48 -0
  443. package/exports/hosts/claude/.claude/commands/learn.md +38 -0
  444. package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
  445. package/exports/hosts/claude/.claude/commands/plan.md +39 -0
  446. package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
  447. package/exports/hosts/claude/.claude/commands/review.md +40 -0
  448. package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
  449. package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
  450. package/exports/hosts/claude/.claude/commands/specify.md +38 -0
  451. package/exports/hosts/claude/.claude/commands/verify.md +37 -0
  452. package/exports/hosts/claude/.claude/settings.json +34 -0
  453. package/exports/hosts/claude/CLAUDE.md +19 -0
  454. package/exports/hosts/claude/export.manifest.json +38 -0
  455. package/exports/hosts/claude/host-package.json +67 -0
  456. package/exports/hosts/codex/AGENTS.md +19 -0
  457. package/exports/hosts/codex/export.manifest.json +38 -0
  458. package/exports/hosts/codex/host-package.json +41 -0
  459. package/exports/hosts/cursor/.cursor/hooks.json +16 -0
  460. package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
  461. package/exports/hosts/cursor/export.manifest.json +38 -0
  462. package/exports/hosts/cursor/host-package.json +42 -0
  463. package/exports/hosts/gemini/GEMINI.md +19 -0
  464. package/exports/hosts/gemini/export.manifest.json +38 -0
  465. package/exports/hosts/gemini/host-package.json +41 -0
  466. package/hooks/README.md +18 -0
  467. package/hooks/definitions/loop_cap_guard.yaml +21 -0
  468. package/hooks/definitions/post_tool_capture.yaml +24 -0
  469. package/hooks/definitions/pre_compact_summary.yaml +19 -0
  470. package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
  471. package/hooks/definitions/protected_path_write_guard.yaml +19 -0
  472. package/hooks/definitions/session_start.yaml +19 -0
  473. package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
  474. package/hooks/loop-cap-guard +17 -0
  475. package/hooks/post-tool-lint +36 -0
  476. package/hooks/protected-path-write-guard +17 -0
  477. package/hooks/session-start +41 -0
  478. package/llms-full.txt +2355 -0
  479. package/llms.txt +43 -0
  480. package/package.json +79 -0
  481. package/roles/README.md +20 -0
  482. package/roles/clarifier.md +42 -0
  483. package/roles/content-author.md +63 -0
  484. package/roles/designer.md +55 -0
  485. package/roles/executor.md +55 -0
  486. package/roles/learner.md +51 -0
  487. package/roles/planner.md +53 -0
  488. package/roles/researcher.md +43 -0
  489. package/roles/reviewer.md +54 -0
  490. package/roles/specifier.md +47 -0
  491. package/roles/verifier.md +71 -0
  492. package/schemas/README.md +24 -0
  493. package/schemas/accepted-learning.schema.json +20 -0
  494. package/schemas/author-artifact.schema.json +156 -0
  495. package/schemas/clarification.schema.json +19 -0
  496. package/schemas/design-artifact.schema.json +80 -0
  497. package/schemas/docs-claim.schema.json +18 -0
  498. package/schemas/export-manifest.schema.json +20 -0
  499. package/schemas/hook.schema.json +67 -0
  500. package/schemas/host-export-package.schema.json +18 -0
  501. package/schemas/implementation-plan.schema.json +19 -0
  502. package/schemas/proposed-learning.schema.json +19 -0
  503. package/schemas/research.schema.json +18 -0
  504. package/schemas/review.schema.json +29 -0
  505. package/schemas/run-manifest.schema.json +18 -0
  506. package/schemas/spec-challenge.schema.json +18 -0
  507. package/schemas/spec.schema.json +20 -0
  508. package/schemas/usage.schema.json +102 -0
  509. package/schemas/verification-proof.schema.json +29 -0
  510. package/schemas/wazir-manifest.schema.json +173 -0
  511. package/skills/README.md +40 -0
  512. package/skills/brainstorming/SKILL.md +77 -0
  513. package/skills/debugging/SKILL.md +50 -0
  514. package/skills/design/SKILL.md +61 -0
  515. package/skills/dispatching-parallel-agents/SKILL.md +128 -0
  516. package/skills/executing-plans/SKILL.md +70 -0
  517. package/skills/finishing-a-development-branch/SKILL.md +169 -0
  518. package/skills/humanize/SKILL.md +123 -0
  519. package/skills/init-pipeline/SKILL.md +124 -0
  520. package/skills/prepare-next/SKILL.md +20 -0
  521. package/skills/receiving-code-review/SKILL.md +123 -0
  522. package/skills/requesting-code-review/SKILL.md +105 -0
  523. package/skills/requesting-code-review/code-reviewer.md +108 -0
  524. package/skills/run-audit/SKILL.md +197 -0
  525. package/skills/scan-project/SKILL.md +41 -0
  526. package/skills/self-audit/SKILL.md +153 -0
  527. package/skills/subagent-driven-development/SKILL.md +154 -0
  528. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  529. package/skills/subagent-driven-development/implementer-prompt.md +102 -0
  530. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  531. package/skills/tdd/SKILL.md +23 -0
  532. package/skills/using-git-worktrees/SKILL.md +163 -0
  533. package/skills/using-skills/SKILL.md +95 -0
  534. package/skills/verification/SKILL.md +22 -0
  535. package/skills/wazir/SKILL.md +463 -0
  536. package/skills/writing-plans/SKILL.md +30 -0
  537. package/skills/writing-skills/SKILL.md +157 -0
  538. package/skills/writing-skills/anthropic-best-practices.md +122 -0
  539. package/skills/writing-skills/persuasion-principles.md +50 -0
  540. package/templates/README.md +20 -0
  541. package/templates/artifacts/README.md +10 -0
  542. package/templates/artifacts/accepted-learning.md +19 -0
  543. package/templates/artifacts/accepted-learning.template.json +12 -0
  544. package/templates/artifacts/author.md +74 -0
  545. package/templates/artifacts/author.template.json +19 -0
  546. package/templates/artifacts/clarification.md +21 -0
  547. package/templates/artifacts/clarification.template.json +12 -0
  548. package/templates/artifacts/execute-notes.md +19 -0
  549. package/templates/artifacts/implementation-plan.md +21 -0
  550. package/templates/artifacts/implementation-plan.template.json +11 -0
  551. package/templates/artifacts/learning-proposal.md +19 -0
  552. package/templates/artifacts/next-run-handoff.md +21 -0
  553. package/templates/artifacts/plan-review.md +19 -0
  554. package/templates/artifacts/proposed-learning.template.json +12 -0
  555. package/templates/artifacts/research.md +21 -0
  556. package/templates/artifacts/research.template.json +12 -0
  557. package/templates/artifacts/review-findings.md +19 -0
  558. package/templates/artifacts/review.template.json +11 -0
  559. package/templates/artifacts/run-manifest.template.json +8 -0
  560. package/templates/artifacts/spec-challenge.md +19 -0
  561. package/templates/artifacts/spec-challenge.template.json +11 -0
  562. package/templates/artifacts/spec.md +21 -0
  563. package/templates/artifacts/spec.template.json +12 -0
  564. package/templates/artifacts/verification-proof.md +19 -0
  565. package/templates/artifacts/verification-proof.template.json +11 -0
  566. package/templates/examples/accepted-learning.example.json +14 -0
  567. package/templates/examples/author.example.json +152 -0
  568. package/templates/examples/clarification.example.json +15 -0
  569. package/templates/examples/docs-claim.example.json +8 -0
  570. package/templates/examples/export-manifest.example.json +7 -0
  571. package/templates/examples/host-export-package.example.json +11 -0
  572. package/templates/examples/implementation-plan.example.json +17 -0
  573. package/templates/examples/proposed-learning.example.json +13 -0
  574. package/templates/examples/research.example.json +15 -0
  575. package/templates/examples/research.example.md +6 -0
  576. package/templates/examples/review.example.json +17 -0
  577. package/templates/examples/run-manifest.example.json +9 -0
  578. package/templates/examples/spec-challenge.example.json +14 -0
  579. package/templates/examples/spec.example.json +21 -0
  580. package/templates/examples/verification-proof.example.json +21 -0
  581. package/templates/examples/wazir-manifest.example.yaml +65 -0
  582. package/templates/task-definition-schema.md +99 -0
  583. package/tooling/README.md +20 -0
  584. package/tooling/src/adapters/context-mode.js +50 -0
  585. package/tooling/src/capture/command.js +376 -0
  586. package/tooling/src/capture/store.js +99 -0
  587. package/tooling/src/capture/usage.js +270 -0
  588. package/tooling/src/checks/branches.js +50 -0
  589. package/tooling/src/checks/brand-truth.js +110 -0
  590. package/tooling/src/checks/changelog.js +231 -0
  591. package/tooling/src/checks/command-registry.js +36 -0
  592. package/tooling/src/checks/commits.js +102 -0
  593. package/tooling/src/checks/docs-drift.js +103 -0
  594. package/tooling/src/checks/docs-truth.js +201 -0
  595. package/tooling/src/checks/runtime-surface.js +156 -0
  596. package/tooling/src/cli.js +116 -0
  597. package/tooling/src/command-options.js +56 -0
  598. package/tooling/src/commands/validate.js +320 -0
  599. package/tooling/src/doctor/command.js +91 -0
  600. package/tooling/src/export/command.js +77 -0
  601. package/tooling/src/export/compiler.js +498 -0
  602. package/tooling/src/guards/loop-cap-guard.js +52 -0
  603. package/tooling/src/guards/protected-path-write-guard.js +67 -0
  604. package/tooling/src/index/command.js +152 -0
  605. package/tooling/src/index/storage.js +1061 -0
  606. package/tooling/src/index/summarizers.js +261 -0
  607. package/tooling/src/loaders.js +18 -0
  608. package/tooling/src/project-root.js +22 -0
  609. package/tooling/src/recall/command.js +225 -0
  610. package/tooling/src/schema-validator.js +30 -0
  611. package/tooling/src/state-root.js +40 -0
  612. package/tooling/src/status/command.js +71 -0
  613. package/wazir.manifest.yaml +135 -0
  614. package/workflows/README.md +19 -0
  615. package/workflows/author.md +42 -0
  616. package/workflows/clarify.md +38 -0
  617. package/workflows/design-review.md +46 -0
  618. package/workflows/design.md +44 -0
  619. package/workflows/discover.md +37 -0
  620. package/workflows/execute.md +48 -0
  621. package/workflows/learn.md +38 -0
  622. package/workflows/plan-review.md +42 -0
  623. package/workflows/plan.md +39 -0
  624. package/workflows/prepare-next.md +37 -0
  625. package/workflows/review.md +40 -0
  626. package/workflows/run-audit.md +41 -0
  627. package/workflows/spec-challenge.md +41 -0
  628. package/workflows/specify.md +38 -0
  629. package/workflows/verify.md +37 -0
@@ -0,0 +1,31 @@
1
+ # Directory Purpose
2
+
3
+ The `patterns` directory catalogs standard, reusable UX flows and UI components for solving common user problems.
4
+
5
+ # Key Concepts
6
+
7
+ - Reducing friction in core workflows
8
+ - Standardizing data input and display
9
+ - Enhancing user engagement
10
+
11
+ # File Map
12
+
13
+ - `authentication-flows.md` — login, signup, and password reset
14
+ - `content-consumption.md` — reading interfaces, feeds, and articles
15
+ - `data-display.md` — tables, charts, and dashboards
16
+ - `e-commerce.md` — product pages, carts, and checkout
17
+ - `feedback-and-states.md` — empty states, loading, and success messages
18
+ - `forms-and-input.md` — validation, layout, and input types
19
+ - `gamification.md` — rewards, progress, and engagement
20
+ - `navigation.md` — tabs, drawers, sidebars, and breadcrumbs
21
+ - `notifications.md` — push, in-app alerts, and banners
22
+ - `onboarding.md` — tours, tooltips, and first-time setups
23
+ - `search-and-filter.md` — search bars, facets, and sorting
24
+ - `settings-and-preferences.md` — user profiles and toggles
25
+ - `social-and-community.md` — profiles, comments, and sharing
26
+
27
+ # Reading Guide
28
+
29
+ If designing a dashboard → read `data-display.md`
30
+ If building a login screen → read `authentication-flows.md`
31
+ If improving user retention → read `onboarding.md` and `gamification.md`
@@ -0,0 +1,449 @@
1
+ # Microinteractions & Delight -- Expertise Module
2
+
3
+ > Microinteractions are the small, contained moments of feedback that make a product feel
4
+ > alive and responsive. This module covers taxonomy, implementation, choreography, and
5
+ > performance constraints for designing delight that serves usability rather than undermining it.
6
+
7
+ ---
8
+
9
+ ## 1. Authority & Foundations
10
+
11
+ Dan Saffer's *Microinteractions: Designing with Details* (2013) defines the canonical
12
+ structure: **Trigger, Rules, Feedback, Loops & Modes.** A user action (or system event)
13
+ triggers a rule, the rule produces feedback, and the interaction may loop or change modes.
14
+
15
+ **Industry benchmarks referenced throughout:**
16
+
17
+ | Source | Contribution |
18
+ |--------|-------------|
19
+ | **Dan Saffer** -- *Microinteractions* (2013) | Trigger-Rules-Feedback-Loops framework; "the difference between a product you love and a product you tolerate" |
20
+ | **Stripe checkout animation** | Industry benchmark for payment UX -- progress shimmer, card flip, success checkmark. Proves microinteractions build trust in high-stakes flows |
21
+ | **Duolingo gamification** | Owl celebrations, streak animations, XP counters. Demonstrates that layered micro-feedback drives 3x daily return rates |
22
+ | **Apple HIG animation principles** | Purpose-driven motion: orient, focus, express, inform. Spring-based defaults since iOS 17 |
23
+ | **Google Material Motion** | Container transforms, shared axis, fade-through. Token-based duration/easing system |
24
+ | **Lottie (Airbnb Engineering)** | JSON-based animation format enabling designer-to-developer handoff without frame loss. Adopted by Stripe, Duolingo, Google, Uber |
25
+
26
+ ---
27
+
28
+ ## 2. Delight Taxonomy
29
+
30
+ Not all delight is equal. Categorize by intent to avoid deploying the wrong type at
31
+ the wrong moment.
32
+
33
+ | Type | Purpose | Example | When to Use |
34
+ |------|---------|---------|-------------|
35
+ | **Subtle** | Reduce cognitive load | Button hover state, focus ring, input highlight | Always -- these are baseline expectations |
36
+ | **Interactive** | Provide immediate feedback | Pull-to-refresh spring, swipe-to-dismiss, toggle snap | User-initiated actions requiring confirmation |
37
+ | **Discovery** | Reward exploration | Hidden keyboard shortcuts revealed via tooltip, long-press menus | Power users; never gate core functionality |
38
+ | **Contextual** | Celebrate milestones | Confetti on task completion, level-up burst, streak badge | Key moments only -- overuse destroys impact |
39
+ | **Informational** | Show system state | Skeleton loading pulse, progress ring fill, upload percentage | Data fetching, async operations, background tasks |
40
+
41
+ **Selection rule:** Subtle + Informational are mandatory baselines. Add Interactive
42
+ for state-changing actions. Reserve Discovery and Contextual for engagement-driven
43
+ products.
44
+
45
+ ---
46
+
47
+ ## 3. CSS Micro-Interactions
48
+
49
+ Production-ready patterns. All animations use only `transform` and `opacity` for
50
+ GPU-composited 60fps performance.
51
+
52
+ ### 3.1 Shimmer Button on Hover
53
+
54
+ ```css
55
+ /* Shimmer button on hover */
56
+ .btn-shimmer {
57
+ position: relative;
58
+ overflow: hidden;
59
+ transition: transform 0.15s ease;
60
+ }
61
+ .btn-shimmer:hover { transform: translateY(-1px); }
62
+ .btn-shimmer::after {
63
+ content: '';
64
+ position: absolute;
65
+ top: -50%; left: -50%;
66
+ width: 200%; height: 200%;
67
+ background: linear-gradient(
68
+ to right,
69
+ transparent 0%,
70
+ rgba(255,255,255,0.08) 50%,
71
+ transparent 100%
72
+ );
73
+ transform: rotate(30deg);
74
+ animation: shimmer 3s ease-in-out infinite;
75
+ }
76
+ @keyframes shimmer {
77
+ 0% { transform: translateX(-100%) rotate(30deg); }
78
+ 100% { transform: translateX(100%) rotate(30deg); }
79
+ }
80
+ ```
81
+
82
+ ### 3.2 Success Validation Sparkle
83
+
84
+ ```css
85
+ /* Success validation sparkle */
86
+ .input-valid {
87
+ animation: sparkle 0.6s ease-out;
88
+ border-color: var(--color-success);
89
+ }
90
+ @keyframes sparkle {
91
+ 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4); }
92
+ 100% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
93
+ }
94
+ ```
95
+
96
+ ### 3.3 Skeleton Loading Pulse
97
+
98
+ ```css
99
+ /* Skeleton loading pulse */
100
+ .skeleton {
101
+ background: linear-gradient(90deg,
102
+ var(--color-surface) 25%,
103
+ var(--color-surface-raised) 50%,
104
+ var(--color-surface) 75%
105
+ );
106
+ background-size: 200% 100%;
107
+ animation: skeleton-pulse 1.5s ease-in-out infinite;
108
+ border-radius: 4px;
109
+ }
110
+ @keyframes skeleton-pulse {
111
+ 0% { background-position: 200% 0; }
112
+ 100% { background-position: -200% 0; }
113
+ }
114
+ ```
115
+
116
+ ### 3.4 Bounce Loading Dots
117
+
118
+ ```css
119
+ /* Bounce loading dots */
120
+ .loading-dot {
121
+ animation: bounce 1.4s ease-in-out infinite both;
122
+ }
123
+ .loading-dot:nth-child(1) { animation-delay: -0.32s; }
124
+ .loading-dot:nth-child(2) { animation-delay: -0.16s; }
125
+ @keyframes bounce {
126
+ 0%, 80%, 100% { transform: scale(0); }
127
+ 40% { transform: scale(1); }
128
+ }
129
+ ```
130
+
131
+ ---
132
+
133
+ ## 4. Transition Choreography
134
+
135
+ Choreography governs how multiple elements animate together to maintain spatial
136
+ clarity -- the user always understands where content came from and where it went.
137
+
138
+ ### 4.1 Staggered List Animations
139
+
140
+ Stagger at 50ms per item, capped at 300ms total (6 items). Beyond 6, batch-fade.
141
+
142
+ ```css
143
+ /* Staggered list animation */
144
+ .list-item {
145
+ opacity: 0;
146
+ transform: translateY(8px);
147
+ animation: list-enter 0.3s ease-out forwards;
148
+ }
149
+ .list-item:nth-child(1) { animation-delay: 0ms; }
150
+ .list-item:nth-child(2) { animation-delay: 50ms; }
151
+ .list-item:nth-child(3) { animation-delay: 100ms; }
152
+ .list-item:nth-child(4) { animation-delay: 150ms; }
153
+ .list-item:nth-child(5) { animation-delay: 200ms; }
154
+ .list-item:nth-child(6) { animation-delay: 250ms; }
155
+ @keyframes list-enter {
156
+ to { opacity: 1; transform: translateY(0); }
157
+ }
158
+ ```
159
+
160
+ ### 4.2 Skeleton to Content Fade-In
161
+
162
+ Skeleton fades out (150ms ease-in) while content fades in (250ms ease-out) with
163
+ a 4px upward translate. Overlap the two by starting content-in 100ms after
164
+ skeleton-out begins.
165
+
166
+ ```css
167
+ .skeleton-exit {
168
+ animation: skeleton-out 0.15s ease-in forwards;
169
+ }
170
+ @keyframes skeleton-out { to { opacity: 0; } }
171
+
172
+ .content-enter {
173
+ opacity: 0;
174
+ transform: translateY(4px);
175
+ animation: content-in 0.25s ease-out 0.1s forwards;
176
+ }
177
+ @keyframes content-in { to { opacity: 1; transform: translateY(0); } }
178
+ ```
179
+
180
+ ### 4.3 Modal Enter/Exit
181
+
182
+ Enter: scale-up + opacity (300ms ease-out). Exit: scale-down + opacity (200ms
183
+ ease-in). Exits are 30% faster than entrances.
184
+
185
+ ```css
186
+ .modal-enter {
187
+ animation: modal-in 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
188
+ }
189
+ @keyframes modal-in {
190
+ from { opacity: 0; transform: scale(0.95); }
191
+ to { opacity: 1; transform: scale(1); }
192
+ }
193
+ .modal-exit {
194
+ animation: modal-out 0.2s cubic-bezier(0.4, 0, 1, 1) forwards;
195
+ }
196
+ @keyframes modal-out {
197
+ from { opacity: 1; transform: scale(1); }
198
+ to { opacity: 0; transform: scale(0.95); }
199
+ }
200
+ ```
201
+
202
+ ### 4.4 Page Transitions (Shared Element)
203
+
204
+ Morph a list item into its detail view (300-400ms) using CSS View Transitions API.
205
+
206
+ ```css
207
+ .card-thumbnail { view-transition-name: hero-image; }
208
+ ::view-transition-old(hero-image),
209
+ ::view-transition-new(hero-image) {
210
+ animation-duration: 0.35s;
211
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
212
+ }
213
+ ```
214
+
215
+ ---
216
+
217
+ ## 5. Playful Microcopy Library
218
+
219
+ Microcopy is a microinteraction of language. The right words at the right moment
220
+ create delight equal to the right animation.
221
+
222
+ | Context | Generic | Playful | When to Use Playful |
223
+ |---------|---------|---------|---------------------|
224
+ | Loading | "Loading..." | "Brewing your results..." | Consumer apps |
225
+ | Error 404 | "Page not found" | "This page went on vacation" | Marketing sites |
226
+ | Empty state | "No items" | "Nothing here yet. Let's fix that!" | Productivity apps |
227
+ | Success | "Saved" | "Nailed it! All saved." | Casual apps |
228
+ | Offline | "No connection" | "Looks like you're off the grid" | Mobile apps |
229
+ | Slow connection | "Loading slowly" | "Your internet is taking a nap" | Consumer apps |
230
+ | First use | "Welcome" | "Ready to make something awesome?" | Onboarding |
231
+
232
+ **Playful copy is NOT appropriate for:**
233
+ - Financial transactions (payment confirmations, balance displays)
234
+ - Error states with data loss risk (unsaved work, failed writes)
235
+ - Accessibility-critical messages (screen reader announcements)
236
+ - Legal/compliance text (terms, privacy notices, consent forms)
237
+ - Healthcare, emergency, or safety-critical contexts
238
+
239
+ **Rule:** When in doubt, use generic. Playful copy that falls flat is worse than
240
+ professional copy that feels safe.
241
+
242
+ ---
243
+
244
+ ## 6. Easter Egg Patterns
245
+
246
+ Easter eggs reward exploration and build emotional connection (Discovery delight,
247
+ Section 2). They must follow strict guardrails.
248
+
249
+ ### 6.1 Trigger Patterns
250
+
251
+ | Trigger | Implementation | Example |
252
+ |---------|---------------|---------|
253
+ | Konami code | Keydown sequence: Up Up Down Down Left Right Left Right B A | Dev tools panel, hidden theme |
254
+ | Click sequence | Logo click x5 within 3 seconds | Version info, debug panel |
255
+ | Hidden shortcuts | Undocumented keyboard combos | Power-user features, quick actions |
256
+ | Seasonal themes | Date-based CSS class injection | Holiday decorations, anniversary badges |
257
+ | Achievement badges | Behavioral tracking milestones | "Power User" after 100 actions |
258
+
259
+ ### 6.2 Implementation (TypeScript)
260
+
261
+ ```typescript
262
+ function createKonamiListener(callback: () => void): () => void {
263
+ const sequence = [
264
+ 'ArrowUp', 'ArrowUp', 'ArrowDown', 'ArrowDown',
265
+ 'ArrowLeft', 'ArrowRight', 'ArrowLeft', 'ArrowRight',
266
+ 'KeyB', 'KeyA',
267
+ ];
268
+ let position = 0;
269
+ const handler = (e: KeyboardEvent): void => {
270
+ position = e.code === sequence[position] ? position + 1 : 0;
271
+ if (position === sequence.length) { position = 0; callback(); }
272
+ };
273
+ document.addEventListener('keydown', handler);
274
+ return () => document.removeEventListener('keydown', handler);
275
+ }
276
+ ```
277
+
278
+ ### 6.3 Guardrails
279
+
280
+ - Easter eggs must NOT affect core functionality or user data
281
+ - Easter eggs must NOT break accessibility (screen readers, keyboard navigation)
282
+ - Easter eggs must NOT confuse users who trigger them accidentally
283
+ - Easter eggs must be dismissible immediately (Escape key, tap outside)
284
+ - Easter eggs must respect `prefers-reduced-motion` if they involve animation
285
+ - Easter eggs must NOT appear in error flows, payment flows, or critical paths
286
+
287
+ ---
288
+
289
+ ## 7. Performance Budget for Animations
290
+
291
+ Every animation is a contract with the user's hardware. Violating the frame budget
292
+ destroys the delight you intended.
293
+
294
+ ### 7.1 Core Rules
295
+
296
+ | Rule | Constraint | Reason |
297
+ |------|-----------|--------|
298
+ | GPU-only properties | Animate ONLY `transform` and `opacity` | No layout/paint recalculation per frame |
299
+ | 60fps budget | 16.67ms per frame maximum | Below this threshold, visible jank occurs |
300
+ | `will-change` discipline | Apply only to elements about to animate; remove after | Permanent `will-change` wastes GPU memory |
301
+ | CSS over JS for simple motion | Use CSS transitions/animations when possible | Lower overhead, compositor-thread execution |
302
+ | `requestAnimationFrame` for JS | Never use `setTimeout`/`setInterval` for animation | rAF syncs to display refresh rate |
303
+ | Simultaneous limit | Max 3-4 elements animating at once | More elements = frame budget competition |
304
+
305
+ ### 7.2 Mandatory Reduced Motion Support
306
+
307
+ `prefers-reduced-motion` is a WCAG 2.3.3 requirement and ADA/EAA legal obligation.
308
+
309
+ ```css
310
+ @media (prefers-reduced-motion: reduce) {
311
+ *, *::before, *::after {
312
+ animation-duration: 0.01ms !important;
313
+ animation-iteration-count: 1 !important;
314
+ transition-duration: 0.01ms !important;
315
+ scroll-behavior: auto !important;
316
+ }
317
+ }
318
+ ```
319
+
320
+ **Reduced motion does NOT mean no feedback.** Replace with instant opacity snaps,
321
+ color changes, static icons, and `aria-live` announcements.
322
+
323
+ ### 7.3 Lottie Animation Budget
324
+
325
+ | Constraint | Target | Reason |
326
+ |-----------|--------|--------|
327
+ | File size (gzipped) | < 30KB | Prevents layout shift from late-loading assets |
328
+ | Author frame rate | 30fps | Halves file size; imperceptible vs 60fps |
329
+ | Layer count | 3-4 max | Masks and mattes are render-expensive |
330
+ | Renderer | `svg` (quality) or `canvas` (perf) | Match to use case |
331
+ | Reduced motion | Static fallback frame required | Accessibility compliance |
332
+
333
+ ---
334
+
335
+ ## 8. Anti-Patterns
336
+
337
+ ### 8.1 Delight That Distracts
338
+ Animations competing with the primary task (bouncing badge during form entry).
339
+ **Fix:** Defer non-critical delight to natural pause points.
340
+
341
+ ### 8.2 Non-Skippable Animations (>500ms)
342
+ Blocking interaction behind a celebratory animation. NNG: beyond 500ms, animations
343
+ feel like delays. **Fix:** All celebrations must be dismissible (tap/click/Escape).
344
+
345
+ ### 8.3 Forced Whimsy
346
+ Confetti in a banking app. Bouncing icons on a medical portal. Tone-context mismatch
347
+ erodes trust. **Fix:** Match delight intensity to product gravity.
348
+
349
+ ### 8.4 Missing `prefers-reduced-motion`
350
+ Shipping animations without reduced-motion support. 35% of adults over 40 experience
351
+ vestibular disorders. **Fix:** Add the global query from Section 7.2 first.
352
+
353
+ ### 8.5 Sound Effects Without Mute
354
+ Audio that cannot be silenced forces users to mute their entire device. **Fix:**
355
+ Independent mute toggle, default to muted on first use.
356
+
357
+ ### 8.6 Animations Blocking Content on Page Load
358
+ Staggered fade-in delays content visibility. **Fix:** Above-the-fold content appears
359
+ within 300ms. Stagger only below-the-fold content entering via scroll.
360
+
361
+ ### 8.7 Over-Animating (Everything Moves)
362
+ When everything animates, nothing stands out. **Fix:** Motion hierarchy -- primary
363
+ actions get expressive motion, secondary get subtle transitions, background stays static.
364
+
365
+ ### 8.8 Inconsistent Animation Curves
366
+ Mixing ease-in and ease-out randomly across components. **Fix:** Define a motion token
367
+ system. Entrances: ease-out. Exits: ease-in. Repositioning: ease-in-out. No exceptions.
368
+
369
+ ### 8.9 Gratuitous Loading Animations
370
+ Complex animations masking slow performance. **Fix:** Optimize performance first.
371
+ Use skeletons. Reserve Lottie for truly indeterminate waits.
372
+
373
+ ### 8.10 Animating Off-Screen Elements
374
+ Running animations outside the viewport wastes CPU/GPU. **Fix:** Use Intersection
375
+ Observer to start on viewport entry and pause on exit.
376
+
377
+ ---
378
+
379
+ ## 9. Accessibility Checklist for Microinteractions
380
+
381
+ Every microinteraction must pass all items before shipping:
382
+
383
+ - [ ] `prefers-reduced-motion: reduce` handled -- tested with OS setting enabled
384
+ - [ ] No animation relies on motion alone to convey information (pair with color,
385
+ icon, or text)
386
+ - [ ] Interactive animations are keyboard-operable (not touch/mouse-only)
387
+ - [ ] Celebratory overlays (confetti, modals) are dismissible via Escape key
388
+ - [ ] Focus management: overlays trap focus; dismissal returns focus to trigger
389
+ - [ ] `aria-live` regions announce state changes that animations convey visually
390
+ - [ ] Sound effects have independent mute control and visual equivalents
391
+ - [ ] Animations do not exceed 5 seconds without pause/stop control (WCAG 2.2.2)
392
+ - [ ] Color is never the sole indicator of animation state (WCAG 1.4.1)
393
+ - [ ] Animated content meets 4.5:1 contrast ratio at every frame (WCAG 1.4.3)
394
+
395
+ ---
396
+
397
+ ## 10. Decision Tree: When to Add Microinteractions
398
+
399
+ ```
400
+ Is the user performing an action that changes state?
401
+ No --> Is the system communicating status?
402
+ No --> No microinteraction needed. Stop.
403
+ Yes --> Use Informational type (skeleton, progress ring, pulse).
404
+ Yes --> Does the action need immediate confirmation?
405
+ No --> Subtle hover/focus feedback only.
406
+ Yes --> Is this a milestone or completion moment?
407
+ No --> Interactive type (toggle snap, swipe spring, button press).
408
+ Yes --> Is the product tone casual or playful?
409
+ No --> Subtle success (checkmark draw, green border sparkle).
410
+ Yes --> Contextual celebration (confetti, badge unlock, XP burst).
411
+ BUT: must be dismissible, under 500ms, reduced-motion safe.
412
+ ```
413
+
414
+ ---
415
+
416
+ ## 11. Quick Reference: Timing Cheat Sheet
417
+
418
+ | Interaction | Duration | Easing | Properties |
419
+ |-------------|----------|--------|------------|
420
+ | Button hover lift | 150ms | ease | transform (translateY) |
421
+ | Toggle/checkbox snap | 100-200ms | ease-out | transform (scale), opacity |
422
+ | Input focus ring | 150ms | ease-out | box-shadow (repaint OK, infrequent) |
423
+ | Validation sparkle | 600ms | ease-out | box-shadow |
424
+ | Skeleton shimmer cycle | 1500ms | ease-in-out | background-position |
425
+ | List item stagger | 300ms + 50ms/item | ease-out | transform (translateY), opacity |
426
+ | Modal enter | 300ms | ease-out (decelerate) | transform (scale), opacity |
427
+ | Modal exit | 200ms | ease-in (accelerate) | transform (scale), opacity |
428
+ | Toast enter | 200ms | ease-out | transform (translateY), opacity |
429
+ | Toast exit | 150ms | ease-in | transform (translateY), opacity |
430
+ | Page cross-fade | 250ms | ease-in-out | opacity |
431
+ | Confetti burst | 800ms | ease-out | transform, opacity |
432
+ | Success checkmark draw | 350-500ms | ease-out | stroke-dashoffset |
433
+
434
+ ---
435
+
436
+ ## References
437
+
438
+ - Dan Saffer, *Microinteractions: Designing with Details* (O'Reilly, 2013)
439
+ - [Stripe Checkout UX](https://stripe.com/payments/checkout) -- Payment animation benchmark
440
+ - [Duolingo Gamification Case Study](https://trophy.so/blog/duolingo-gamification-case-study) -- Layered micro-feedback
441
+ - [Apple HIG: Motion](https://developer.apple.com/design/human-interface-guidelines/motion) -- Purpose-driven animation
442
+ - [Material Design 3: Motion](https://m3.material.io/styles/motion/overview/how-it-works) -- Token-based motion system
443
+ - [Lottie by Airbnb](https://airbnb.design/lottie/) -- JSON animation format and tooling
444
+ - [NNG: Animation Duration](https://www.nngroup.com/articles/animation-duration/) -- Research-backed timing
445
+ - [NNG: Microinteractions in UX](https://www.nngroup.com/articles/microinteractions/) -- Taxonomy and guidelines
446
+ - [MDN: prefers-reduced-motion](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion) -- Accessibility media query
447
+ - [WCAG 2.2.2: Pause, Stop, Hide](https://www.w3.org/WAI/WCAG21/Understanding/pause-stop-hide.html) -- Animation accessibility requirement
448
+ - [WCAG 2.3.3: Animation from Interactions](https://www.w3.org/WAI/WCAG21/Understanding/animation-from-interactions.html) -- Motion sensitivity
449
+ - [web.dev: Animations and Performance](https://web.dev/articles/animations-and-performance) -- GPU-composited properties