@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,439 @@
1
+ # State Copy Patterns
2
+
3
+ > **Module Type:** Pattern
4
+ > **Domain:** Content -- UI State Communication
5
+ > **Authoritative Sources:** Material Design 3, Apple HIG, Nielsen Norman Group, Shopify Polaris, Atlassian Design System, Google Developer Documentation Style Guide
6
+
7
+ ---
8
+
9
+ ## Quick Reference Checklist
10
+
11
+ 1. Every state has a headline, explanation, and next action
12
+ 2. Error messages explain what went wrong AND how to fix it
13
+ 3. Never use technical jargon in user-facing copy (no "500", "null", "exception")
14
+ 4. Loading copy sets expectations: what is loading and roughly how long
15
+ 5. Empty states distinguish first-time from no-results from error-empty
16
+ 6. Success messages confirm what happened, not just "Success!"
17
+ 7. Destructive confirmations name the action and consequences explicitly
18
+ 8. Permission denied copy explains why AND how to get access
19
+ 9. Offline copy tells users what they can still do
20
+ 10. Timeout/retry copy offers an alternative path, not just "Try again"
21
+ 11. All state copy is concise: headlines under 8 words, body under 30 words
22
+ 12. Tone matches severity: neutral for info, warm for success, direct for errors
23
+ 13. Never blame the user; use passive voice for errors when appropriate
24
+ 14. Include the object name in confirmations ("Project 'Atlas' was deleted")
25
+ 15. First-run copy focuses on value, not features
26
+
27
+ ---
28
+
29
+ ## 1. Loading States
30
+
31
+ Loading copy bridges the gap between action and result. It reassures users that the system is working and sets expectations for wait time.
32
+
33
+ ### 1.1 Skeleton / Shimmer States
34
+
35
+ Skeleton screens typically need no copy -- the visual placeholder communicates "content is coming." However, when a skeleton persists beyond 3 seconds, supplement with a status message.
36
+
37
+ | Scenario | Copy |
38
+ |----------|------|
39
+ | Initial page load | (No copy -- skeleton alone is sufficient under 3s) |
40
+ | Skeleton persists 3-5s | "Loading your dashboard..." |
41
+ | Skeleton persists 5-10s | "Still loading. This might take a moment." |
42
+ | Section-level skeleton | "Loading recent activity..." |
43
+
44
+ ### 1.2 Progress Indicators
45
+
46
+ For determinate operations where percentage is known.
47
+
48
+ | Scenario | Copy |
49
+ |----------|------|
50
+ | File upload | "Uploading 'quarterly-report.pdf'... 45%" |
51
+ | Data export | "Exporting 1,247 records... 72%" |
52
+ | Installation | "Installing updates... 3 of 5 complete" |
53
+ | Migration | "Migrating your data. This may take a few minutes." |
54
+
55
+ ### 1.3 Spinner / Indeterminate States
56
+
57
+ | Scenario | Copy |
58
+ |----------|------|
59
+ | Saving | "Saving changes..." |
60
+ | Searching | "Searching..." |
61
+ | Processing payment | "Processing your payment. Please don't close this page." |
62
+ | Generating report | "Generating your report. This usually takes 10-20 seconds." |
63
+ | Connecting | "Connecting to server..." |
64
+
65
+ **Pattern:** "[Verb]ing [object]..." -- use the present participle of the actual operation, not generic "Loading."
66
+
67
+ ### 1.4 Background Processing
68
+
69
+ When the user can continue working while something processes.
70
+
71
+ | Scenario | Copy |
72
+ |----------|------|
73
+ | File processing | "Your file is being processed. We'll notify you when it's ready." |
74
+ | Import | "Import in progress. You can keep working -- we'll send an email when it's done." |
75
+ | Build/deploy | "Deploying to production. You'll see the status update in your activity feed." |
76
+
77
+ ---
78
+
79
+ ## 2. Empty States
80
+
81
+ Empty states are opportunities -- they explain absence and guide users toward action. Never show a blank screen or raw "No data."
82
+
83
+ ### 2.1 First-Time / First-Use
84
+
85
+ The user has never created content in this area. Focus on value proposition and a clear call to action.
86
+
87
+ | Context | Headline | Body | CTA |
88
+ |---------|----------|------|-----|
89
+ | Projects list | "Start your first project" | "Projects help you organize work and track progress across your team." | "Create project" |
90
+ | Contacts | "Add your first contact" | "Keep track of the people you work with. Import from a file or add them one by one." | "Add contact" / "Import" |
91
+ | Dashboard widgets | "Customize your dashboard" | "Add widgets to see the information that matters most to you." | "Add widget" |
92
+ | API keys | "Create an API key" | "API keys let you connect external services to your account." | "Generate key" |
93
+ | Notifications | "No notifications yet" | "When something needs your attention, it will appear here." | (None -- passive) |
94
+
95
+ ### 2.2 No-Results (Search / Filter)
96
+
97
+ The user searched or filtered and nothing matched. Echo their query and suggest alternatives.
98
+
99
+ | Context | Copy |
100
+ |---------|------|
101
+ | Search | **"No results for '[query]'"** / "Check your spelling or try a broader search term." |
102
+ | Filter combination | **"No items match these filters"** / "Try removing some filters or adjusting the date range." |
103
+ | Category browse | **"Nothing in [category] yet"** / "Be the first to add something, or explore other categories." |
104
+ | Advanced search | **"No matches found"** / "Try fewer search criteria. You can also search all fields instead of specific ones." |
105
+
106
+ **Pattern:** Echo the query or filter state so the user knows the system understood their intent. Offer 2-3 concrete alternative actions.
107
+
108
+ ### 2.3 Error-Empty
109
+
110
+ Content should exist but failed to load.
111
+
112
+ | Context | Copy |
113
+ |---------|------|
114
+ | Feed failed to load | **"Couldn't load your feed"** / "Something went wrong on our end. Try refreshing the page." / CTA: "Refresh" |
115
+ | List fetch error | **"Unable to load [items]"** / "Check your connection and try again." / CTA: "Try again" |
116
+ | Widget data error | **"This widget couldn't load"** / "The data source may be temporarily unavailable." / CTA: "Retry" / "Remove widget" |
117
+
118
+ ### 2.4 Cleared / All-Done
119
+
120
+ The user has completed or cleared all items. Celebrate the achievement.
121
+
122
+ | Context | Copy |
123
+ |---------|------|
124
+ | Inbox zero | **"You're all caught up"** / "No new messages. Enjoy the calm." |
125
+ | Task list complete | **"All tasks done"** / "Nice work. Take a break or plan your next sprint." |
126
+ | Review queue empty | **"No items to review"** / "Everything has been reviewed. Check back later." |
127
+
128
+ ---
129
+
130
+ ## 3. Error States
131
+
132
+ Error copy must answer three questions: What happened? Why? What can the user do?
133
+
134
+ ### 3.1 Network Errors
135
+
136
+ | Scenario | Headline | Body | CTA |
137
+ |----------|----------|------|-----|
138
+ | No connection | "You're offline" | "Check your internet connection and try again." | "Try again" |
139
+ | Connection lost mid-action | "Connection lost" | "Your changes haven't been saved. We'll try again when you're back online." | "Retry" |
140
+ | Slow connection | "Taking longer than expected" | "Your connection seems slow. You can wait or try again later." | "Keep waiting" / "Cancel" |
141
+ | Server unreachable | "Can't reach the server" | "This is usually temporary. Try again in a few moments." | "Try again" |
142
+
143
+ ### 3.2 Validation Errors
144
+
145
+ Validation errors appear inline, adjacent to the field. They should state the requirement, not just the violation.
146
+
147
+ | Field | Bad | Good |
148
+ |-------|-----|------|
149
+ | Email | "Invalid email" | "Enter an email address like name@example.com" |
150
+ | Password | "Password too short" | "Password must be at least 8 characters" |
151
+ | Phone | "Invalid phone number" | "Enter a phone number with country code, like +1 555 123 4567" |
152
+ | Date | "Invalid date" | "Enter a date in the format MM/DD/YYYY" |
153
+ | Required field | "This field is required" | "Enter your [field name] to continue" |
154
+ | Number range | "Out of range" | "Enter a number between 1 and 100" |
155
+ | File size | "File too large" | "Choose a file under 10 MB. Your file is 24 MB." |
156
+ | File type | "Wrong file type" | "Upload a PNG, JPG, or SVG file" |
157
+ | Character limit | "Too many characters" | "Keep your bio under 160 characters (currently 203)" |
158
+
159
+ ### 3.3 Permission Errors
160
+
161
+ | Scenario | Headline | Body | CTA |
162
+ |----------|----------|------|-----|
163
+ | Role insufficient | "You don't have access" | "This page is available to admins. Ask your workspace owner to update your role." | "Request access" |
164
+ | Feature gated | "Upgrade to unlock" | "This feature is available on the Pro plan and above." | "View plans" |
165
+ | Resource not shared | "This [item] hasn't been shared with you" | "Ask the owner to share it, or check that you're signed in to the right account." | "Request access" |
166
+ | Expired access | "Your access has expired" | "Your invitation to [workspace] expired on [date]. Ask for a new invitation." | "Request new invite" |
167
+
168
+ ### 3.4 Not-Found Errors
169
+
170
+ | Scenario | Headline | Body | CTA |
171
+ |----------|----------|------|-----|
172
+ | Page not found | "Page not found" | "The page you're looking for doesn't exist or has been moved." | "Go to homepage" |
173
+ | Deleted resource | "[Item] was deleted" | "This [item] was removed by [owner] on [date]." | "Go back" |
174
+ | Broken link | "This link is broken" | "The link you followed may be outdated. Try searching instead." | "Search" / "Go home" |
175
+ | Invalid ID | "We couldn't find that" | "Double-check the URL or search for what you need." | "Search" |
176
+
177
+ ### 3.5 Server Errors
178
+
179
+ | Scenario | Headline | Body | CTA |
180
+ |----------|----------|------|-----|
181
+ | 500 / Generic | "Something went wrong" | "We're looking into it. Try again in a few minutes." | "Try again" |
182
+ | Maintenance | "We're doing some maintenance" | "We'll be back shortly. Check our status page for updates." | "View status" |
183
+ | Rate limited | "Too many requests" | "You've made a lot of requests recently. Wait a moment and try again." | "Try again in [N]s" |
184
+ | Service degraded | "Some features are unavailable" | "We're experiencing issues with [feature]. Other parts of the app are working normally." | "View status" |
185
+
186
+ ---
187
+
188
+ ## 4. Success States
189
+
190
+ Success copy confirms what happened and, when relevant, suggests a next action.
191
+
192
+ ### 4.1 Creation Success
193
+
194
+ | Action | Copy |
195
+ |--------|------|
196
+ | Item created | "Project '[name]' created" |
197
+ | Account created | "Welcome! Your account is ready." |
198
+ | Invitation sent | "Invitation sent to [email]" |
199
+ | File uploaded | "'[filename]' uploaded successfully" |
200
+ | Import complete | "24 contacts imported. 3 duplicates skipped." |
201
+
202
+ ### 4.2 Update Success
203
+
204
+ | Action | Copy |
205
+ |--------|------|
206
+ | Settings saved | "Settings saved" |
207
+ | Profile updated | "Your profile has been updated" |
208
+ | Password changed | "Password updated. You'll stay signed in on this device." |
209
+ | Bulk update | "12 items updated" |
210
+ | Auto-save | "Saved" (minimal, inline indicator) |
211
+
212
+ ### 4.3 Deletion Success
213
+
214
+ | Action | Copy |
215
+ |--------|------|
216
+ | Item deleted | "'[name]' deleted" + "Undo" action (available for 5-10s) |
217
+ | Bulk delete | "8 items deleted" + "Undo" |
218
+ | Account deletion initiated | "Your account will be deleted in 30 days. You can cancel this from Settings." |
219
+ | Permanent delete | "'[name]' permanently deleted. This can't be undone." |
220
+
221
+ **Pattern:** Include the item name in deletion confirmations so the user can verify the right thing was removed. Offer "Undo" for soft deletes.
222
+
223
+ ---
224
+
225
+ ## 5. Destructive Confirmation
226
+
227
+ Before irreversible actions, confirm with the user. Name the action, the object, and the consequences.
228
+
229
+ ### 5.1 Confirmation Dialog Copy
230
+
231
+ **Structure:**
232
+ - **Headline:** "[Verb] [object]?" -- direct question naming the action
233
+ - **Body:** What will happen, stated plainly. Include consequences and what cannot be undone.
234
+ - **Primary action:** Repeat the verb from the headline (not "OK" or "Yes")
235
+ - **Secondary action:** "Cancel"
236
+
237
+ | Action | Headline | Body | Confirm | Cancel |
238
+ |--------|----------|------|---------|--------|
239
+ | Delete project | "Delete 'Atlas'?" | "This will permanently delete the project and all its tasks. Team members will lose access." | "Delete project" | "Cancel" |
240
+ | Remove member | "Remove [name]?" | "[Name] will lose access to this workspace immediately. Their work will remain." | "Remove" | "Cancel" |
241
+ | Discard changes | "Discard unsaved changes?" | "You have unsaved changes that will be lost." | "Discard" | "Keep editing" |
242
+ | Revoke API key | "Revoke this API key?" | "Any integrations using this key will stop working immediately." | "Revoke key" | "Cancel" |
243
+ | Cancel subscription | "Cancel subscription?" | "You'll have access until [date]. After that, your team will be moved to the free plan." | "Cancel subscription" | "Keep subscription" |
244
+ | Reset data | "Reset all data?" | "This removes all records from [section]. This action can't be undone." | "Reset data" | "Cancel" |
245
+
246
+ ### 5.2 Anti-Patterns in Confirmations
247
+
248
+ - Never use "Yes" / "No" -- users don't read the question, they scan for buttons
249
+ - Never use "OK" -- it's ambiguous for destructive actions
250
+ - Never use double negatives ("Cancel the cancellation?")
251
+ - Never make the destructive action the default/primary-styled button
252
+ - Never skip confirmation for permanent deletions, even if "power user mode" is on
253
+
254
+ ---
255
+
256
+ ## 6. Permission Denied
257
+
258
+ When a user tries to access or perform something they're not authorized for.
259
+
260
+ ### 6.1 Copy Structure
261
+
262
+ **Headline:** State what they can't do
263
+ **Body:** Explain why (role, plan, ownership) and who can help
264
+ **CTA:** The most helpful next step (request access, upgrade, contact admin)
265
+
266
+ | Scenario | Copy |
267
+ |---------|------|
268
+ | Admin-only feature | **"Admin access required"** / "Only workspace admins can manage billing. Contact [admin name] to make changes." / CTA: "Contact admin" |
269
+ | Plan limitation | **"Available on Pro plan"** / "Your current plan doesn't include [feature]. Upgrade to unlock it." / CTA: "Compare plans" |
270
+ | Ownership | **"Only the owner can do this"** / "[Owner name] owns this [item]. Ask them to make this change." / CTA: "Contact owner" |
271
+
272
+ ---
273
+
274
+ ## 7. Offline States
275
+
276
+ Offline copy must tell users three things: you're offline, what still works, and what will happen when you reconnect.
277
+
278
+ ### 7.1 Offline Transition
279
+
280
+ | Scenario | Copy |
281
+ |---------|------|
282
+ | Connection lost | Banner: "You're offline. Changes will sync when you reconnect." |
283
+ | Reconnecting | Banner: "Reconnecting..." |
284
+ | Reconnected | Banner (temporary, 3s): "You're back online. Changes synced." |
285
+
286
+ ### 7.2 Offline Capabilities
287
+
288
+ | Scenario | Copy |
289
+ |---------|------|
290
+ | Read-only mode | "You're offline. You can view cached content, but changes won't be saved until you reconnect." |
291
+ | Queued changes | "You're offline. Your changes are saved locally and will sync automatically." |
292
+ | Action unavailable | "[Action] requires an internet connection." (Inline, next to disabled button) |
293
+ | Stale data | "Last updated [time ago]. Connect to the internet to refresh." |
294
+
295
+ ---
296
+
297
+ ## 8. First-Run and Onboarding
298
+
299
+ First-run copy introduces the product or feature. Focus on what the user can achieve, not what the feature does.
300
+
301
+ ### 8.1 Feature Introduction
302
+
303
+ | Context | Headline | Body |
304
+ |---------|----------|------|
305
+ | New feature | "Introducing [feature]" | "[One sentence: what it helps you do]. Try it out." |
306
+ | Feature tour step | "Track time on tasks" | "Start a timer from any task to see where your time goes." |
307
+ | Post-signup | "Welcome to [Product]" | "Let's get your workspace set up. This takes about 2 minutes." |
308
+ | Empty first screen | "This is your [area]" | "[What will appear here once they start using it]." |
309
+
310
+ ### 8.2 Progressive Disclosure
311
+
312
+ Reveal features as the user needs them, not all at once.
313
+
314
+ | Trigger | Copy |
315
+ |---------|------|
316
+ | First time using feature | Tooltip: "[Brief instruction]. Dismiss" |
317
+ | After completing setup | "You're all set! Here are a few things to try next: [2-3 actions]" |
318
+ | Reaching a milestone | "You've completed 10 tasks! Did you know you can create recurring tasks?" |
319
+
320
+ ---
321
+
322
+ ## 9. Timeout and Retry
323
+
324
+ When an operation takes too long or fails intermittently.
325
+
326
+ ### 9.1 Timeout Progression
327
+
328
+ | Duration | Copy |
329
+ |----------|------|
330
+ | 5-10s over expected | "This is taking longer than usual..." |
331
+ | 15-30s over expected | "Still working on it. You can keep waiting or try again." / CTA: "Keep waiting" / "Try again" |
332
+ | 30-60s over expected | "This is taking much longer than expected. There may be an issue." / CTA: "Try again" / "Cancel" |
333
+ | Hard timeout | "The request timed out. This could be a temporary issue." / CTA: "Try again" / "Go back" |
334
+
335
+ ### 9.2 Retry Copy
336
+
337
+ | Scenario | Copy |
338
+ |---------|------|
339
+ | First retry prompt | "Something went wrong. Try again?" / CTA: "Try again" |
340
+ | Second retry | "Still not working. Check your connection or try again in a few minutes." / CTA: "Try again" |
341
+ | After multiple failures | "We're having trouble completing this request. Please try again later or contact support." / CTA: "Contact support" / "Try later" |
342
+ | Auto-retry with countdown | "Retrying in [N] seconds..." / CTA: "Retry now" / "Cancel" |
343
+
344
+ ---
345
+
346
+ ## 10. Anti-Patterns
347
+
348
+ ### 10.1 Generic Messages
349
+
350
+ "An error occurred." -- tells the user nothing. Always specify what failed and what to do.
351
+
352
+ ### 10.2 Technical Jargon
353
+
354
+ "Error 500: Internal Server Error" or "NullPointerException" -- translate to human language. The user doesn't need the error code.
355
+
356
+ ### 10.3 Blame-the-User Tone
357
+
358
+ "You entered an invalid email" -- use "Enter a valid email address" instead. Frame errors as requirements, not accusations.
359
+
360
+ ### 10.4 Missing Next Step
361
+
362
+ "Your session expired." with no action. Always provide a CTA: "Sign in again."
363
+
364
+ ### 10.5 Wall of Text
365
+
366
+ Multi-paragraph error explanations. Keep headlines under 8 words, body under 30 words. Link to docs if more detail is needed.
367
+
368
+ ### 10.6 Crying Wolf
369
+
370
+ Using error styling (red, alert icons) for informational messages. Reserve red for actual errors. Use blue for info, yellow for warnings.
371
+
372
+ ### 10.7 Disappearing Errors
373
+
374
+ Error toast that auto-dismisses before the user reads it. Error messages should persist until dismissed or resolved. Use inline messages for validation errors, not toasts.
375
+
376
+ ### 10.8 Ambiguous Confirmations
377
+
378
+ "Are you sure?" with "OK" / "Cancel" buttons. The user can't tell which button does what without re-reading the question. Use specific verb labels.
379
+
380
+ ---
381
+
382
+ ## 11. Decision Tree
383
+
384
+ ### 11.1 Choosing State Copy Tone
385
+
386
+ ```
387
+ What is the severity?
388
+ +-- Critical error / data loss risk
389
+ | --> Direct, urgent tone. Short sentences. Specific consequences.
390
+ | "Unsaved changes will be lost."
391
+ +-- Recoverable error
392
+ | --> Calm, helpful tone. State problem + solution.
393
+ | "Couldn't save. Check your connection and try again."
394
+ +-- Warning / potential issue
395
+ | --> Advisory tone. State risk + recommendation.
396
+ | "This API key expires in 3 days. Generate a new one."
397
+ +-- Neutral info / success
398
+ | --> Brief, warm tone. Confirm action + optional next step.
399
+ | "Team created. Invite your first member."
400
+ +-- Empty / first-use
401
+ --> Encouraging tone. Value prop + CTA.
402
+ "Track your team's progress. Create your first project."
403
+ ```
404
+
405
+ ### 11.2 Choosing Feedback Mechanism for State Copy
406
+
407
+ ```
408
+ Is this a form validation issue?
409
+ +-- YES --> Inline message adjacent to the field. Persist until fixed.
410
+
411
+ Is this a confirmation of a completed action?
412
+ +-- YES, routine --> Toast/snackbar, auto-dismiss 3-5s
413
+ +-- YES, with undo option --> Toast with "Undo" action, 8-10s
414
+
415
+ Is this an error requiring attention?
416
+ +-- YES, field-level --> Inline, persist
417
+ +-- YES, page-level --> Banner at top, persist until resolved
418
+ +-- YES, system-level --> Modal or persistent banner
419
+
420
+ Is this a destructive confirmation?
421
+ +-- YES --> Modal dialog with specific verb labels
422
+
423
+ Is this a state transition (online/offline)?
424
+ +-- YES --> Persistent banner until state changes back
425
+ ```
426
+
427
+ ---
428
+
429
+ ## References
430
+
431
+ - [NNG: Error-Message Guidelines](https://www.nngroup.com/articles/error-message-guidelines/)
432
+ - [NNG: Instructive vs Assertive Tone](https://www.nngroup.com/articles/tone-voice-users/)
433
+ - [Material Design 3 - Communication](https://m3.material.io/foundations/content-design/overview)
434
+ - [Apple HIG - Writing Inclusively](https://developer.apple.com/design/human-interface-guidelines/writing-inclusively)
435
+ - [Shopify Polaris - Error Messages](https://polaris.shopify.com/content/error-messages)
436
+ - [Shopify Polaris - Empty States](https://polaris.shopify.com/design/empty-states)
437
+ - [Atlassian Design System - Empty States](https://atlassian.design/patterns/empty-states)
438
+ - [Google Developer Docs Style Guide - Error Messages](https://developers.google.com/style/error-messages)
439
+ - [Microsoft Writing Style Guide - Error Messages](https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/error-messages)
@@ -0,0 +1,58 @@
1
+ # Design Expertise Research Progress
2
+
3
+ ## Status
4
+ - Total: 39
5
+ - Done: 39
6
+ - Remaining: 0
7
+ - Completed: 2026-03-07
8
+
9
+ ## Modules
10
+
11
+ ### Foundations
12
+ - [x] visual-hierarchy.md (2026-03-07, 761 lines)
13
+ - [x] typography.md (2026-03-07, 800 lines)
14
+ - [x] color-theory.md (2026-03-07, 797 lines)
15
+ - [x] spacing-and-layout.md (2026-03-07, 607 lines)
16
+ - [x] accessibility-design.md (2026-03-07, 796 lines)
17
+ - [x] motion-and-animation.md
18
+ - [x] iconography.md (2026-03-07, 795 lines)
19
+ - [x] rtl-design.md (2026-03-07, 585 lines)
20
+
21
+ ### Platforms
22
+ - [x] mobile-ios.md (2026-03-07, 699 lines)
23
+ - [x] mobile-android.md (2026-03-07, 825 lines)
24
+ - [x] mobile-cross-platform.md (2026-03-07, 683 lines)
25
+ - [x] web-responsive.md (2026-03-07, 550 lines)
26
+ - [x] web-dashboard.md (2026-03-07, 790 lines)
27
+ - [x] desktop-native.md (2026-03-07, 612 lines)
28
+ - [x] tablet.md (2026-03-07, 794 lines)
29
+
30
+ ### Patterns
31
+ - [x] navigation.md (2026-03-07, 800 lines)
32
+ - [x] forms-and-input.md (2026-03-07, 819 lines)
33
+ - [x] feedback-and-states.md (2026-03-07, 642 lines)
34
+ - [x] data-display.md (2026-03-07, 618 lines)
35
+ - [x] authentication-flows.md (2026-03-07, 474 lines)
36
+ - [x] onboarding.md (2026-03-07, 700 lines)
37
+ - [x] search-and-filter.md (2026-03-07, 601 lines)
38
+ - [x] notifications.md (2026-03-07, 705 lines)
39
+ - [x] settings-and-preferences.md (2026-03-07, 768 lines)
40
+ - [x] content-consumption.md (2026-03-07, 789 lines)
41
+ - [x] e-commerce.md (2026-03-07, 1220 lines)
42
+ - [x] social-and-community.md (2026-03-07, 748 lines)
43
+ - [x] gamification.md (2026-03-07, 800 lines)
44
+
45
+ ### Disciplines
46
+ - [x] design-systems.md (2026-03-07, 595 lines)
47
+ - [x] information-architecture.md (2026-03-07, 800 lines)
48
+ - [x] interaction-design.md (2026-03-07, 788 lines)
49
+ - [x] responsive-design.md (2026-03-07, 552 lines)
50
+ - [x] dark-mode-theming.md (2026-03-07, 577 lines)
51
+ - [x] user-research.md (2026-03-07, 792 lines)
52
+ - [x] usability-testing.md (2026-03-07, 516 lines)
53
+
54
+ ### Psychology
55
+ - [x] cognitive-load.md (2026-03-07, 920 lines)
56
+ - [x] user-mental-models.md (2026-03-07, 623 lines)
57
+ - [x] persuasive-design.md (2026-03-07, 736 lines)
58
+ - [x] error-psychology.md (2026-03-07, 778 lines)