@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,103 @@
1
+ # React i18n — i18n/RTL Expertise Module
2
+
3
+ > React i18n options: react-intl (ICU, FormatJS) vs react-i18next. Both support RTL via `dir` and `lang` on document root. Choose based on ICU compliance vs plugin ecosystem.
4
+
5
+ > **Category:** Platform
6
+ > **Applies to:** Web (React)
7
+ > **Key standards:** ICU MessageFormat, BCP 47
8
+ > **RTL impact:** High — dir attribute, logical CSS
9
+
10
+ ## 1. Platform i18n System
11
+
12
+ ### react-intl (FormatJS)
13
+
14
+ - ICU MessageFormat
15
+ - `FormattedMessage`, `FormattedNumber`, `FormattedDate`
16
+ - Built-in plural, select, rich text
17
+
18
+ ### react-i18next
19
+
20
+ - JSON/ICU resources
21
+ - `useTranslation` hook, `t()` function
22
+ - `{{variable}}` interpolation; ICU via plugin
23
+
24
+ ### RTL
25
+
26
+ - Set `dir="rtl"` and `lang="ar"` on `<html>` or root when locale is RTL
27
+ - Use CSS logical properties
28
+
29
+ ---
30
+
31
+ ## 2. Setup Guide
32
+
33
+ ### react-intl
34
+
35
+ ```tsx
36
+ import { IntlProvider, FormattedMessage } from 'react-intl';
37
+
38
+ <IntlProvider locale="ar" messages={messages}>
39
+ <FormattedMessage id="greeting" defaultMessage="Hello!" />
40
+ </IntlProvider>
41
+ ```
42
+
43
+ ### react-i18next
44
+
45
+ ```tsx
46
+ import { useTranslation } from 'react-i18next';
47
+
48
+ const { t } = useTranslation();
49
+ <h1>{t('greeting')}</h1>
50
+ ```
51
+
52
+ ### RTL Document Update
53
+
54
+ ```tsx
55
+ useEffect(() => {
56
+ document.documentElement.dir = dir;
57
+ document.documentElement.lang = locale;
58
+ }, [locale, dir]);
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 3. Key APIs
64
+
65
+ ### react-intl
66
+
67
+ - `FormattedMessage` — id, defaultMessage, values
68
+ - `useIntl()` — formatMessage, formatNumber, formatDate
69
+ - ICU: `{count, plural, one {# item} other {# items}}`
70
+
71
+ ### react-i18next
72
+
73
+ - `t('key', { count })` — plural
74
+ - `t('key', { returnObjects: true })` — nested
75
+ - `i18n.changeLanguage('ar')`
76
+
77
+ ---
78
+
79
+ ## 4. RTL Support
80
+
81
+ - `dir` and `lang` on root
82
+ - Logical CSS (margin-inline-start, etc.)
83
+ - No physical properties in layout
84
+
85
+ ---
86
+
87
+ ## 5. Anti-Patterns
88
+
89
+ 1. **Forgetting dir on root** — RTL layout breaks
90
+ 2. **Physical CSS** — layout-left, margin-right
91
+ 3. **Hardcoded strings** — Use FormattedMessage or t()
92
+
93
+ ---
94
+
95
+ ## Quick Reference Checklist
96
+
97
+ - [ ] IntlProvider or i18next provider
98
+ - [ ] dir and lang on document when RTL
99
+ - [ ] Logical CSS
100
+ - [ ] ICU for plurals (react-intl) or i18next plural
101
+
102
+ ---
103
+ *Researched: 2026-03-08 | Sources: react-intl, react-i18next docs*
@@ -0,0 +1,81 @@
1
+ # Web CSS i18n — i18n/RTL Expertise Module
2
+
3
+ > CSS for i18n: logical properties, `dir` attribute, `:dir()` pseudo-class, and `lang` attribute. The foundation of RTL and multi-script web layouts.
4
+
5
+ > **Category:** Platform
6
+ > **Applies to:** Web
7
+ > **Key standards:** CSS Logical Properties, W3C
8
+ > **RTL impact:** Critical — CSS is the primary RTL mechanism on web
9
+
10
+ ## 1. Core Concepts
11
+
12
+ ### Logical Properties
13
+
14
+ | Physical | Logical |
15
+ |----------|---------|
16
+ | margin-left | margin-inline-start |
17
+ | margin-right | margin-inline-end |
18
+ | padding-left | padding-inline-start |
19
+ | padding-right | padding-inline-end |
20
+ | left | inset-inline-start |
21
+ | right | inset-inline-end |
22
+ | text-align: left | text-align: start |
23
+ | text-align: right | text-align: end |
24
+
25
+ ### dir Attribute
26
+
27
+ ```html
28
+ <html dir="rtl" lang="ar">
29
+ ```
30
+
31
+ - `dir="ltr"` | `dir="rtl"` | `dir="auto"`
32
+ - Affects layout, text direction, logical property resolution
33
+
34
+ ### :dir() Pseudo-class
35
+
36
+ ```css
37
+ :dir(rtl) .sidebar {
38
+ transform: translateX(100%);
39
+ }
40
+ ```
41
+
42
+ ---
43
+
44
+ ## 2. Implementation
45
+
46
+ ### Use Logical Properties
47
+
48
+ ```css
49
+ /* Avoid */
50
+ margin-left: 16px;
51
+
52
+ /* Use */
53
+ margin-inline-start: 16px;
54
+ ```
55
+
56
+ ### Transform Override for RTL
57
+
58
+ ```css
59
+ :root { --slide: -100%; }
60
+ :dir(rtl) { --slide: 100%; }
61
+ .drawer { transform: translateX(var(--slide)); }
62
+ ```
63
+
64
+ ---
65
+
66
+ ## 3. Anti-Patterns
67
+
68
+ 1. **Physical properties** — left, right, margin-left
69
+ 2. **text-align: left** — Use start
70
+ 3. **float: left** — Use inline-start or flex
71
+
72
+ ---
73
+
74
+ ## Quick Reference Checklist
75
+
76
+ - [ ] Logical properties for layout
77
+ - [ ] dir on html when RTL
78
+ - [ ] :dir() for override when needed
79
+
80
+ ---
81
+ *Researched: 2026-03-08 | Sources: MDN logical properties, W3C*
@@ -0,0 +1,175 @@
1
+ # Arabic-Specific i18n/RTL — Expertise Module
2
+
3
+ > Arabic is not "Hebrew with different letters." It has connected cursive script, two numeral systems, the Hijri calendar, six plural forms, and distinct typographic conventions. This module covers what makes Arabic unique.
4
+
5
+ > **Category:** RTL
6
+ > **Applies to:** Mobile, Web, Backend
7
+ > **Key standards:** Unicode Arabic, CLDR ar-* locales, Islamic calendar
8
+ > **RTL impact:** Critical — Arabic is the largest RTL language by speakers
9
+
10
+ ## 1. Script and Typography
11
+
12
+ ### Connected Cursive
13
+
14
+ Arabic uses a connected script. Each of the 28 letters has up to 4 contextual forms:
15
+ - **Isolated** — Standalone
16
+ - **Initial** — At start of word
17
+ - **Medial** — In middle
18
+ - **Final** — At end of word
19
+
20
+ Fonts must support **OpenType shaping** (e.g., HarfBuzz). Without it, letters appear disconnected or wrong.
21
+
22
+ ### Diacritics (Harakat)
23
+
24
+ - **Short vowels:** fatḥa (َ), kasra (ِ), ḍamma (ُ)
25
+ - **Shadda** (ّ) — Gemination
26
+ - **Sukūn** (ْ) — No vowel
27
+ - **Tanwīn** — Nunation
28
+
29
+ Often omitted in modern UI; when present, require sufficient line height.
30
+
31
+ ### Font Recommendations
32
+
33
+ - **UI body:** Noto Sans Arabic, Tahoma, Arial
34
+ - **Headlines:** Amiri, Noto Kufi Arabic
35
+ - **Avoid:** Latin-only fonts; decorative fonts for body text
36
+
37
+ ---
38
+
39
+ ## 2. Numeral Systems
40
+
41
+ ### Western Arabic (0123456789)
42
+
43
+ - Used in: Morocco, Algeria, Tunisia, and often in tech/finance
44
+ - Same glyphs as "European" digits
45
+ - Locale: `ar-MA`, `ar-DZ` often use Western
46
+
47
+ ### Eastern Arabic (٠١٢٣٤٥٦٧٨٩)
48
+
49
+ - Used in: Saudi Arabia, Egypt, Syria, Iraq, Gulf, Levant
50
+ - Locale: `ar-SA`, `ar-EG` typically use Eastern
51
+ - **Important:** Let the user or locale choose; some apps offer a setting
52
+
53
+ ### Implementation
54
+
55
+ ```javascript
56
+ // Intl.NumberFormat uses locale's default digits
57
+ new Intl.NumberFormat('ar-SA').format(123); // ١٢٣
58
+ new Intl.NumberFormat('ar-EG').format(123); // ١٢٣
59
+ new Intl.NumberFormat('ar-MA').format(123); // 123 (Western)
60
+ ```
61
+
62
+ ---
63
+
64
+ ## 3. Calendar: Hijri (Islamic)
65
+
66
+ ### Overview
67
+
68
+ - Lunar calendar; ~354 days/year
69
+ - Used as civil calendar in Saudi Arabia, and religiously worldwide
70
+ - Starts from Hijra (622 CE)
71
+
72
+ ### Variants
73
+
74
+ - **islamic** — Civil (fixed algorithm)
75
+ - **islamic-umalqura** — Saudi Arabia (crescent sighting)
76
+ - **islamic-tbla** — Astronomical
77
+
78
+ ### Implementation
79
+
80
+ ```javascript
81
+ new Intl.DateTimeFormat('ar-SA', {
82
+ calendar: 'islamic',
83
+ year: 'numeric',
84
+ month: 'long',
85
+ day: 'numeric'
86
+ }).format(new Date());
87
+ // e.g., ١٥ رجب ١٤٤٧
88
+ ```
89
+
90
+ ---
91
+
92
+ ## 4. Pluralization
93
+
94
+ Arabic has **6 plural forms** (CLDR categories: zero, one, two, few, many, other).
95
+
96
+ ### ICU MessageFormat Example
97
+
98
+ ```
99
+ {count, plural,
100
+ zero {لا رسائل}
101
+ one {رسالة واحدة}
102
+ two {رسالتان}
103
+ few {# رسائل}
104
+ many {# رسالة}
105
+ other {# رسالة}
106
+ }
107
+ ```
108
+
109
+ ### Rules (Simplified)
110
+
111
+ - zero: count === 0
112
+ - one: count === 1
113
+ - two: count === 2
114
+ - few: 3–10
115
+ - many: 11–99 (with exceptions)
116
+ - other: default
117
+
118
+ ---
119
+
120
+ ## 5. Locale Variants
121
+
122
+ | Locale | Region | Numerals | Notes |
123
+ |--------|--------|----------|-------|
124
+ | ar-SA | Saudi Arabia | Eastern | Hijri default |
125
+ | ar-EG | Egypt | Eastern | Large market |
126
+ | ar-AE | UAE | Eastern | Gulf |
127
+ | ar-MA | Morocco | Western | Maghreb |
128
+ | ar-DZ | Algeria | Western | Maghreb |
129
+
130
+ ---
131
+
132
+ ## 6. Cultural and Content Notes
133
+
134
+ ### Formal vs Informal
135
+
136
+ - Formal (الفصحى): News, official content
137
+ - Informal (العامية): Dialects vary by region (Egyptian, Levantine, Gulf)
138
+ - UI often uses Modern Standard Arabic (MSA) for consistency
139
+
140
+ ### Text Length
141
+
142
+ - Arabic can be shorter or longer than English depending on register
143
+ - Design for expansion; avoid fixed-width text containers
144
+
145
+ ### Mixed Content
146
+
147
+ - English brand names, URLs, code: keep LTR
148
+ - Numbers: follow locale (Eastern or Western)
149
+
150
+ ---
151
+
152
+ ## 7. Anti-Patterns
153
+
154
+ 1. **Assuming one numeral system** — Support both; use locale or user preference
155
+ 2. **Gregorian-only dates** — Offer Hijri for ar-SA and religious contexts
156
+ 3. **English plural rule** — Arabic needs 6 forms
157
+ 4. **Latin font for Arabic** — Use Arabic-capable font
158
+ 5. **Letter-spacing on Arabic** — Breaks connections
159
+ 6. **Treating Arabic like Hebrew** — Different script, numerals, calendar
160
+ 7. **No RTL layout** — Arabic is RTL; layout must mirror
161
+
162
+ ---
163
+
164
+ ## Quick Reference Checklist
165
+
166
+ - [ ] Font supports Arabic (OpenType shaping)
167
+ - [ ] Numerals: Eastern vs Western per locale
168
+ - [ ] Hijri calendar for ar-SA and religious contexts
169
+ - [ ] 6 plural forms in ICU MessageFormat
170
+ - [ ] RTL layout with logical properties
171
+ - [ ] Test with real Arabic: مرحباً، كيف حالك؟
172
+ - [ ] Line height for diacritics if used
173
+
174
+ ---
175
+ *Researched: 2026-03-08 | Sources: Unicode Arabic, CLDR, Wikipedia Eastern/Western numerals, Intl API, ICU Islamic calendar*
@@ -0,0 +1,149 @@
1
+ # Hebrew-Specific i18n/RTL — Expertise Module
2
+
3
+ > Hebrew differs from Arabic: discrete letters with final forms, Western numerals in everyday use, the Jewish/Hebrew calendar, and three plural forms. Never conflate Hebrew with Arabic—they are distinct RTL languages.
4
+
5
+ > **Category:** RTL
6
+ > **Applies to:** Mobile, Web, Backend
7
+ > **Key standards:** Unicode Hebrew, CLDR he/iw locales, Hebrew calendar
8
+ > **RTL impact:** Critical — Hebrew is the primary language of Israel
9
+
10
+ ## 1. Script and Typography
11
+
12
+ ### Discrete Letters with Final Forms
13
+
14
+ Hebrew is an abjad (consonants only; vowels optional). Unlike Arabic's connected cursive, Hebrew letters are mostly discrete. Five letters have **final forms** when they appear at the end of a word:
15
+
16
+ | Letter | Final form | Use |
17
+ |--------|------------|-----|
18
+ | Kaf (כ) | Final Kaf (ך) | End of word |
19
+ | Mem (מ) | Final Mem (ם) | End of word |
20
+ | Nun (נ) | Final Nun (ן) | End of word |
21
+ | Pe (פ) | Final Pe (ף) | End of word |
22
+ | Tsade (צ) | Final Tsade (ץ) | End of word |
23
+
24
+ Fonts must support OpenType shaping for correct final-form substitution.
25
+
26
+ ### Niqqud (Vowel Points)
27
+
28
+ - 11 vowel diacritics; rarely used in modern UI
29
+ - Used in: religious texts, education, disambiguation
30
+ - When present: require line height headroom (like Arabic harakat)
31
+
32
+ ### Font Recommendations
33
+
34
+ - **Body:** Heebo, Noto Sans Hebrew, Arial
35
+ - **Religious/formal:** Noto Rashi Hebrew, Frank Ruhl Libre
36
+ - **Display:** Heebo, Rubik
37
+
38
+ ---
39
+
40
+ ## 2. Numerals
41
+
42
+ ### Everyday Use: Western Arabic (0123456789)
43
+
44
+ In Israel, **Western Arabic numerals** are used for:
45
+ - Money, age, dates
46
+ - Most UI and commercial content
47
+
48
+ Hebrew numerals (letters as numbers) are used only for:
49
+ - Hebrew calendar dates
50
+ - Religious texts
51
+ - List numbering (like a, b, c)
52
+
53
+ **Implementation:** Use `Intl.NumberFormat('he-IL')` — it outputs Western digits by default. No Eastern Arabic numerals.
54
+
55
+ ---
56
+
57
+ ## 3. Calendar: Hebrew (Jewish)
58
+
59
+ ### Overview
60
+
61
+ - Lunisolar calendar
62
+ - Used for religious holidays and traditional dates in Israel
63
+ - Months: Tishri, Heshvan, Kislev, Tevet, Shevat, Adar, Adar II (leap), Nisan, Iyar, Sivan, Tamuz, Av, Elul
64
+
65
+ ### Implementation
66
+
67
+ ```javascript
68
+ new Intl.DateTimeFormat('he-IL', {
69
+ calendar: 'hebrew',
70
+ year: 'numeric',
71
+ month: 'long',
72
+ day: 'numeric'
73
+ }).format(new Date());
74
+ // e.g., 15 באדר ב' 5786
75
+ ```
76
+
77
+ Locale `he-IL` or `iw-IL` (iw is legacy for Hebrew). Calendar option: `hebrew`.
78
+
79
+ ---
80
+
81
+ ## 4. Pluralization
82
+
83
+ Hebrew has **3 cardinal plural forms** (CLDR: one, two, other).
84
+
85
+ ### ICU MessageFormat Example
86
+
87
+ ```
88
+ {count, plural,
89
+ one {יום אחד}
90
+ two {יומיים}
91
+ other {# ימים}
92
+ }
93
+ ```
94
+
95
+ ### Rules
96
+
97
+ - **one:** n=1 (integer), or fractional 0.0–0.9, 0.00–0.05
98
+ - **two:** n=2 (integer only)
99
+ - **other:** 0, 3–17, 100, etc., and fractional 1.0–2.5, 10.0, etc.
100
+
101
+ ### Ordinal
102
+
103
+ Hebrew ordinals use **other** only — no one/two/few/many distinction for ordinals.
104
+
105
+ ---
106
+
107
+ ## 5. Locale Variants
108
+
109
+ | Locale | Region | Notes |
110
+ |--------|--------|-------|
111
+ | he-IL | Israel | Primary; iw-IL is legacy |
112
+ | he | Hebrew (no region) | Fallback |
113
+
114
+ ---
115
+
116
+ ## 6. Arabic vs Hebrew: Summary
117
+
118
+ | Aspect | Arabic | Hebrew |
119
+ |--------|--------|--------|
120
+ | Script | Connected cursive | Discrete, some final forms |
121
+ | Numerals (everyday) | Eastern or Western by region | Western only |
122
+ | Calendar | Hijri (Islamic) | Hebrew (Jewish) |
123
+ | Plural forms | 6 | 3 |
124
+ | Diacritics | Harakat (common in religious) | Niqqud (rare in UI) |
125
+
126
+ ---
127
+
128
+ ## 7. Anti-Patterns
129
+
130
+ 1. **Treating Hebrew like Arabic** — Different script, numerals, calendar, plurals
131
+ 2. **Using Eastern Arabic numerals** — Hebrew uses Western
132
+ 3. **Hijri calendar for Hebrew** — Use Hebrew calendar
133
+ 4. **6 plural forms** — Hebrew has 3
134
+ 5. **Latin font for Hebrew** — Use Hebrew-capable font
135
+ 6. **No RTL layout** — Hebrew is RTL; layout must mirror
136
+
137
+ ---
138
+
139
+ ## Quick Reference Checklist
140
+
141
+ - [ ] Font supports Hebrew (final forms, OpenType shaping)
142
+ - [ ] Western numerals (0123) for everyday content
143
+ - [ ] Hebrew calendar for dates when relevant
144
+ - [ ] 3 plural forms: one, two, other
145
+ - [ ] RTL layout with logical properties
146
+ - [ ] Test with real Hebrew: שלום, עברית
147
+
148
+ ---
149
+ *Researched: 2026-03-08 | Sources: Unicode Hebrew, CLDR plurals, Intl API, Wikipedia Hebrew numerals*
@@ -0,0 +1,111 @@
1
+ # RTL Animations and Transitions — i18n/RTL Expertise Module
2
+
3
+ > Animations that represent direction (slide-in, drawer, carousel) must follow reading direction. A drawer that slides in from the left in LTR should slide in from the right in RTL. Time-based animations (progress, fade) typically don't change.
4
+
5
+ > **Category:** RTL
6
+ > **Applies to:** Mobile, Web
7
+ > **Key standards:** Material Design, Apple HIG
8
+ > **RTL impact:** High — wrong animation direction feels broken
9
+
10
+ ## 1. The Rules
11
+
12
+ ### Animations That MIRROR (Directional)
13
+
14
+ | Animation | LTR | RTL |
15
+ |-----------|-----|-----|
16
+ | **Drawer/sidebar open** | Slides in from left | Slides in from right |
17
+ | **Modal/dialog enter** | Often center; if slide, from bottom | Same (center/bottom) |
18
+ | **Page transition (push)** | New page slides in from right | New page slides in from left |
19
+ | **Page transition (pop/back)** | Current page slides out to right | Current page slides out to left |
20
+ | **Carousel next** | Content slides left (new from right) | Content slides right (new from left) |
21
+ | **Swipe to dismiss** | Swipe right to dismiss | Swipe left to dismiss |
22
+ | **Expand/collapse** | Chevron rotates; content expands | Same (no direction) |
23
+
24
+ ### Animations That Do NOT Mirror
25
+
26
+ | Animation | Reason |
27
+ |-----------|--------|
28
+ | **Fade** | No direction |
29
+ | **Scale** | No direction |
30
+ | **Progress bar fill** | Represents progress; direction follows layout (start→end) |
31
+ | **Spinner/loading** | No direction |
32
+ | **Pulse** | No direction |
33
+
34
+ ---
35
+
36
+ ## 2. Implementation
37
+
38
+ ### Web (CSS)
39
+
40
+ ```css
41
+ /* Drawer: use logical properties for transform origin */
42
+ .drawer {
43
+ transform: translateX(-100%);
44
+ transform-origin: left center;
45
+ }
46
+
47
+ [dir="rtl"] .drawer {
48
+ transform: translateX(100%);
49
+ transform-origin: right center;
50
+ }
51
+
52
+ /* Or use CSS variable */
53
+ :root {
54
+ --drawer-translate: -100%;
55
+ }
56
+ [dir="rtl"] {
57
+ --drawer-translate: 100%;
58
+ }
59
+ .drawer {
60
+ transform: translateX(var(--drawer-translate));
61
+ }
62
+ ```
63
+
64
+ ### Flutter
65
+
66
+ ```dart
67
+ // SlideTransition: use direction from TextDirection
68
+ SlideTransition(
69
+ position: Tween<Offset>(
70
+ begin: Offset(Directionality.of(context) == TextDirection.rtl ? 1 : -1, 0),
71
+ end: Offset.zero,
72
+ ).animate(animation),
73
+ child: child,
74
+ )
75
+ ```
76
+
77
+ ### React / React Native
78
+
79
+ - Use `I18nManager.isRTL` or `useLayoutDirection()` to flip slide direction
80
+ - Pass `from`/`to` or `direction` to animation library based on RTL
81
+
82
+ ---
83
+
84
+ ## 3. Common RTL Animation Bugs
85
+
86
+ 1. **Drawer slides from wrong side** — Always from start edge
87
+ 2. **Page push/pop wrong direction** — New page from end, back slides to end
88
+ 3. **Carousel slides wrong way** — "Next" should move content in reading direction
89
+ 4. **Transform origin wrong** — `transform-origin: left` doesn't flip; override for RTL
90
+ 5. **translateX not inverted** — Use direction multiplier
91
+
92
+ ---
93
+
94
+ ## 4. QA Checklist
95
+
96
+ - [ ] Drawer/sidebar slides from start edge
97
+ - [ ] Page transitions follow navigation direction
98
+ - [ ] Carousel direction correct
99
+ - [ ] No jarring "wrong way" animations
100
+
101
+ ---
102
+
103
+ ## Quick Reference Checklist
104
+
105
+ - [ ] Directional slides use RTL-aware transform/origin
106
+ - [ ] Drawer from start edge
107
+ - [ ] Page push/pop direction correct
108
+ - [ ] Fade/scale unchanged
109
+
110
+ ---
111
+ *Researched: 2026-03-08 | Sources: Kendo slide direction, React Slick RTL, animation direction patterns*