@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,449 @@
1
+ # Editorial Standards -- Content Foundation Module
2
+
3
+ > **Category:** Content Foundation
4
+ > **Applies to:** All platforms -- Web, iOS, Android, Desktop
5
+ > **Last updated:** 2026-03-14
6
+ > **Sources:** AP Stylebook, Chicago Manual of Style, Microsoft Writing Style Guide, Google Developer Documentation Style Guide, GOV.UK Style Guide, Mailchimp Content Style Guide, Readability Formulas (Flesch, Gunning), W3C WCAG 2.2, Conscious Style Guide
7
+
8
+ Editorial standards govern how text is written across a product: casing, grammar,
9
+ voice, tone, number formatting, date rendering, and inclusive language. Without
10
+ explicit standards, a product drifts toward inconsistency -- "Sign In" on one screen,
11
+ "Log in" on another, "LOGIN" on a third. Standards eliminate ambiguity.
12
+
13
+ ---
14
+
15
+ ## 1. Casing Conventions
16
+
17
+ ### 1.1 Sentence Case vs Title Case
18
+
19
+ | Convention | Rule | Example |
20
+ |----------------|--------------------------------------------|-----------------------|
21
+ | Sentence case | Capitalize only the first word and proper nouns | "Create new project" |
22
+ | Title Case | Capitalize every major word | "Create New Project" |
23
+ | ALL CAPS | Every letter capitalized | "SAVE CHANGES" |
24
+ | lowercase | Every letter lowercase | "save changes" |
25
+
26
+ ### 1.2 When to Use Each
27
+
28
+ | Element | Recommended casing | Rationale |
29
+ |----------------------|--------------------|--------------------------------------------|
30
+ | Page titles | Sentence case | Friendlier, easier to read, less ambiguous |
31
+ | Section headings | Sentence case | Consistent with page titles |
32
+ | Button labels | Sentence case | GOV.UK, Microsoft, most SaaS standard |
33
+ | Menu items | Sentence case | Matches button convention |
34
+ | Tab labels | Sentence case | Consistent with navigation |
35
+ | Table column headers | Sentence case | Easier to scan in data-dense views |
36
+ | Form field labels | Sentence case | "Email address" not "Email Address" |
37
+ | Error messages | Sentence case | Natural language, not a heading |
38
+ | Toast / snackbar | Sentence case | Brief messages, not titles |
39
+ | Legal / brand names | As trademarked | "GitHub" not "Github" or "GITHUB" |
40
+
41
+ **Exceptions:**
42
+ - **iOS and macOS** traditionally use Title Case for buttons and menu items (Apple HIG).
43
+ If building a native Apple app, match the platform convention.
44
+ - **Material Design 3** defaults to ALL CAPS for buttons but allows sentence case.
45
+ Many Android apps now prefer sentence case for readability.
46
+
47
+ ### 1.3 Title Case Rules (When Required)
48
+
49
+ When title case is required (iOS, formal headings), follow these capitalization rules:
50
+
51
+ **Always capitalize:** First and last word, nouns, verbs, adjectives, adverbs, pronouns.
52
+
53
+ **Never capitalize:** Articles (a, an, the), coordinating conjunctions (and, but, or,
54
+ nor, for, yet, so), short prepositions (in, on, at, to, by, of, up) -- unless they
55
+ are the first or last word.
56
+
57
+ | Do | Don't |
58
+ |-----------------------------|-----------------------------|
59
+ | "Sign In to Your Account" | "Sign in to your account" |
60
+ | "Save as Draft" | "Save As Draft" |
61
+ | "Turn On Notifications" | "Turn on Notifications" |
62
+
63
+ ---
64
+
65
+ ## 2. Voice and Tone
66
+
67
+ ### 2.1 Active Voice
68
+
69
+ Active voice puts the subject before the action. It is shorter, clearer, and more
70
+ direct.
71
+
72
+ | Passive (avoid) | Active (prefer) |
73
+ |--------------------------------------------|---------------------------------------|
74
+ | "Your password has been changed." | "You changed your password." |
75
+ | "The file was uploaded successfully." | "File uploaded." |
76
+ | "An error was encountered." | "We encountered an error." |
77
+ | "The form must be completed." | "Complete the form." |
78
+ | "Payment will be processed." | "We'll process your payment." |
79
+
80
+ **When passive is acceptable:**
81
+ - When the actor is unknown or irrelevant: "Your account was created on March 1."
82
+ - When the object is more important: "All data will be encrypted."
83
+ - When active voice would blame the user: "Your file was too large" (passive) vs
84
+ "You uploaded a file that was too large" (active, blame-y).
85
+
86
+ ### 2.2 Second Person ("You")
87
+
88
+ Address the user as "you." Address the product as "we."
89
+
90
+ | Do | Don't |
91
+ |---------------------------------------|---------------------------------------|
92
+ | "You can export your data." | "Users can export their data." |
93
+ | "We'll send you a confirmation." | "A confirmation will be sent." |
94
+ | "Your changes were saved." | "The user's changes were saved." |
95
+
96
+ **Exception:** Legal text, privacy policies, and terms of service use third person
97
+ ("the user," "the customer") for legal precision.
98
+
99
+ ### 2.3 Tone Spectrum
100
+
101
+ Tone is not uniform. It shifts based on context.
102
+
103
+ | Context | Tone | Example |
104
+ |------------------------|-----------------------------|-----------------------------------------|
105
+ | Onboarding | Warm, encouraging | "Great start! Let's set up your team." |
106
+ | Normal workflow | Neutral, clear | "Project created." |
107
+ | Success | Positive, brief | "Changes saved." |
108
+ | Warning | Measured, specific | "This action affects 12 team members." |
109
+ | Error | Calm, solution-oriented | "File too large. Maximum size: 25 MB." |
110
+ | Destructive action | Serious, consequence-focused| "This will permanently delete all data."|
111
+ | Security | Direct, no casualness | "Session expired. Sign in again." |
112
+
113
+ **Never use exclamation marks in error or warning messages.** Reserve them for genuine
114
+ celebration: "You're all set!" is fine after onboarding. "Upload failed!" is hostile.
115
+
116
+ ---
117
+
118
+ ## 3. Reading Level
119
+
120
+ ### 3.1 Flesch-Kincaid Grade Level
121
+
122
+ The Flesch-Kincaid Grade Level formula estimates the US school grade needed to
123
+ understand a text. Lower is better for UI copy.
124
+
125
+ **Target:** Grade 6-8 (ages 11-13). This is the reading level of most successful
126
+ consumer products (Gmail, Slack, Stripe docs).
127
+
128
+ | Grade level | Equivalent | Example products |
129
+ |-------------|-------------------------------|--------------------------------------|
130
+ | 5-6 | Elementary, very accessible | GOV.UK, NHS digital services |
131
+ | 7-8 | General audience | Slack, Gmail, Stripe, Shopify |
132
+ | 9-10 | Above average | Developer documentation |
133
+ | 11-12 | College level | Legal documents, academic papers |
134
+ | 13+ | Post-graduate | Patent filings, regulatory text |
135
+
136
+ ### 3.2 How to Write at Grade 6-8
137
+
138
+ 1. **Short sentences.** Average 15-20 words per sentence. Mix short (8 words) and
139
+ medium (25 words). Never exceed 30 words.
140
+ 2. **Short paragraphs.** 2-4 sentences per paragraph. One idea per paragraph.
141
+ 3. **Common words.** "Use" not "utilize." "Start" not "initiate." "Show" not
142
+ "display." "End" not "terminate."
143
+ 4. **One clause per sentence.** Avoid stacking subordinate clauses.
144
+ - Bad: "When you have completed the form, which will be validated automatically,
145
+ click submit, unless you have previously saved a draft."
146
+ - Good: "Complete the form. It validates automatically. Then click Submit."
147
+ 5. **Front-load meaning.** Put the most important information at the start of the
148
+ sentence. Users scan; they don't read linearly.
149
+
150
+ ### 3.3 Readability Testing
151
+
152
+ **Tools:**
153
+ - [Hemingway Editor](https://hemingwayapp.com) -- Grades text and highlights complex sentences
154
+ - [Readable.com](https://readable.com) -- Multiple readability scores
155
+ - `textstat` Python library -- Automated grade-level scoring in CI
156
+ - Flesch-Kincaid formula: `0.39 * (words/sentences) + 11.8 * (syllables/words) - 15.59`
157
+
158
+ **Integrate into CI:** Run readability checks on user-facing string files. Flag any
159
+ string above grade 10.
160
+
161
+ ---
162
+
163
+ ## 4. Banned and Restricted Terms
164
+
165
+ ### 4.1 Universally Banned
166
+
167
+ These terms are vague, jargon-heavy, or condescending. Replace them.
168
+
169
+ | Banned term | Replacement | Why banned |
170
+ |-------------------|------------------------------|-------------------------------------------|
171
+ | Click here | [Describe the destination] | Meaningless out of context, fails a11y |
172
+ | Please | (remove) | Filler word; commands don't need it |
173
+ | Simply / just | (remove) | Condescending; implies simplicity |
174
+ | Easy / easily | (remove) | What's easy for you isn't easy for others |
175
+ | Obviously | (remove) | If it were obvious, you wouldn't write it |
176
+ | Note that | (remove or restructure) | Filler; lead with the information |
177
+ | In order to | "To" | Three words where one works |
178
+ | Utilize | "Use" | Pretentious; same meaning |
179
+ | Leverage | "Use" | Business jargon |
180
+ | Functionality | "Feature" | Unnecessarily long |
181
+ | Terminate | "End" or "Stop" | Overly formal |
182
+ | Invalid | [State the constraint] | Tells the user nothing specific |
183
+ | Oops / Whoops | (restructure) | Humor in errors is inappropriate |
184
+
185
+ ### 4.2 Context-Restricted Terms
186
+
187
+ | Term | Allowed in | Not allowed in |
188
+ |-------------------|------------------------------|------------------------------------------|
189
+ | Abort | Developer tools, CLI output | Consumer UI |
190
+ | Execute | Code execution contexts | General UI ("Run" instead) |
191
+ | Kill / terminate | Process management, DevOps | Consumer-facing actions |
192
+ | Deprecated | Developer documentation | End-user messaging |
193
+ | Payload | API documentation | End-user messaging |
194
+ | Whitelist/blacklist| (never -- use allowlist/blocklist) | All contexts |
195
+ | Master/slave | (never -- use primary/replica) | All contexts |
196
+ | Sanity check | (never -- use confidence check) | All contexts |
197
+ | Grandfathered | (never -- use legacy) | All contexts |
198
+ | Dummy | (never -- use placeholder/sample) | All contexts |
199
+
200
+ ---
201
+
202
+ ## 5. Abbreviations and Acronyms
203
+
204
+ ### 5.1 Rules
205
+
206
+ 1. **Spell out on first use, then abbreviate.** "Content Management System (CMS)"
207
+ on first mention, then "CMS" throughout. Exception: universally known acronyms
208
+ (URL, PDF, API) don't need expansion.
209
+ 2. **Never abbreviate in error messages.** Errors are stressful; don't add cognitive
210
+ load. "Application Programming Interface error" is wrong too -- say "We couldn't
211
+ connect to the service."
212
+ 3. **Use abbreviations consistently.** If you abbreviate "minutes" as "min" in one
213
+ place, never write "mins" or "minutes" in the same context.
214
+
215
+ ### 5.2 Common Abbreviation Table
216
+
217
+ | Full form | Abbreviation | When to abbreviate |
218
+ |--------------------|--------------|-------------------------------------------|
219
+ | minutes | min | Timestamps, durations, compact UI |
220
+ | seconds | sec or s | Timers, performance metrics |
221
+ | hours | hr | Durations, scheduling UI |
222
+ | megabytes | MB | Always (universally understood) |
223
+ | gigabytes | GB | Always |
224
+ | approximately | (don't abbr)| Write "about" instead |
225
+ | information | (don't abbr)| Write "info" only in very tight space |
226
+ | application | app | Consumer context; "application" in formal |
227
+ | configuration | config | Developer context only |
228
+ | authentication | auth | Developer/internal context only |
229
+ | administrator | admin | Only after establishing the full form |
230
+
231
+ ---
232
+
233
+ ## 6. Number Formatting
234
+
235
+ ### 6.1 Rules
236
+
237
+ 1. **Spell out zero through nine. Use numerals for 10 and above.** "You have three
238
+ tasks" but "You have 12 tasks." Exception: always use numerals in data-dense UI
239
+ (tables, dashboards, metrics).
240
+ 2. **Use numerals with units.** "5 MB" not "five MB." "3 minutes" not "three minutes"
241
+ (in compact UI) but "three minutes ago" is fine in conversational copy.
242
+ 3. **Use locale-aware separators.** US: 1,234.56. Germany: 1.234,56. India: 1,23,456.
243
+ Never hardcode separators -- use `Intl.NumberFormat` or equivalent.
244
+ 4. **Use compact notation for large numbers.** "1.2K followers" not "1,200 followers"
245
+ in compact UI. "1,200 followers" in detailed views.
246
+ 5. **Percentages:** Use the numeral with "%" and no space in English: "25%" not
247
+ "25 %" or "twenty-five percent." Some locales require a space before %; delegate
248
+ to the locale formatter.
249
+ 6. **Currency:** Always use locale-aware formatting. Never hardcode "$" or position.
250
+ "$5.00" in en-US, "5,00 $" in fr-FR, "5,00 EUR" in de-DE.
251
+
252
+ ### 6.2 Ordinals
253
+
254
+ | Language | Pattern | Example | Notes |
255
+ |----------|-----------------|------------------|---------------------------------|
256
+ | English | 1st, 2nd, 3rd | "Your 3rd attempt"| Use sparingly in UI |
257
+ | French | 1er, 2e, 3e | Locale-formatted | Different rules for masculine |
258
+ | German | 1., 2., 3. | "3. Versuch" | Period after numeral |
259
+
260
+ Do not hardcode ordinal suffixes. Use `Intl.PluralRules` with `type: 'ordinal'` or
261
+ equivalent locale-aware formatting.
262
+
263
+ ---
264
+
265
+ ## 7. Date and Time in Copy
266
+
267
+ ### 7.1 Relative vs Absolute
268
+
269
+ | Time distance | Use relative | Use absolute |
270
+ |-----------------|----------------------------|--------------------------------|
271
+ | < 1 minute ago | "Just now" | Never (too precise) |
272
+ | 1-59 minutes | "5 min ago" | Rarely |
273
+ | 1-24 hours | "3 hours ago" | When precision matters |
274
+ | 1-6 days | "Yesterday" or "3 days ago"| Calendar view, scheduling |
275
+ | 7+ days | Rarely | "Mar 7, 2026" (absolute) |
276
+
277
+ ### 7.2 Format Rules
278
+
279
+ 1. **Abbreviate months in compact UI.** "Jan," "Feb," "Mar" -- not "January." Full
280
+ month names in long-form text.
281
+ 2. **Never use ambiguous date formats.** "03/07/2026" means March 7 in the US and
282
+ July 3 in Europe. Use "Mar 7, 2026" or locale-aware formatting.
283
+ 3. **Use 12-hour format in US English, 24-hour elsewhere.** "3:30 PM" (en-US) vs
284
+ "15:30" (most of Europe). Locale-aware formatters handle this.
285
+ 4. **Time zones:** Display time zones when the audience spans zones. Use the user's
286
+ local time by default. "3:30 PM EST" for cross-timezone communication.
287
+ 5. **Duration:** Use "3 hr 45 min" in compact UI. "3 hours and 45 minutes" in
288
+ conversational copy. Never "3:45:00" unless it's a technical timestamp.
289
+
290
+ ### 7.3 Common Patterns
291
+
292
+ ```
293
+ "Last edited 5 min ago"
294
+ "Created Mar 7, 2026"
295
+ "Due tomorrow at 3:00 PM"
296
+ "Updated yesterday"
297
+ "Renews on Apr 1, 2026"
298
+ "Event starts in 2 days"
299
+ ```
300
+
301
+ ---
302
+
303
+ ## 8. Inclusive Language
304
+
305
+ ### 8.1 Principles
306
+
307
+ Inclusive language ensures that no user feels excluded, othered, or diminished by the
308
+ product's text. It is not political correctness -- it is precision. Exclusive language
309
+ is imprecise language.
310
+
311
+ ### 8.2 Gender
312
+
313
+ 1. **Default to "they/them" for unknown individuals.** "When a user signs in, they
314
+ see their dashboard."
315
+ 2. **Use role titles, not gendered titles.** "Chairperson" not "chairman."
316
+ "Salesperson" not "salesman." "Flight attendant" not "stewardess."
317
+ 3. **Avoid "guys" as a universal address.** Use "everyone," "team," "folks," or
318
+ "all."
319
+ 4. **Do not assume binary gender.** If collecting gender, include "Non-binary,"
320
+ "Prefer not to say," or a free-text option.
321
+
322
+ ### 8.3 Ability
323
+
324
+ 1. **Don't use disability as metaphor.** "Blind to the issues," "crippled the system,"
325
+ "deaf to feedback" -- replace with specific language: "unaware of the issues,"
326
+ "severely limited the system," "ignored feedback."
327
+ 2. **Don't describe tasks as "easy."** What is easy for one user may be impossible for
328
+ another due to ability, context, or familiarity.
329
+ 3. **Use person-first or identity-first language as the community prefers.** "Person
330
+ with a disability" (person-first) or "disabled person" (identity-first) -- follow
331
+ the preference of the community you're addressing.
332
+
333
+ ### 8.4 Culture and Geography
334
+
335
+ 1. **Don't assume US-centric conventions.** Date formats, measurement units, holiday
336
+ references, and examples should be localizable. "Thanksgiving" is meaningless in
337
+ most of the world.
338
+ 2. **Avoid idioms that don't translate.** "Hit a home run," "knock it out of the park,"
339
+ "ballpark figure" -- these are culturally specific. Use "succeed," "exceed
340
+ expectations," "rough estimate."
341
+ 3. **Don't use "foreign" to mean "international."** "Foreign" implies otherness.
342
+
343
+ ### 8.5 Banned Metaphors (Engineering Context)
344
+
345
+ These terms have been widely replaced in the industry:
346
+
347
+ | Old term | Replacement | Rationale |
348
+ |------------------|------------------------|---------------------------------------|
349
+ | Whitelist | Allowlist | Avoid racial connotation |
350
+ | Blacklist | Blocklist / Denylist | Avoid racial connotation |
351
+ | Master / Slave | Primary / Replica | Avoid slavery reference |
352
+ | Master branch | Main branch | Industry standard since 2020 |
353
+ | Sanity check | Confidence check | Avoid ableist connotation |
354
+ | Dummy value | Placeholder / Sample | Avoid ableist connotation |
355
+ | Grandfathered | Legacy / Exempt | Avoid reference to discriminatory laws|
356
+ | Native feature | Built-in feature | Avoid colonial connotation |
357
+ | Man-in-the-middle| On-path attack | Gender-neutral |
358
+
359
+ ---
360
+
361
+ ## 9. Common Mistakes in AI-Generated Editorial Content
362
+
363
+ ### 9.1 Inconsistent Casing
364
+
365
+ **The problem:** AI generates "Sign In" in one component, "sign in" in another, and
366
+ "SIGN IN" in a third. Without a casing rule, every generation is a coin flip.
367
+
368
+ **How to fix:** Define casing rules per element type (see Section 1.2). Enforce via
369
+ linting rules on string files.
370
+
371
+ ### 9.2 Passive Voice Overuse
372
+
373
+ **The problem:** AI defaults to passive constructions: "Your file has been uploaded,"
374
+ "The action was completed," "An error was encountered." These are longer and less
375
+ direct than active equivalents.
376
+
377
+ **How to fix:** Prompt for active voice. Review every "was," "has been," "will be"
378
+ construction. Rewrite: "File uploaded," "Action complete," "We hit an error."
379
+
380
+ ### 9.3 Reading Level Inflation
381
+
382
+ **The problem:** AI generates text at grade 11-14 reading level: "The authentication
383
+ mechanism has been configured to facilitate seamless integration with your
384
+ organizational identity provider."
385
+
386
+ **How to fix:** Run readability scoring. Rewrite: "Sign-in is set up to work with your
387
+ company's identity provider."
388
+
389
+ ### 9.4 Filler Words
390
+
391
+ **The problem:** AI pads text with "please note that," "it is important to," "in order
392
+ to," "simply," "just." These add length without meaning.
393
+
394
+ **How to fix:** Delete every "please," "simply," "just," "in order to," "note that"
395
+ and read the sentence again. If the meaning is preserved, the word was filler.
396
+
397
+ ---
398
+
399
+ ## 10. Quick Reference Checklist
400
+
401
+ ### Casing
402
+ - [ ] **Sentence case for all UI elements** (unless platform requires Title Case)
403
+ - [ ] **No ALL CAPS except Material Design buttons** (if following M3 defaults)
404
+ - [ ] **Proper nouns and brand names match official casing**
405
+
406
+ ### Voice
407
+ - [ ] **Active voice by default** (passive only when actor is unknown or blame is an issue)
408
+ - [ ] **Second person for addressing the user** ("You" not "the user")
409
+ - [ ] **"We" for the product** ("We'll send you a confirmation")
410
+
411
+ ### Reading Level
412
+ - [ ] **Target grade 6-8 Flesch-Kincaid**
413
+ - [ ] **Average sentence length 15-20 words**
414
+ - [ ] **No sentences longer than 30 words**
415
+ - [ ] **Common words** ("use" not "utilize")
416
+
417
+ ### Formatting
418
+ - [ ] **Spell out 0-9, numerals for 10+** (exception: data-dense UI uses all numerals)
419
+ - [ ] **Locale-aware number, date, and currency formatting**
420
+ - [ ] **No ambiguous date formats** ("Mar 7" not "03/07")
421
+ - [ ] **Relative time for recent events** ("5 min ago")
422
+
423
+ ### Inclusivity
424
+ - [ ] **"They/them" for unknown individuals**
425
+ - [ ] **No disability metaphors**
426
+ - [ ] **No culturally-specific idioms in translatable text**
427
+ - [ ] **Allowlist/blocklist, primary/replica** (no legacy exclusionary terms)
428
+
429
+ ### Terms
430
+ - [ ] **Banned terms eliminated** (see Section 4)
431
+ - [ ] **Abbreviations spelled out on first use**
432
+ - [ ] **No jargon in consumer-facing copy**
433
+ - [ ] **Consistent term usage across the product** (one term per concept)
434
+
435
+ ---
436
+
437
+ **Sources:**
438
+
439
+ - [AP Stylebook](https://www.apstylebook.com)
440
+ - [Chicago Manual of Style](https://www.chicagomanualofstyle.org)
441
+ - [Microsoft Writing Style Guide](https://learn.microsoft.com/en-us/style-guide/welcome/)
442
+ - [Google Developer Documentation Style Guide](https://developers.google.com/style)
443
+ - [GOV.UK Content Design -- Style Guide](https://www.gov.uk/guidance/style-guide)
444
+ - [Mailchimp Content Style Guide](https://styleguide.mailchimp.com)
445
+ - [Conscious Style Guide](https://consciousstyleguide.com)
446
+ - [Hemingway Editor](https://hemingwayapp.com)
447
+ - [Readability Formulas -- Flesch-Kincaid](https://readabilityformulas.com/flesch-grade-level-readability-formula/)
448
+ - [IETF -- Terminology, Power, and Exclusionary Language](https://www.rfc-editor.org/rfc/rfc8718)
449
+ - [Google -- Writing Inclusive Documentation](https://developers.google.com/style/inclusive-documentation)
@@ -0,0 +1,24 @@
1
+ # Directory Purpose
2
+
3
+ The `foundations` directory establishes the core content principles required to write clear, consistent, and localizable user-facing text.
4
+
5
+ # Key Concepts
6
+
7
+ - UX writing craft and microcopy patterns
8
+ - Dynamic string architecture for localization
9
+ - Editorial voice, grammar, and style governance
10
+ - Terminology management and glossary lifecycle
11
+
12
+ # File Map
13
+
14
+ - `microcopy.md` -- UX writing principles: button labels, error messages, tooltips, empty states, CTAs, placeholders, confirmation dialogs, and platform constraints
15
+ - `content-modeling.md` -- Dynamic string architecture: ICU MessageFormat authoring, pluralization, gender-aware strings, variable interpolation, truncation strategies, and conditional content
16
+ - `editorial-standards.md` -- Editorial governance: casing conventions, reading level, banned terms, number formatting, active voice, and inclusive language
17
+ - `terminology-governance.md` -- Glossary management: term disambiguation, canonical terms, cross-locale alignment, conflict resolution, and term lifecycle
18
+
19
+ # Reading Guide
20
+
21
+ If writing any UI text for the first time -> start with `microcopy.md`
22
+ If strings contain variables, counts, or conditional logic -> read `content-modeling.md`
23
+ If establishing style rules or auditing existing copy -> read `editorial-standards.md`
24
+ If resolving terminology conflicts or building a glossary -> read `terminology-governance.md`