@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,65 @@
1
+ # i18n/RTL Expertise Research Progress
2
+
3
+ ## Status
4
+ - Total: 33
5
+ - Done: 33
6
+ - Remaining: 0
7
+
8
+ ## Modules
9
+
10
+ ### Foundations
11
+ - [x] i18n-architecture.md (2026-03-08)
12
+ - [x] unicode-and-encoding.md (2026-03-08)
13
+ - [x] locale-and-language-tags.md (2026-03-08)
14
+ - [x] string-externalization.md (2026-03-08)
15
+ - [x] pluralization-and-gender.md (2026-03-08)
16
+ - [x] date-time-calendars.md (2026-03-08)
17
+ - [x] numbers-currency-units.md (2026-03-08)
18
+ - [x] text-direction-bidi.md (2026-03-08)
19
+
20
+ ### RTL
21
+ - [x] rtl-fundamentals.md (2026-03-08)
22
+ - [x] rtl-layout-mirroring.md (2026-03-08)
23
+ - [x] rtl-typography.md (2026-03-08)
24
+ - [x] rtl-icons-and-images.md (2026-03-08)
25
+ - [x] rtl-navigation-and-gestures.md (2026-03-08)
26
+ - [x] rtl-forms-and-input.md (2026-03-08)
27
+ - [x] rtl-animations-and-transitions.md (2026-03-08)
28
+ - [x] rtl-testing-and-qa.md (2026-03-08)
29
+ - [x] arabic-specific.md (2026-03-08)
30
+ - [x] hebrew-specific.md (2026-03-08)
31
+
32
+ ### Platform
33
+ - [x] flutter-i18n.md (2026-03-08)
34
+ - [x] react-i18n.md (2026-03-08)
35
+ - [x] native-ios-i18n.md (2026-03-08)
36
+ - [x] native-android-i18n.md (2026-03-08)
37
+ - [x] web-css-i18n.md (2026-03-08)
38
+ - [x] backend-i18n.md (2026-03-08)
39
+
40
+ ### Content
41
+ - [x] translation-management.md (2026-03-08)
42
+ - [x] machine-translation-integration.md (2026-03-08)
43
+ - [x] content-adaptation.md (2026-03-08)
44
+ - [x] locale-specific-formatting.md (2026-03-08)
45
+
46
+ ### Advanced
47
+ - [x] bidirectional-text-algorithm.md (2026-03-08)
48
+ - [x] complex-scripts.md (2026-03-08)
49
+ - [x] accessibility-and-i18n.md (2026-03-08)
50
+ - [x] performance-and-i18n.md (2026-03-08)
51
+ - [x] testing-i18n.md (2026-03-08)
52
+
53
+ ---
54
+
55
+ ## Final Summary (2026-03-08)
56
+
57
+ All 33 i18n/RTL expertise modules are complete. The knowledge base covers:
58
+
59
+ - **Foundations:** Architecture, Unicode, locale tags, string externalization, pluralization, dates, numbers, BiDi
60
+ - **RTL:** Fundamentals, layout mirroring, typography, icons, navigation, forms, animations, testing, Arabic-specific, Hebrew-specific
61
+ - **Platform:** Flutter, React, Web CSS, iOS, Android, Backend
62
+ - **Content:** Translation management, MT, content adaptation, locale formatting
63
+ - **Advanced:** BiDi algorithm, complex scripts, accessibility, performance, testing
64
+
65
+ Use these modules during Clarifier (architecture) and Dev (implementation) to bake i18n in from day one.
@@ -0,0 +1,28 @@
1
+ # Accessibility and i18n — i18n/RTL Expertise Module
2
+
3
+ > lang and dir attributes aid screen readers; RTL affects reading order. Ensure accessible labels, focus order, and semantic structure in all locales.
4
+
5
+ > **Category:** Advanced
6
+ > **Applies to:** All
7
+ > **Key standards:** WCAG, W3C
8
+ > **RTL impact:** High — focus order, reading order
9
+
10
+ ## 1. lang and dir
11
+
12
+ - `lang` on html and elements with language change
13
+ - `dir` for base direction
14
+ - Screen readers use both for pronunciation and order
15
+
16
+ ## 2. Focus Order
17
+
18
+ - Tab order should follow visual order
19
+ - In RTL, that means right-to-left
20
+ - Ensure focusable elements in correct sequence
21
+
22
+ ## 3. Labels and ARIA
23
+
24
+ - Accessible names in correct language
25
+ - Don't mix languages in single label without lang attribute
26
+
27
+ ---
28
+ *Researched: 2026-03-08 | Sources: WCAG, W3C*
@@ -0,0 +1,38 @@
1
+ # Bidirectional Text Algorithm — i18n/RTL Expertise Module
2
+
3
+ > Unicode UAX #9: how the BiDi algorithm resolves display order from logical order. Character types, embedding levels, and when to use overrides (LRI, RLI, PDI, LRM, RLM).
4
+
5
+ > **Category:** Advanced
6
+ > **Applies to:** All
7
+ > **Key standards:** Unicode UAX #9
8
+ > **RTL impact:** Critical — foundation of BiDi
9
+
10
+ ## 1. Algorithm Overview
11
+
12
+ 1. **Classify** characters (L, R, AL, EN, AN, NSM, etc.)
13
+ 2. **Resolve** embedding levels from base direction
14
+ 3. **Reorder** for display
15
+
16
+ ## 2. Character Types
17
+
18
+ - **L (strong LTR):** Latin, digits in LTR context
19
+ - **R (strong RTL):** Hebrew
20
+ - **AL (Arabic letter):** Arabic
21
+ - **EN (European number):** 0-9
22
+ - **AN (Arabic number):** ٠-٩
23
+ - **NSM:** Combining marks
24
+
25
+ ## 3. When Algorithm Fails
26
+
27
+ - Neutral characters between runs
28
+ - Spillover (number after RTL phrase)
29
+ - Use RLI/PDI (isolate) or LRM/RLM (mark)
30
+
31
+ ## 4. Control Characters
32
+
33
+ - LRI, RLI, FSI, PDI — isolate (prefer)
34
+ - LRE, RLE, PDF — embed (legacy, spillover risk)
35
+ - LRM, RLM — single-character marks
36
+
37
+ ---
38
+ *Researched: 2026-03-08 | Sources: Unicode UAX #9, W3C BiDi*
@@ -0,0 +1,30 @@
1
+ # Complex Scripts — i18n/RTL Expertise Module
2
+
3
+ > Arabic shaping, Hebrew final forms, Indic conjuncts, and CJK: OpenType, HarfBuzz, and rendering requirements. Font and engine support matter.
4
+
5
+ > **Category:** Advanced
6
+ > **Applies to:** All
7
+ > **Key standards:** OpenType, Unicode
8
+ > **RTL impact:** High — Arabic, Hebrew are complex scripts
9
+
10
+ ## 1. Script Requirements
11
+
12
+ - **Arabic:** Contextual forms, ligatures, shaping
13
+ - **Hebrew:** Final forms, niqqud
14
+ - **Indic:** Conjuncts, reordering
15
+ - **CJK:** Ideographs, line breaking
16
+
17
+ ## 2. Implementation
18
+
19
+ - Use fonts with OpenType support
20
+ - HarfBuzz (or platform shaper) for shaping
21
+ - Test with real text
22
+
23
+ ## 3. Anti-Patterns
24
+
25
+ - Font without script support
26
+ - Truncation that splits grapheme clusters
27
+ - Assuming 1 char = 1 glyph
28
+
29
+ ---
30
+ *Researched: 2026-03-08 | Sources: OpenType, Unicode*
@@ -0,0 +1,27 @@
1
+ # Performance and i18n — i18n/RTL Expertise Module
2
+
3
+ > Lazy load locale data; avoid bundling all languages. Split by locale or namespace. Measure bundle size impact.
4
+
5
+ > **Category:** Advanced
6
+ > **Applies to:** All
7
+ > **RTL impact:** Low
8
+
9
+ ## 1. Lazy Loading
10
+
11
+ - Load translation files on demand
12
+ - Dynamic import per locale
13
+ - Don't bundle ar, he, zh if user only needs en
14
+
15
+ ## 2. Bundle Size
16
+
17
+ - Each locale adds KB
18
+ - Split by namespace (auth, dashboard, etc.)
19
+ - Tree-shake unused keys if supported
20
+
21
+ ## 3. Caching
22
+
23
+ - Cache loaded locale data
24
+ - CDN for static locale JSON
25
+
26
+ ---
27
+ *Researched: 2026-03-08*
@@ -0,0 +1,28 @@
1
+ # Testing i18n — i18n/RTL Expertise Module
2
+
3
+ > Pseudo-localization, missing key detection, locale switching tests, and RTL visual regression. Automate what you can.
4
+
5
+ > **Category:** Advanced
6
+ > **Applies to:** All
7
+ > **RTL impact:** Critical — RTL needs dedicated tests
8
+
9
+ ## 1. Pseudo-Localization
10
+
11
+ - Expand/accent strings to find truncation
12
+ - RTL pseudo (ar-XB) for layout
13
+ - Bracket keys to find untranslated
14
+
15
+ ## 2. Automated Checks
16
+
17
+ - Lint for physical CSS properties
18
+ - CI: run with RTL locale
19
+ - Snapshot/visual regression for RTL
20
+
21
+ ## 3. Manual
22
+
23
+ - Real Arabic/Hebrew
24
+ - Forms, navigation, mixed content
25
+ - Screen reader with RTL
26
+
27
+ ---
28
+ *Researched: 2026-03-08 | Sources: Android pseudolocales, testing guides*
@@ -0,0 +1,23 @@
1
+ # Content Adaptation — i18n/RTL Expertise Module
2
+
3
+ > Beyond translation: cultural adaptation of images, colors, symbols, and formats. What works in one market may not in another.
4
+
5
+ > **Category:** Content
6
+ > **Applies to:** All
7
+ > **RTL impact:** High — RTL markets have distinct cultural norms
8
+
9
+ ## 1. Cultural Adaptation
10
+
11
+ - **Images:** Avoid culture-specific gestures, symbols
12
+ - **Colors:** Red = luck (China) vs danger (West)
13
+ - **Dates/calendars:** Hijri, Hebrew where relevant
14
+ - **Numbers:** Eastern vs Western Arabic numerals
15
+
16
+ ## 2. RTL-Specific
17
+
18
+ - Layout mirrors; content may need different imagery
19
+ - Icons: directional vs universal
20
+ - Text in images: avoid; use overlay
21
+
22
+ ---
23
+ *Researched: 2026-03-08*
@@ -0,0 +1,23 @@
1
+ # Locale-Specific Formatting — i18n/RTL Expertise Module
2
+
3
+ > Date, number, currency, list, and unit formatting vary by locale. Use CLDR/Intl; document locale-specific expectations.
4
+
5
+ > **Category:** Content
6
+ > **Applies to:** All
7
+ > **RTL impact:** Medium — numeral system, date format
8
+
9
+ ## 1. Formatting by Locale
10
+
11
+ - **Date:** Gregorian, Hijri, Hebrew, etc.
12
+ - **Number:** Decimal (.,), grouping, numerals
13
+ - **Currency:** Symbol position, spacing
14
+ - **List:** And/or/conjunction rules
15
+
16
+ ## 2. Implementation
17
+
18
+ - Intl.DateTimeFormat, Intl.NumberFormat
19
+ - Pass locale explicitly
20
+ - Never hardcode formats
21
+
22
+ ---
23
+ *Researched: 2026-03-08 | Sources: CLDR*
@@ -0,0 +1,28 @@
1
+ # Machine Translation Integration — i18n/RTL Expertise Module
2
+
3
+ > MT for scale; human for quality. When to use MT vs human, post-editing, and integration patterns. MT helps volume; doesn't fix architectural mistakes.
4
+
5
+ > **Category:** Content
6
+ > **Applies to:** All
7
+ > **RTL impact:** Medium — MT supports Arabic, Hebrew
8
+
9
+ ## 1. When to Use
10
+
11
+ - **MT:** High volume, low risk, internal tools
12
+ - **Human:** Marketing, legal, UX-critical
13
+ - **Hybrid:** MT + human review
14
+
15
+ ## 2. Integration
16
+
17
+ - TMS often has MT built-in (Google, DeepL, etc.)
18
+ - API integration for custom flows
19
+ - Post-edit workflow
20
+
21
+ ## 3. Limitations
22
+
23
+ - Doesn't fix concatenation, wrong plural
24
+ - Context matters; provide it
25
+ - RTL: MT outputs correct script; layout is separate
26
+
27
+ ---
28
+ *Researched: 2026-03-08*
@@ -0,0 +1,29 @@
1
+ # Translation Management — i18n/RTL Expertise Module
2
+
3
+ > Translation workflow: TMS (Crowdin, Lokalise, Phrase), key naming, context for translators, and continuous localization. Integrate early; avoid batch-at-end.
4
+
5
+ > **Category:** Content
6
+ > **Applies to:** All
7
+ > **Key standards:** XLIFF, TMS APIs
8
+ > **RTL impact:** Medium — TMS must handle RTL preview
9
+
10
+ ## 1. Workflow
11
+
12
+ - Extract strings → Push to TMS → Translate → Pull to repo
13
+ - Continuous: sync on commit; batch: before release
14
+ - Key naming: semantic, hierarchical
15
+
16
+ ## 2. Tools
17
+
18
+ - Crowdin, Lokalise, Phrase, Transifex
19
+ - Integrate via API or CLI
20
+ - Provide context: screenshots, descriptions, max length
21
+
22
+ ## 3. Quality
23
+
24
+ - Glossary, style guide
25
+ - Review workflow
26
+ - QA for RTL, truncation
27
+
28
+ ---
29
+ *Researched: 2026-03-08 | Sources: TMS vendors*
@@ -0,0 +1,67 @@
1
+ # Date, Time, and Calendars — i18n/RTL Expertise Module
2
+
3
+ > Never hardcode date formats. Use `Intl.DateTimeFormat` or equivalent. Calendars vary: Gregorian, Hijri, Hebrew, Persian, Buddhist, Japanese Imperial. Locale determines default format and calendar.
4
+
5
+ > **Category:** Foundation
6
+ > **Applies to:** All
7
+ > **Key standards:** CLDR, Intl API
8
+ > **RTL impact:** Low — dates are locale-specific, not direction-specific
9
+
10
+ ## 1. Core Concepts
11
+
12
+ ### Calendars in Use
13
+
14
+ | Calendar | Locales | Use |
15
+ |----------|---------|-----|
16
+ | **Gregorian** | Most | Default for en, fr, de, etc. |
17
+ | **Hijri (Islamic)** | ar-SA, religious | Saudi civil, Muslim religious |
18
+ | **Hebrew** | he-IL | Jewish holidays, traditional |
19
+ | **Persian (Solar Hijri)** | fa-IR | Iran |
20
+ | **Buddhist** | th-TH | Thailand |
21
+ | **Japanese Imperial** | ja-JP | Japan (optional) |
22
+
23
+ ### Intl.DateTimeFormat
24
+
25
+ ```javascript
26
+ new Intl.DateTimeFormat('ar-SA', {
27
+ calendar: 'islamic',
28
+ year: 'numeric',
29
+ month: 'long',
30
+ day: 'numeric'
31
+ }).format(new Date());
32
+
33
+ new Intl.DateTimeFormat('he-IL', {
34
+ calendar: 'hebrew',
35
+ year: 'numeric',
36
+ month: 'long'
37
+ }).format(new Date());
38
+ ```
39
+
40
+ ### Format by Locale
41
+
42
+ - **en-US:** MM/DD/YYYY
43
+ - **en-GB:** DD/MM/YYYY
44
+ - **de-DE:** DD.MM.YYYY
45
+ - **ja-JP:** YYYY年M月D日
46
+ - **ar-SA:** Often Hijri; format varies
47
+
48
+ ---
49
+
50
+ ## 2. Anti-Patterns
51
+
52
+ 1. **Hardcoded MM/DD/YYYY** — Wrong for 96% of world
53
+ 2. **Assuming Gregorian** — Offer Hijri for ar-SA, Hebrew for he-IL
54
+ 3. **No timezone** — Use `timeZone` option or store UTC, display local
55
+ 4. **12h vs 24h** — Locale-dependent; use `hour12` from locale or user pref
56
+
57
+ ---
58
+
59
+ ## Quick Reference Checklist
60
+
61
+ - [ ] Use Intl.DateTimeFormat (or platform equivalent)
62
+ - [ ] Pass locale explicitly
63
+ - [ ] Support non-Gregorian calendars where relevant
64
+ - [ ] Handle timezone
65
+
66
+ ---
67
+ *Researched: 2026-03-08 | Sources: MDN Intl.DateTimeFormat, CLDR calendars*
@@ -0,0 +1,272 @@
1
+ # i18n Architecture — i18n/RTL Expertise Module
2
+
3
+ > The foundational architecture for internationalization: separation of concerns, standards alignment, and design decisions that prevent technical debt. Getting this wrong means every subsequent i18n effort is fighting the codebase.
4
+
5
+ > **Category:** Foundation
6
+ > **Applies to:** All (Mobile, Web, Backend)
7
+ > **Key standards:** Unicode, CLDR, BCP 47 (RFC 5646), ICU, W3C i18n
8
+ > **RTL impact:** High — architecture must accommodate bidirectional layout from day one
9
+
10
+ ## 1. Core Concepts
11
+
12
+ ### What This Area Covers and Why It Matters
13
+
14
+ Internationalization (i18n) is the design and development of software so it can be adapted for users from any culture, region, or language without engineering changes. Localization (L10n) is the actual adaptation of content and formats for a specific locale. Architecture determines whether i18n is a first-class concern or an expensive retrofit.
15
+
16
+ **Why architecture matters:**
17
+ - Retrofitting i18n costs **3–5× more** than building it in from the start
18
+ - Every hardcoded string, format assumption, and layout direction creates debt
19
+ - Poor architecture forces translators to work around code instead of with it
20
+
21
+ ### Fundamental Rules and Standards
22
+
23
+ | Standard | Purpose |
24
+ |----------|---------|
25
+ | **Unicode** | Character encoding; every character has a code point; UTF-8 is the default encoding |
26
+ | **CLDR** (Common Locale Data Repository) | Locale-specific data: plural rules, date/number formats, currency, collation |
27
+ | **BCP 47** (RFC 5646) | Language tags: `en-US`, `ar-SA`, `zh-Hans-CN` — structure and lookup |
28
+ | **ICU** (International Components for Unicode) | MessageFormat for plurals/gender/select; formatting APIs |
29
+ | **W3C i18n** | Web-specific guidelines: HTML `lang`/`dir`, CSS logical properties, BiDi |
30
+
31
+ ### Common Misconceptions
32
+
33
+ 1. **"i18n is just translating strings"** — False. i18n encompasses text direction, number/date/currency formats, pluralization, gender agreement, collation, input methods, fonts, and layout. String translation is one slice.
34
+
35
+ 2. **"We'll add i18n later"** — The most expensive approach. Strings are embedded in components, formats are hardcoded, layouts assume LTR. Later = hunt-and-replace across the codebase.
36
+
37
+ 3. **"UTF-8 is enough"** — UTF-8 handles encoding. It does not handle RTL, pluralization, locale-specific formatting, or mixed-script text.
38
+
39
+ 4. **"One translation file per language"** — Flat files don't scale. Namespacing, lazy loading, and key organization matter.
40
+
41
+ 5. **"Machine translation will fix it"** — MT helps with volume; it does not fix architectural mistakes (concatenation, missing context, wrong plural forms).
42
+
43
+ ---
44
+
45
+ ## 2. Implementation Patterns
46
+
47
+ ### Separation of Concerns
48
+
49
+ **Rule:** All locale-specific elements live outside application logic.
50
+
51
+ | Element | Locale-Specific | Where It Lives |
52
+ |---------|-----------------|----------------|
53
+ | User-facing strings | Yes | Translation files (ARB, JSON, XLIFF, PO) |
54
+ | Date formats | Yes | CLDR / `Intl.DateTimeFormat` |
55
+ | Number/currency formats | Yes | CLDR / `Intl.NumberFormat` |
56
+ | Plural rules | Yes | CLDR / ICU MessageFormat |
57
+ | Layout direction | Yes | `dir` attribute, logical CSS, `Directionality` widget |
58
+ | Collation (sort order) | Yes | `Intl.Collator` |
59
+ | Font selection | Yes | Per-script font stacks |
60
+
61
+ ### Key Organization
62
+
63
+ **Semantic naming, not positional:**
64
+
65
+ ```
66
+ ❌ button_1, screen_3_title, modal_close
67
+ ✅ auth.login.submit, dashboard.welcome.title, common.close
68
+ ```
69
+
70
+ Keys are a three-party contract: systems, translators, and developers. Structure by feature domain:
71
+
72
+ ```
73
+ locales/
74
+ en/
75
+ auth.json → auth.login, auth.register, auth.forgotPassword
76
+ dashboard.json → dashboard.welcome, dashboard.stats
77
+ common.json → common.save, common.cancel, common.loading
78
+ ar/
79
+ auth.json
80
+ ...
81
+ ```
82
+
83
+ ### Data Structures and Formats
84
+
85
+ **ICU MessageFormat** — For complex messages (plurals, gender, select):
86
+
87
+ ```
88
+ // Plural (Arabic has 6 forms)
89
+ {count, plural, zero {لا رسائل} one {رسالة واحدة} two {رسالتان} few {# رسائل} many {# رسالة} other {# رسالة}}
90
+
91
+ // Select (gender)
92
+ {gender, select, male {قام بزيارة} female {قامت بزيارة} other {زار}} {place}
93
+ ```
94
+
95
+ **Simple interpolation** — For straightforward strings:
96
+
97
+ ```
98
+ "Hello, {{name}}!"
99
+ "{{count}} items in cart"
100
+ ```
101
+
102
+ **Never concatenate:**
103
+
104
+ ```
105
+ ❌ "You have " + count + " new messages"
106
+ ✅ t('messages.count', { count }) // "You have {count} new messages"
107
+ ```
108
+
109
+ ### Framework-Agnostic Patterns
110
+
111
+ 1. **Locale as explicit parameter** — Never infer locale from global state when formatting; pass it explicitly for testability.
112
+ 2. **Fallback chain** — `ar-SA` → `ar` → `en` (or project default).
113
+ 3. **Missing key policy** — Return key, return default, throw, or log — decide once and enforce.
114
+ 4. **Lazy loading** — Load locale data on demand; don't bundle all languages in the initial payload.
115
+
116
+ ### Code Examples
117
+
118
+ **Dart (Flutter):**
119
+ ```dart
120
+ // ARB file: app_en.arb
121
+ "welcomeMessage": "Hello, {name}!",
122
+ "@welcomeMessage": { "placeholders": { "name": {} } }
123
+
124
+ "itemCount": "{count, plural, =0{No items} one{1 item} other{# items}}",
125
+ "@itemCount": { "placeholders": { "count": {} } }
126
+
127
+ // Usage
128
+ Text(AppLocalizations.of(context)!.welcomeMessage('أحمد'))
129
+ Text(AppLocalizations.of(context)!.itemCount(5))
130
+ ```
131
+
132
+ **TypeScript (react-intl):**
133
+ ```tsx
134
+ <FormattedMessage
135
+ id="welcomeMessage"
136
+ defaultMessage="Hello, {name}!"
137
+ values={{ name: 'أحمد' }}
138
+ />
139
+ <FormattedMessage
140
+ id="itemCount"
141
+ defaultMessage="{count, plural, =0{No items} one{1 item} other{# items}}"
142
+ values={{ count: 5 }}
143
+ />
144
+ ```
145
+
146
+ **Swift (iOS):**
147
+ ```swift
148
+ String(format: NSLocalizedString("welcome_message", comment: ""), "أحمد")
149
+ String(format: NSLocalizedString("item_count", comment: ""), count)
150
+ // Use .stringsdict for plurals
151
+ ```
152
+
153
+ **Kotlin (Android):**
154
+ ```kotlin
155
+ getString(R.string.welcome_message, "أحمد")
156
+ resources.getQuantityString(R.plurals.item_count, count, count)
157
+ ```
158
+
159
+ ---
160
+
161
+ ## 3. Locale Variations
162
+
163
+ ### Arabic
164
+ - **Script:** Right-to-left, connected (cursive)
165
+ - **Numerals:** Western Arabic (0123) and Eastern Arabic (٠١٢٣) — user or region choice
166
+ - **Plurals:** 6 forms (zero, one, two, few, many, other)
167
+ - **Calendar:** Gregorian and Hijri (Islamic)
168
+ - **Example:** `ar-SA`, `ar-EG`, `ar-AE`
169
+
170
+ ### German
171
+ - **Compound words:** Long (e.g., "Schlittschuhlaufen" vs "skating") — layout must accommodate 30%+ expansion
172
+ - **Decimal:** Comma as separator (1.234,56)
173
+ - **Date:** DD.MM.YYYY
174
+ - **Example:** `de-DE`, `de-AT`, `de-CH`
175
+
176
+ ### Japanese / Chinese
177
+ - **No spaces:** Word boundaries differ; line breaking is script-specific
178
+ - **Vertical text:** Optional for Japanese
179
+ - **Multiple scripts:** Japanese mixes Hiragana, Katakana, Kanji
180
+ - **Example:** `ja-JP`, `zh-Hans-CN`, `zh-Hant-TW`
181
+
182
+ ### Hindi
183
+ - **Complex conjuncts:** Devanagari script; conjunct formation affects rendering
184
+ - **Counting:** Different number words (e.g., lakh, crore)
185
+ - **Example:** `hi-IN`
186
+
187
+ ### Turkish
188
+ - **Dotted vs dotless i:** `İ`/`i` vs `I`/`ı` — case conversion is locale-specific; `toUpperCase('i')` in Turkish yields `İ`, not `I`. Classic i18n bug.
189
+ - **Example:** `tr-TR`
190
+
191
+ ---
192
+
193
+ ## 4. Anti-Patterns
194
+
195
+ 1. **String concatenation for sentences** — Breaks in every language with different word order. Use parameterized strings.
196
+
197
+ 2. **Hardcoded date formats** — `MM/DD/YYYY` is wrong for 96% of the world. Use `Intl.DateTimeFormat` or equivalent.
198
+
199
+ 3. **Assuming text length** — German ~30% longer, Chinese ~50% shorter. Design for expansion; avoid fixed-width containers.
200
+
201
+ 4. **Assuming left-to-right** — Arabic, Hebrew, Persian, Urdu are RTL. Use logical properties from day one.
202
+
203
+ 5. **Assuming single script** — Mixed content (e.g., English brand names in Arabic UI) requires BiDi handling.
204
+
205
+ 6. **English plural rule** — `count === 1 ? 'item' : 'items'` fails for Arabic (6 forms), Russian (3 forms), etc. Use ICU plural.
206
+
207
+ 7. **No locale in URLs/APIs** — Backend must know locale for formatting. Pass `Accept-Language` or explicit `locale` param.
208
+
209
+ 8. **Keys as English text** — `"Welcome back"` as key ties you to English. Use semantic keys: `auth.welcomeBack`.
210
+
211
+ 9. **Translating in the UI layer only** — Error messages, validation, API responses, logs shown to users must also be externalized.
212
+
213
+ 10. **Ignoring RTL in layout** — `margin-left`, `padding-right`, `text-align: left` break in RTL. Use `margin-inline-start`, `padding-inline-end`, `text-align: start`.
214
+
215
+ 11. **Single locale in backend** — User preference, not server default. Store and respect per-user locale.
216
+
217
+ 12. **No fallback for missing translations** — Show key or default locale; never blank or crash.
218
+
219
+ 13. **Synchronous loading of all locales** — Bundle size and memory. Lazy load by locale.
220
+
221
+ 14. **Concatenating format strings** — `"Date: " + format(date)` — the format itself may need reordering. Use complete messages.
222
+
223
+ 15. **Assuming ASCII for sorting** — Use `Intl.Collator` for locale-aware collation.
224
+
225
+ ---
226
+
227
+ ## 5. Testing Approach
228
+
229
+ ### Pseudo-Localization
230
+
231
+ - Replace strings with expanded/accented versions to detect truncation and layout bugs
232
+ - Example: `Hello` → `Ĥéļļö` or `[Héllo]` with brackets to detect untranslated strings
233
+
234
+ ### Character Coverage
235
+
236
+ - Test with real Arabic (العربية), Hebrew (עברית), and CJK text
237
+ - BiDi algorithm behaves differently with real text than with placeholders
238
+
239
+ ### Edge Case Locales
240
+
241
+ - `ar-SA` (RTL, Arabic numerals, Hijri)
242
+ - `de-DE` (long compound words)
243
+ - `ja-JP` (no spaces, vertical text)
244
+ - `tr-TR` (dotted i)
245
+ - `hi-IN` (complex script)
246
+
247
+ ### Verification Checklist
248
+
249
+ - [ ] All user-facing strings externalized
250
+ - [ ] No concatenation for building sentences
251
+ - [ ] Date/number/currency use locale APIs
252
+ - [ ] Pluralization uses ICU/CLDR
253
+ - [ ] RTL layout uses logical properties
254
+ - [ ] Missing keys have defined fallback
255
+
256
+ ---
257
+
258
+ ## Quick Reference Checklist
259
+
260
+ - [ ] Strings extracted from day one; no hardcoded user-facing text
261
+ - [ ] Keys are semantic; structure by feature domain
262
+ - [ ] ICU MessageFormat for plurals, gender, select
263
+ - [ ] No string concatenation for sentences
264
+ - [ ] Date/number/currency via `Intl` or platform equivalent
265
+ - [ ] Layout uses logical properties (start/end, not left/right)
266
+ - [ ] Locale passed explicitly; fallback chain defined
267
+ - [ ] Missing keys handled; no blank or crash
268
+ - [ ] Lazy load locale data
269
+ - [ ] Test with real Arabic/Hebrew and pseudo-localization
270
+
271
+ ---
272
+ *Researched: 2026-03-08 | Sources: W3C i18n (w3.org/International), CLDR/ICU, BCP 47 (RFC 5646), IntlPull ICU MessageFormat guide, Locize/EzGlobe i18n anti-patterns*