@schneiderjoseph/devia 0.1.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 (435) hide show
  1. package/AGENTS.md +149 -0
  2. package/CHANGELOG.md +78 -0
  3. package/GOVERNANCE.md +51 -0
  4. package/LEVELS.md +78 -0
  5. package/LICENSE +21 -0
  6. package/MATURITY.md +79 -0
  7. package/MEMORY.md +122 -0
  8. package/MIGRATION.md +62 -0
  9. package/PRINCIPLES.md +110 -0
  10. package/README.md +125 -0
  11. package/REFERENCES.md +30 -0
  12. package/VERSION +5 -0
  13. package/bin/devia.mjs +13 -0
  14. package/checklists/README.md +39 -0
  15. package/checklists/design/accessibility-review.md +11 -0
  16. package/checklists/design/design-to-code-review.md +10 -0
  17. package/checklists/design/responsive-review.md +7 -0
  18. package/checklists/design/ui-review.md +8 -0
  19. package/checklists/design/ux-review.md +10 -0
  20. package/checklists/engineering/accessibility.md +8 -0
  21. package/checklists/engineering/api.md +12 -0
  22. package/checklists/engineering/architecture.md +8 -0
  23. package/checklists/engineering/database.md +11 -0
  24. package/checklists/engineering/devops.md +9 -0
  25. package/checklists/engineering/disaster-recovery.md +9 -0
  26. package/checklists/engineering/frontend.md +9 -0
  27. package/checklists/engineering/incident.md +9 -0
  28. package/checklists/engineering/performance.md +7 -0
  29. package/checklists/engineering/production.md +26 -0
  30. package/checklists/engineering/release.md +17 -0
  31. package/checklists/engineering/security.md +33 -0
  32. package/checklists/engineering/testing.md +8 -0
  33. package/compliance/COVERAGE.md +46 -0
  34. package/compliance/REQUIREMENTS.md +8 -0
  35. package/compliance/TRACEABILITY.md +160 -0
  36. package/compliance/WAIVERS.md +13 -0
  37. package/package.json +74 -0
  38. package/rules/LIFECYCLE.md +16 -0
  39. package/rules/README.md +166 -0
  40. package/rules/accessibility/A11Y-001.md +42 -0
  41. package/rules/accessibility/A11Y-002.md +41 -0
  42. package/rules/accessibility/A11Y-003.md +40 -0
  43. package/rules/accessibility/A11Y-004.md +40 -0
  44. package/rules/accessibility/A11Y-005.md +39 -0
  45. package/rules/accessibility/A11Y-006.md +42 -0
  46. package/rules/accessibility/A11Y-007.md +39 -0
  47. package/rules/accessibility/A11Y-008.md +40 -0
  48. package/rules/accessibility/A11Y-009.md +41 -0
  49. package/rules/accessibility/A11Y-010.md +40 -0
  50. package/rules/accessibility/A11Y-011.md +39 -0
  51. package/rules/accessibility/A11Y-012.md +39 -0
  52. package/rules/agent/AGT-001.md +42 -0
  53. package/rules/agent/AGT-002.md +39 -0
  54. package/rules/agent/AGT-003.md +38 -0
  55. package/rules/agent/AGT-004.md +39 -0
  56. package/rules/agent/AGT-005.md +38 -0
  57. package/rules/agent/AGT-006.md +38 -0
  58. package/rules/agent/AGT-007.md +38 -0
  59. package/rules/agent/AGT-008.md +38 -0
  60. package/rules/agent/AGT-009.md +39 -0
  61. package/rules/agent/AGT-010.md +38 -0
  62. package/rules/agent/AGT-011.md +38 -0
  63. package/rules/ai/AI-001.md +44 -0
  64. package/rules/ai/AI-002.md +39 -0
  65. package/rules/ai/AI-003.md +40 -0
  66. package/rules/ai/AI-004.md +39 -0
  67. package/rules/ai/AI-005.md +38 -0
  68. package/rules/api/API-001.md +39 -0
  69. package/rules/api/API-002.md +39 -0
  70. package/rules/api/API-003.md +39 -0
  71. package/rules/api/API-004.md +38 -0
  72. package/rules/api/API-005.md +39 -0
  73. package/rules/api/API-006.md +40 -0
  74. package/rules/architecture/ARC-001.md +41 -0
  75. package/rules/architecture/ARC-002.md +43 -0
  76. package/rules/architecture/ARC-003.md +43 -0
  77. package/rules/architecture/ARC-004.md +40 -0
  78. package/rules/architecture/ARC-005.md +39 -0
  79. package/rules/architecture/ARC-006.md +39 -0
  80. package/rules/components/CMP-001.md +39 -0
  81. package/rules/components/CMP-002.md +38 -0
  82. package/rules/components/CMP-003.md +39 -0
  83. package/rules/components/CMP-004.md +40 -0
  84. package/rules/components/CMP-005.md +39 -0
  85. package/rules/content/CNT-001.md +39 -0
  86. package/rules/data-display/DATA-001.md +39 -0
  87. package/rules/data-display/DATA-002.md +39 -0
  88. package/rules/data-display/DATA-003.md +40 -0
  89. package/rules/data-display/DATA-004.md +40 -0
  90. package/rules/database/DB-001.md +43 -0
  91. package/rules/database/DB-002.md +38 -0
  92. package/rules/database/DB-003.md +40 -0
  93. package/rules/database/DB-004.md +44 -0
  94. package/rules/database/DB-005.md +39 -0
  95. package/rules/database/DB-006.md +38 -0
  96. package/rules/database/DB-007.md +40 -0
  97. package/rules/database/DB-008.md +40 -0
  98. package/rules/design-system/DS-001.md +39 -0
  99. package/rules/design-system/DS-002.md +40 -0
  100. package/rules/design-system/DS-003.md +38 -0
  101. package/rules/devops/OPS-001.md +43 -0
  102. package/rules/devops/OPS-002.md +39 -0
  103. package/rules/devops/OPS-003.md +38 -0
  104. package/rules/devops/OPS-004.md +40 -0
  105. package/rules/devops/OPS-005.md +43 -0
  106. package/rules/devops/OPS-006.md +38 -0
  107. package/rules/devops/OPS-007.md +40 -0
  108. package/rules/interaction/INT-001.md +39 -0
  109. package/rules/interaction/INT-002.md +39 -0
  110. package/rules/localization/I18N-001.md +38 -0
  111. package/rules/localization/I18N-002.md +40 -0
  112. package/rules/localization/I18N-003.md +39 -0
  113. package/rules/memory/MEM-001.md +44 -0
  114. package/rules/memory/MEM-002.md +39 -0
  115. package/rules/memory/MEM-003.md +38 -0
  116. package/rules/memory/MEM-004.md +38 -0
  117. package/rules/memory/MEM-005.md +38 -0
  118. package/rules/memory/MEM-006.md +38 -0
  119. package/rules/memory/MEM-007.md +38 -0
  120. package/rules/memory/MEM-008.md +38 -0
  121. package/rules/memory/MEM-009.md +39 -0
  122. package/rules/memory/MEM-010.md +38 -0
  123. package/rules/memory/MEM-011.md +38 -0
  124. package/rules/motion/MOT-001.md +38 -0
  125. package/rules/observability/OBS-001.md +40 -0
  126. package/rules/observability/OBS-002.md +40 -0
  127. package/rules/observability/OBS-003.md +38 -0
  128. package/rules/observability/OBS-004.md +38 -0
  129. package/rules/privacy/PRIV-001.md +38 -0
  130. package/rules/privacy/PRIV-002.md +44 -0
  131. package/rules/privacy/PRIV-003.md +40 -0
  132. package/rules/privacy/PRIV-004.md +41 -0
  133. package/rules/responsive/RWD-001.md +40 -0
  134. package/rules/responsive/RWD-002.md +39 -0
  135. package/rules/responsive/RWD-003.md +39 -0
  136. package/rules/security/SEC-001.md +44 -0
  137. package/rules/security/SEC-002.md +44 -0
  138. package/rules/security/SEC-003.md +41 -0
  139. package/rules/security/SEC-004.md +40 -0
  140. package/rules/security/SEC-005.md +42 -0
  141. package/rules/security/SEC-006.md +40 -0
  142. package/rules/security/SEC-007.md +44 -0
  143. package/rules/security/SEC-008.md +39 -0
  144. package/rules/security/SEC-009.md +40 -0
  145. package/rules/security/SEC-010.md +40 -0
  146. package/rules/security/SEC-011.md +40 -0
  147. package/rules/security/SEC-012.md +40 -0
  148. package/rules/states/STATE-001.md +38 -0
  149. package/rules/states/STATE-002.md +39 -0
  150. package/rules/states/STATE-003.md +39 -0
  151. package/rules/states/STATE-004.md +38 -0
  152. package/rules/testing/TST-001.md +39 -0
  153. package/rules/testing/TST-002.md +39 -0
  154. package/rules/testing/TST-003.md +39 -0
  155. package/rules/testing/TST-004.md +38 -0
  156. package/rules/testing/TST-005.md +40 -0
  157. package/rules/testing/TST-006.md +39 -0
  158. package/rules/ui/UI-001.md +40 -0
  159. package/rules/ui/UI-002.md +38 -0
  160. package/rules/ui/UI-003.md +41 -0
  161. package/rules/ui/UI-004.md +41 -0
  162. package/rules/ui/UI-005.md +41 -0
  163. package/rules/ui/UI-006.md +40 -0
  164. package/rules/ui/UI-007.md +41 -0
  165. package/rules/ux/UX-001.md +41 -0
  166. package/rules/ux/UX-002.md +41 -0
  167. package/rules/ux/UX-003.md +39 -0
  168. package/rules/ux/UX-004.md +39 -0
  169. package/rules/ux/UX-005.md +40 -0
  170. package/rules/ux/UX-006.md +40 -0
  171. package/rules/ux/UX-007.md +44 -0
  172. package/rules/ux/UX-008.md +41 -0
  173. package/rules/ux/UX-009.md +39 -0
  174. package/rules/ux/UX-010.md +40 -0
  175. package/rules/ux/UX-011.md +40 -0
  176. package/rules/ux/UX-012.md +40 -0
  177. package/rules/ux/UX-013.md +39 -0
  178. package/schema/README.md +19 -0
  179. package/schema/checklist.schema.json +34 -0
  180. package/schema/component.schema.json +37 -0
  181. package/schema/project-config.schema.json +70 -0
  182. package/schema/rule.schema.json +104 -0
  183. package/schema/token.schema.json +15 -0
  184. package/schema/waiver.schema.json +33 -0
  185. package/scripts/build-index.mjs +178 -0
  186. package/scripts/validate-links.mjs +43 -0
  187. package/scripts/validate-rules.mjs +42 -0
  188. package/skills/devia/SKILL.md +114 -0
  189. package/src/cli.mjs +107 -0
  190. package/src/commands/check.mjs +483 -0
  191. package/src/commands/doctor.mjs +139 -0
  192. package/src/commands/init.mjs +186 -0
  193. package/src/commands/registry.mjs +154 -0
  194. package/src/commands/rules.mjs +101 -0
  195. package/src/commands/skills.mjs +97 -0
  196. package/src/commands/sync.mjs +83 -0
  197. package/src/commands/validate.mjs +194 -0
  198. package/src/lib/fs.mjs +89 -0
  199. package/src/lib/git.mjs +31 -0
  200. package/src/lib/rules.mjs +85 -0
  201. package/src/lib/ui.mjs +52 -0
  202. package/src/lib/vendor.mjs +74 -0
  203. package/src/lib/version.mjs +19 -0
  204. package/src/lib/yaml.mjs +152 -0
  205. package/standard/README.md +31 -0
  206. package/standard/design/README.md +51 -0
  207. package/standard/design/REFERENCES.md +39 -0
  208. package/standard/design/accessibility/aria.md +7 -0
  209. package/standard/design/accessibility/contrast.md +6 -0
  210. package/standard/design/accessibility/focus.md +6 -0
  211. package/standard/design/accessibility/forms.md +3 -0
  212. package/standard/design/accessibility/keyboard.md +6 -0
  213. package/standard/design/accessibility/reduced-motion.md +3 -0
  214. package/standard/design/accessibility/reflow.md +3 -0
  215. package/standard/design/accessibility/screen-readers.md +3 -0
  216. package/standard/design/accessibility/target-size.md +3 -0
  217. package/standard/design/accessibility/testing.md +3 -0
  218. package/standard/design/accessibility/wcag-2.2.md +16 -0
  219. package/standard/design/accessibility/zoom.md +3 -0
  220. package/standard/design/ai/ai-design-rules.md +8 -0
  221. package/standard/design/ai/anti-patterns.md +1 -0
  222. package/standard/design/ai/compliance-format.md +22 -0
  223. package/standard/design/ai/design-review.md +10 -0
  224. package/standard/design/ai/evals/README.md +1 -0
  225. package/standard/design/ai/instructions.md +7 -0
  226. package/standard/design/ai/prompts/accessibility-review.md +5 -0
  227. package/standard/design/ai/prompts/design-system-review.md +5 -0
  228. package/standard/design/ai/prompts/ui-review.md +5 -0
  229. package/standard/design/ai/prompts/ux-review.md +5 -0
  230. package/standard/design/ai/review-protocol.md +11 -0
  231. package/standard/design/anti-patterns/accessibility.md +7 -0
  232. package/standard/design/anti-patterns/ai-generated.md +6 -0
  233. package/standard/design/anti-patterns/dashboards.md +5 -0
  234. package/standard/design/anti-patterns/forms.md +5 -0
  235. package/standard/design/anti-patterns/responsive.md +5 -0
  236. package/standard/design/anti-patterns/ui.md +6 -0
  237. package/standard/design/anti-patterns/ux.md +5 -0
  238. package/standard/design/components/buttons.md +6 -0
  239. package/standard/design/components/dialogs.md +5 -0
  240. package/standard/design/components/feedback.md +3 -0
  241. package/standard/design/components/forms.md +3 -0
  242. package/standard/design/components/navigation.md +3 -0
  243. package/standard/design/components/tables.md +6 -0
  244. package/standard/design/content/error-messages.md +4 -0
  245. package/standard/design/content/ux-writing.md +5 -0
  246. package/standard/design/data-display/README.md +5 -0
  247. package/standard/design/data-display/currency.md +3 -0
  248. package/standard/design/data-display/dates.md +3 -0
  249. package/standard/design/data-display/density.md +3 -0
  250. package/standard/design/data-display/filtering.md +3 -0
  251. package/standard/design/data-display/localization.md +3 -0
  252. package/standard/design/data-display/numbers.md +3 -0
  253. package/standard/design/data-display/pagination.md +3 -0
  254. package/standard/design/data-display/percentages.md +3 -0
  255. package/standard/design/data-display/sorting.md +3 -0
  256. package/standard/design/data-display/tables.md +3 -0
  257. package/standard/design/data-display/time.md +3 -0
  258. package/standard/design/decisions/ADR-001-token-naming.md +13 -0
  259. package/standard/design/decisions/ADR-002-radius-scale.md +9 -0
  260. package/standard/design/decisions/ADR-003-color-system.md +9 -0
  261. package/standard/design/decisions/ADR-004-component-versioning.md +9 -0
  262. package/standard/design/decisions/README.md +3 -0
  263. package/standard/design/design-system/components.md +9 -0
  264. package/standard/design/design-system/naming.md +19 -0
  265. package/standard/design/design-system/tokens.md +7 -0
  266. package/standard/design/design-system/variants.md +5 -0
  267. package/standard/design/design-system/versioning.md +5 -0
  268. package/standard/design/health/coverage.md +1 -0
  269. package/standard/design/health/dashboard.md +14 -0
  270. package/standard/design/health/maturity-model.md +9 -0
  271. package/standard/design/health/score.md +14 -0
  272. package/standard/design/interaction/README.md +10 -0
  273. package/standard/design/interaction/keyboard.md +3 -0
  274. package/standard/design/interaction/mouse.md +2 -0
  275. package/standard/design/interaction/pen.md +1 -0
  276. package/standard/design/interaction/touch.md +3 -0
  277. package/standard/design/interaction/touchscreen.md +6 -0
  278. package/standard/design/interaction/voice.md +2 -0
  279. package/standard/design/localization/README.md +5 -0
  280. package/standard/design/localization/currency.md +3 -0
  281. package/standard/design/localization/date-time.md +3 -0
  282. package/standard/design/localization/i18n.md +3 -0
  283. package/standard/design/localization/locale-testing.md +3 -0
  284. package/standard/design/localization/number-formatting.md +3 -0
  285. package/standard/design/localization/pluralization.md +3 -0
  286. package/standard/design/localization/rtl.md +3 -0
  287. package/standard/design/localization/text-expansion.md +3 -0
  288. package/standard/design/motion/animation.md +6 -0
  289. package/standard/design/penpot/WORKFLOW.md +27 -0
  290. package/standard/design/platforms/README.md +12 -0
  291. package/standard/design/platforms/desktop/README.md +5 -0
  292. package/standard/design/platforms/mobile/android.md +5 -0
  293. package/standard/design/platforms/mobile/ios.md +5 -0
  294. package/standard/design/platforms/tablet/README.md +5 -0
  295. package/standard/design/platforms/web/README.md +1 -0
  296. package/standard/design/principles/design-principles.md +9 -0
  297. package/standard/design/principles/ui-principles.md +7 -0
  298. package/standard/design/principles/ux-principles.md +14 -0
  299. package/standard/design/references/atlassian.md +3 -0
  300. package/standard/design/references/carbon.md +3 -0
  301. package/standard/design/references/figma-sds.md +5 -0
  302. package/standard/design/references/govuk.md +3 -0
  303. package/standard/design/references/material.md +3 -0
  304. package/standard/design/references/nng.md +3 -0
  305. package/standard/design/references/openui.md +3 -0
  306. package/standard/design/references/primer.md +5 -0
  307. package/standard/design/references/storybook.md +3 -0
  308. package/standard/design/references/uswds.md +3 -0
  309. package/standard/design/references/w3c.md +3 -0
  310. package/standard/design/responsive/desktop.md +4 -0
  311. package/standard/design/responsive/mobile.md +6 -0
  312. package/standard/design/responsive/tablet.md +3 -0
  313. package/standard/design/states/async.md +3 -0
  314. package/standard/design/states/conflict.md +3 -0
  315. package/standard/design/states/empty.md +3 -0
  316. package/standard/design/states/error.md +3 -0
  317. package/standard/design/states/interaction.md +5 -0
  318. package/standard/design/states/loading.md +3 -0
  319. package/standard/design/states/offline.md +3 -0
  320. package/standard/design/states/optimistic.md +3 -0
  321. package/standard/design/states/partial.md +3 -0
  322. package/standard/design/states/permission-denied.md +3 -0
  323. package/standard/design/states/rate-limited.md +3 -0
  324. package/standard/design/states/read-only.md +3 -0
  325. package/standard/design/states/retry.md +3 -0
  326. package/standard/design/states/skeleton.md +3 -0
  327. package/standard/design/states/stale.md +3 -0
  328. package/standard/design/states/success.md +3 -0
  329. package/standard/design/states/timeout.md +3 -0
  330. package/standard/design/states/unsaved-changes.md +3 -0
  331. package/standard/design/ui/color.md +6 -0
  332. package/standard/design/ui/grids.md +5 -0
  333. package/standard/design/ui/icons.md +5 -0
  334. package/standard/design/ui/imagery.md +5 -0
  335. package/standard/design/ui/layout.md +5 -0
  336. package/standard/design/ui/spacing.md +5 -0
  337. package/standard/design/ui/typography.md +6 -0
  338. package/standard/design/ui/visual-design.md +7 -0
  339. package/standard/design/ux/cognitive-load.md +5 -0
  340. package/standard/design/ux/errors.md +6 -0
  341. package/standard/design/ux/feedback.md +5 -0
  342. package/standard/design/ux/forms.md +7 -0
  343. package/standard/design/ux/heuristics.md +14 -0
  344. package/standard/design/ux/information-architecture.md +6 -0
  345. package/standard/design/ux/navigation.md +6 -0
  346. package/standard/design/ux/usability.md +6 -0
  347. package/standard/engineering/README.md +29 -0
  348. package/standard/engineering/REFERENCES.md +42 -0
  349. package/standard/engineering/ai/AI_SECURITY.md +15 -0
  350. package/standard/engineering/ai/PROMPT_SECURITY.md +6 -0
  351. package/standard/engineering/architecture/ADR.md +11 -0
  352. package/standard/engineering/architecture/ARCHITECTURE.md +25 -0
  353. package/standard/engineering/architecture/PRINCIPLES.md +17 -0
  354. package/standard/engineering/architecture/THREAT_MODEL.md +14 -0
  355. package/standard/engineering/backend/API.md +29 -0
  356. package/standard/engineering/backend/BACKGROUND_JOBS.md +12 -0
  357. package/standard/engineering/backend/ERROR_HANDLING.md +26 -0
  358. package/standard/engineering/backend/LOGGING.md +12 -0
  359. package/standard/engineering/compliance/DATA_RETENTION.md +10 -0
  360. package/standard/engineering/compliance/PRIVACY.md +11 -0
  361. package/standard/engineering/database/BACKUPS.md +19 -0
  362. package/standard/engineering/database/DATABASE.md +30 -0
  363. package/standard/engineering/database/MIGRATIONS.md +12 -0
  364. package/standard/engineering/devops/BRANCH_PROTECTION.md +17 -0
  365. package/standard/engineering/devops/CI_CD.md +48 -0
  366. package/standard/engineering/devops/DEPLOYMENT.md +12 -0
  367. package/standard/engineering/devops/DOCKER.md +9 -0
  368. package/standard/engineering/devops/ENVIRONMENTS.md +12 -0
  369. package/standard/engineering/devops/RELEASE.md +6 -0
  370. package/standard/engineering/devops/ROLLBACK.md +9 -0
  371. package/standard/engineering/frontend/ACCESSIBILITY.md +16 -0
  372. package/standard/engineering/frontend/DESIGN_SYSTEM.md +10 -0
  373. package/standard/engineering/frontend/FRONTEND.md +17 -0
  374. package/standard/engineering/frontend/UX.md +15 -0
  375. package/standard/engineering/observability/ALERTING.md +11 -0
  376. package/standard/engineering/observability/INCIDENTS.md +10 -0
  377. package/standard/engineering/observability/MONITORING.md +17 -0
  378. package/standard/engineering/payments/PAYMENTS.md +15 -0
  379. package/standard/engineering/performance/PERFORMANCE.md +19 -0
  380. package/standard/engineering/security/API_SECURITY.md +22 -0
  381. package/standard/engineering/security/ASVS_5.0/V10_MALICIOUS_CODE.md +31 -0
  382. package/standard/engineering/security/ASVS_5.0/V11_BUSINESS_LOGIC.md +31 -0
  383. package/standard/engineering/security/ASVS_5.0/V12_FILES.md +31 -0
  384. package/standard/engineering/security/ASVS_5.0/V13_API.md +31 -0
  385. package/standard/engineering/security/ASVS_5.0/V14_CONFIGURATION.md +31 -0
  386. package/standard/engineering/security/ASVS_5.0/V1_ARCHITECTURE.md +31 -0
  387. package/standard/engineering/security/ASVS_5.0/V2_AUTHENTICATION.md +31 -0
  388. package/standard/engineering/security/ASVS_5.0/V3_SESSION.md +31 -0
  389. package/standard/engineering/security/ASVS_5.0/V4_ACCESS_CONTROL.md +31 -0
  390. package/standard/engineering/security/ASVS_5.0/V5_VALIDATION.md +31 -0
  391. package/standard/engineering/security/ASVS_5.0/V6_CRYPTOGRAPHY.md +31 -0
  392. package/standard/engineering/security/ASVS_5.0/V7_ERROR_HANDLING.md +31 -0
  393. package/standard/engineering/security/ASVS_5.0/V8_DATA_PROTECTION.md +31 -0
  394. package/standard/engineering/security/ASVS_5.0/V9_COMMUNICATION.md +31 -0
  395. package/standard/engineering/security/ASVS_REGISTRY.md +31 -0
  396. package/standard/engineering/security/AUTHENTICATION.md +28 -0
  397. package/standard/engineering/security/AUTHORIZATION.md +27 -0
  398. package/standard/engineering/security/DATA_SECURITY.md +14 -0
  399. package/standard/engineering/security/OWASP_ASVS.md +31 -0
  400. package/standard/engineering/security/SECRETS.md +28 -0
  401. package/standard/engineering/security/SECURITY.md +28 -0
  402. package/standard/engineering/testing/TESTING.md +27 -0
  403. package/templates/agents/AGENTS.md +34 -0
  404. package/templates/agents/CLAUDE.md +33 -0
  405. package/templates/agents/copilot-instructions.md +15 -0
  406. package/templates/agents/cursor.mdc +27 -0
  407. package/templates/agents/windsurfrules.md +17 -0
  408. package/templates/docs/ADR.md +16 -0
  409. package/templates/docs/FEATURE.md +19 -0
  410. package/templates/docs/SECURITY_REPORT.md +15 -0
  411. package/templates/docs/accessibility-review.md +9 -0
  412. package/templates/docs/component.md +9 -0
  413. package/templates/docs/decision-record.md +9 -0
  414. package/templates/docs/design-review.md +9 -0
  415. package/templates/docs/exception.md +9 -0
  416. package/templates/docs/page.md +9 -0
  417. package/templates/docs/pattern.md +9 -0
  418. package/templates/docs/user-flow.md +9 -0
  419. package/templates/github/workflows/app-ci.yml +91 -0
  420. package/templates/project/00_OVERVIEW.md +51 -0
  421. package/templates/project/01_ARCHITECTURE.md +37 -0
  422. package/templates/project/02_SURFACES.md +30 -0
  423. package/templates/project/03_DATA_MODEL.md +31 -0
  424. package/templates/project/04_PERMISSIONS.md +32 -0
  425. package/templates/project/05_FLOWS.md +20 -0
  426. package/templates/project/06_INTEGRATIONS.md +21 -0
  427. package/templates/project/07_DESIGN.md +33 -0
  428. package/templates/project/10_NEVER_ALWAYS.md +26 -0
  429. package/templates/project/11_GAPS.md +18 -0
  430. package/templates/project/12_DEBT.md +19 -0
  431. package/templates/project/13_RECIPES.md +35 -0
  432. package/templates/project/14_INDEX.md +50 -0
  433. package/templates/project/AGENTS.md +51 -0
  434. package/templates/project/README.md +49 -0
  435. package/templates/project/impact-map.yaml +41 -0
@@ -0,0 +1,9 @@
1
+ # ADR-002: Radius scale
2
+
3
+ ## Decision
4
+
5
+ Finite radius tokens (e.g. none/sm/md/lg/full). No per-component random radii.
6
+
7
+ ## Status
8
+
9
+ Accepted
@@ -0,0 +1,9 @@
1
+ # ADR-003: Color system
2
+
3
+ ## Decision
4
+
5
+ Primitive palette → semantic aliases (text, surface, border, status, brand). Themes swap semantics.
6
+
7
+ ## Status
8
+
9
+ Accepted
@@ -0,0 +1,9 @@
1
+ # ADR-004: Component versioning
2
+
3
+ ## Decision
4
+
5
+ Version the component package with semver; breaking a11y/visual API → major.
6
+
7
+ ## Status
8
+
9
+ Accepted
@@ -0,0 +1,3 @@
1
+ # Architecture decision records (design system)
2
+
3
+ Use ADRs for irreversible token/component choices.
@@ -0,0 +1,9 @@
1
+ # Design-system components
2
+
3
+ A component is ready when:
4
+
5
+ 1. Tokens wired
6
+ 2. States documented
7
+ 3. A11y behavior documented (APG link if composite)
8
+ 4. Code + Penpot (or explicit ‘code-only’) stay aligned
9
+ 5. Usage do/don’t in docs
@@ -0,0 +1,19 @@
1
+ # Naming
2
+
3
+ ```text
4
+ {category}.{role}.{variant}.{state?}
5
+ ```
6
+
7
+ Examples:
8
+
9
+ ```text
10
+ color.text.primary
11
+ color.background.surface
12
+ space.4
13
+ radius.md
14
+ button.primary.background
15
+ button.primary.background.hover
16
+ ```
17
+
18
+ - Prefer English kebab/dot tokens stable across products
19
+ - Product branding overrides semantic tokens in a product layer — do not fork core component code per product when tokens suffice
@@ -0,0 +1,7 @@
1
+ # Tokens
2
+
3
+ Canonical rules:
4
+
5
+ - [DS-001](../../../rules/design-system/DS-001.md)
6
+ - [DS-002](../../../rules/design-system/DS-002.md)
7
+ - [DS-003](../../../rules/design-system/DS-003.md)
@@ -0,0 +1,5 @@
1
+ # Variants
2
+
3
+ - Variants are finite and documented (size, tone, emphasis)
4
+ - Do not explode combinatorial variants that are unused
5
+ - Each variant lists required states
@@ -0,0 +1,5 @@
1
+ # Versioning the design system
2
+
3
+ - Semantic versioning for token/component packages
4
+ - Breaking visual changes → major + migration notes
5
+ - Changelog required for shipped token renames
@@ -0,0 +1 @@
1
+ Track which screens/components claim conformance to which rule IDs.
@@ -0,0 +1,14 @@
1
+ # Example dashboard output
2
+
3
+ ```text
4
+ DESIGN SYSTEM HEALTH
5
+
6
+ Accessibility —
7
+ Token coverage —
8
+ Component reuse —
9
+ Responsive —
10
+ UX compliance —
11
+ Documentation —
12
+
13
+ Overall — (fill from app metrics)
14
+ ```
@@ -0,0 +1,9 @@
1
+ # Design-system maturity
2
+
3
+ | Level | Meaning |
4
+ |---|---|
5
+ | 0 | Ad-hoc UI |
6
+ | 1 | Tokens exist |
7
+ | 2 | Core components + a11y MUST pass |
8
+ | 3 | Patterns + states + CI rule validation |
9
+ | 4 | Measured health + AI review gates |
@@ -0,0 +1,14 @@
1
+ # Scoring model (informative)
2
+
3
+ ```text
4
+ Accessibility % of MUST a11y rules passing
5
+ Token coverage UI surfaces using semantic tokens
6
+ Component reuse Screens using system components
7
+ Responsive RWD MUST pass
8
+ UX compliance UX MUST pass
9
+ Documentation Components documented
10
+
11
+ Overall = weighted average (product-defined weights)
12
+ ```
13
+
14
+ Compute in the **application** repo; this standard defines the rubric.
@@ -0,0 +1,10 @@
1
+ # Input methods
2
+
3
+ | Method | Doc |
4
+ |---|---|
5
+ | Mouse | [`mouse.md`](mouse.md) |
6
+ | Keyboard | [`keyboard.md`](keyboard.md) |
7
+ | Touch | [`touch.md`](touch.md) |
8
+ | Touchscreen (fixed) | [`touchscreen.md`](touchscreen.md) |
9
+ | Pen | [`pen.md`](pen.md) |
10
+ | Voice | [`voice.md`](voice.md) |
@@ -0,0 +1,3 @@
1
+ - Full operability (A11Y-004)
2
+ - Visible focus (A11Y-006)
3
+ - APG patterns for composites (A11Y-002)
@@ -0,0 +1,2 @@
1
+ - Hover may enhance, never be the only affordance (RWD-003)
2
+ - Precise targets may be smaller than touch, still ≥ A11Y-010
@@ -0,0 +1 @@
1
+ - Pen precision allows denser UI than finger; still provide finger-safe primary actions when shared devices
@@ -0,0 +1,3 @@
1
+ - Prefer 44×44 primary actions (INT-001)
2
+ - Spacing between targets to reduce mis-taps
3
+ - No hover-only reveal
@@ -0,0 +1,6 @@
1
+ # Fixed touchscreen / kiosk-like
2
+
3
+ - Large primary actions; gloves/lighting may reduce precision
4
+ - Avoid multi-step hover menus
5
+ - Confirm destructive actions (UX-011)
6
+ - High contrast under bright ambient light (A11Y-008)
@@ -0,0 +1,2 @@
1
+ - Voice is progressive enhancement; never the only path to critical tasks unless product explicitly requires it
2
+ - Spoken names must match accessible names
@@ -0,0 +1,5 @@
1
+ # Localization
2
+
3
+ Rules: I18N-001… in `rules/localization/`.
4
+
5
+ Supports multi-locale products (e.g. FR/EN) and multi-currency display without hardcoding one market’s formats.
@@ -0,0 +1,3 @@
1
+ # currency
2
+
3
+ See DATA-001.
@@ -0,0 +1,3 @@
1
+ # date-time
2
+
3
+ Locale formatters; see DATA-002.
@@ -0,0 +1,3 @@
1
+ # i18n
2
+
3
+ Externalize strings; no UI copy only in code comments.
@@ -0,0 +1,3 @@
1
+ # locale-testing
2
+
3
+ Test with long pseudo-locale / real secondary locale before release.
@@ -0,0 +1,3 @@
1
+ # number-formatting
2
+
3
+ Use Intl / locale libraries.
@@ -0,0 +1,3 @@
1
+ # pluralization
2
+
3
+ Use proper plural rules per locale — not English-only ternary.
@@ -0,0 +1,3 @@
1
+ # rtl
2
+
3
+ I18N-003 when RTL in scope.
@@ -0,0 +1,3 @@
1
+ # text-expansion
2
+
3
+ I18N-002.
@@ -0,0 +1,6 @@
1
+ # Animation
2
+
3
+ Canonical rules:
4
+
5
+ - [A11Y-012](../../../rules/accessibility/A11Y-012.md)
6
+ - [MOT-001](../../../rules/motion/MOT-001.md)
@@ -0,0 +1,27 @@
1
+ # Penpot workflow
2
+
3
+ [Penpot](https://github.com/penpot/penpot) is recommended as the **visual** design-system surface (components, libraries, inspect). Self-host optional.
4
+
5
+ ## Source of truth split
6
+
7
+ ```text
8
+ GitHub
9
+ ├── tokens/ ← SSOT for values
10
+ ├── rules (this repo) ← SSOT for policy
11
+ └── component code ← SSOT for behavior
12
+
13
+ Penpot
14
+ └── visual library ← SSOT for layout/comps visuals (synced)
15
+ ```
16
+
17
+ ## Practice
18
+
19
+ 1. Define/change tokens in Git first (or export immediately to Git)
20
+ 2. Update Penpot shared library components
21
+ 3. Publish library; products consume
22
+ 4. Handoff via inspect + token names — not screenshots alone
23
+ 5. AI agents read **this repo + tokens**, not only PNG exports
24
+
25
+ ## MCP / API
26
+
27
+ Prefer structured tokens + this standard over “recreate from screenshot” prompts.
@@ -0,0 +1,12 @@
1
+ # Platforms
2
+
3
+ Rules apply differently by surface. Default assumption is **web**. Override with platform notes when shipping native or touch-first UIs.
4
+
5
+ | Surface | Notes |
6
+ |---|---|
7
+ | [`web/`](web/) | Baseline for this standard |
8
+ | [`mobile/`](mobile/) | iOS/Android app shells |
9
+ | [`tablet/`](tablet/) | Larger touch productivity |
10
+ | [`desktop/`](desktop/) | Dense admin / keyboard-heavy |
11
+
12
+ See also [`interaction/`](../interaction/) for input methods.
@@ -0,0 +1,5 @@
1
+ # Desktop
2
+
3
+ - Keyboard efficiency matters (A11Y-004)
4
+ - Higher information density allowed if contrast/targets still pass
5
+ - Hover enhancements OK if keyboard equivalent exists (RWD-003)
@@ -0,0 +1,5 @@
1
+ # Android
2
+
3
+ - Prefer Material navigation patterns when native
4
+ - TalkBack names required (A11Y-001)
5
+ - Touch targets per Material / A11Y-010
@@ -0,0 +1,5 @@
1
+ # iOS
2
+
3
+ - Prefer platform HIG for navigation chrome; still meet this standard’s a11y intent
4
+ - Touch targets: follow Apple HIG sizing; never below A11Y-010
5
+ - VoiceOver labels required for icon-only controls (A11Y-001)
@@ -0,0 +1,5 @@
1
+ # Tablet
2
+
3
+ - Hybrid: touch-first density with optional keyboard
4
+ - Avoid hover-only actions (RWD-003, INT-001)
5
+ - Tables: prefer card/list alternatives or horizontal scroll with sticky headers + accessible alternative
@@ -0,0 +1 @@
1
+ Web is the default platform. Apply full WCAG-oriented MUST set unless waived.
@@ -0,0 +1,9 @@
1
+ # Design principles
2
+
3
+ 1. **Clarity** — one primary job per view
4
+ 2. **Consistency** — same problem → same pattern
5
+ 3. **Feedback** — every action shows system status
6
+ 4. **Forgiveness** — prevent errors; make recovery obvious
7
+ 5. **Efficiency** — shorten frequent paths; don’t punish experts for novice defaults
8
+ 6. **Inclusion** — accessible by default, not as polish
9
+ 7. **Restraint** — remove until it breaks; then put back one thing
@@ -0,0 +1,7 @@
1
+ # UI principles
2
+
3
+ - Hierarchy: brand/product identity → primary action → supporting content
4
+ - Spacing and type scales come from **tokens**, not ad-hoc pixels
5
+ - One composition per viewport job (avoid dashboard clutter on simple tasks)
6
+ - Prefer full-bleed structure only when the product surface calls for it; otherwise respect content width
7
+ - Motion communicates state changes; it is not decoration by default
@@ -0,0 +1,14 @@
1
+ # UX principles
2
+
3
+ Aligned with NN/g heuristics (interpretive, not a reprint).
4
+
5
+ 1. Visibility of system status
6
+ 2. Match the real world / domain language of users
7
+ 3. User control and freedom (undo, cancel, escape)
8
+ 4. Consistency and standards
9
+ 5. Error prevention
10
+ 6. Recognition rather than recall
11
+ 7. Flexibility and efficiency of use
12
+ 8. Aesthetic and minimalist design (no irrelevant chrome)
13
+ 9. Help users recognize, diagnose, and recover from errors
14
+ 10. Help and documentation when the UI cannot be self-evident
@@ -0,0 +1,3 @@
1
+ # ATLASSIAN
2
+
3
+ Atlassian Design System: product/app shells, denser SaaS patterns.
@@ -0,0 +1,3 @@
1
+ # CARBON
2
+
3
+ IBM Carbon: tokens, themes, data-dense product UI structure.
@@ -0,0 +1,5 @@
1
+ # Figma SDS
2
+
3
+ Simple Design System — reference architecture for variables/components ↔ code. Learn patterns; Penpot remains our visual tool.
4
+
5
+ https://github.com/figma/sds
@@ -0,0 +1,3 @@
1
+ # GOVUK
2
+
3
+ GOV.UK Design System: styles, components, patterns, content design. Excellent for forms/errors/services.
@@ -0,0 +1,3 @@
1
+ # MATERIAL
2
+
3
+ Material Design 3: mobile/responsive/motion patterns — adapt, don’t clone branding.
@@ -0,0 +1,3 @@
1
+ # NNG
2
+
3
+ Nielsen Norman Group: usability heuristics and research. Level 2 — guidelines, not law.
@@ -0,0 +1,3 @@
1
+ # OPENUI
2
+
3
+ OpenUI: evolving web component/primitives standards — watch for native control convergence.
@@ -0,0 +1,5 @@
1
+ # Primer
2
+
3
+ GitHub Primer — design guidelines, components, tooling. Useful reference for product/UI engineering alignment.
4
+
5
+ https://primer.style/
@@ -0,0 +1,3 @@
1
+ # Storybook
2
+
3
+ Workshop for building, documenting, and testing UI components in isolation — complements this standard’s component readiness bar.
@@ -0,0 +1,3 @@
1
+ # USWDS
2
+
3
+ U.S. Web Design System: government-scale patterns and components.
@@ -0,0 +1,3 @@
1
+ # W3C
2
+
3
+ WCAG 2.2 + WAI-ARIA + APG are Level 1 normative sources. Prefer primary W3C text for audits.
@@ -0,0 +1,4 @@
1
+ # Desktop
2
+
3
+ - Prefer density suited to productivity UIs when the product is tool-like
4
+ - Hover affordances MUST have keyboard/touch equivalents
@@ -0,0 +1,6 @@
1
+ # Mobile
2
+
3
+ Canonical rules:
4
+
5
+ - [RWD-001](../../../rules/responsive/RWD-001.md)
6
+ - [RWD-002](../../../rules/responsive/RWD-002.md)
@@ -0,0 +1,3 @@
1
+ # Tablet
2
+
3
+ Reuse mobile/desktop tokens. Avoid a third ad-hoc breakpoint set without token updates.
@@ -0,0 +1,3 @@
1
+ # Async
2
+
3
+ Pending → success | failure | timeout | rate-limited. Offer retry when safe (STATE-002).
@@ -0,0 +1,3 @@
1
+ # Conflict
2
+
3
+ Concurrent edit: show conflict and resolution path.
@@ -0,0 +1,3 @@
1
+ # Empty
2
+
3
+ Explain why empty + primary next action.
@@ -0,0 +1,3 @@
1
+ # Error
2
+
3
+ Human-readable (UX-012) + recovery.
@@ -0,0 +1,5 @@
1
+ # Interaction states
2
+
3
+ Cover: default, hover, focus-visible, active, disabled, selected, read-only.
4
+
5
+ See STATE-001.
@@ -0,0 +1,3 @@
1
+ # Loading
2
+
3
+ Prefer skeletons for content-shaped regions; spinners for indeterminate short waits. Avoid infinite skeletons (see anti-patterns).
@@ -0,0 +1,3 @@
1
+ # Offline
2
+
3
+ Detect offline; queue or disable mutating actions with explanation.
@@ -0,0 +1,3 @@
1
+ # Optimistic UI
2
+
3
+ Rollback + error if server rejects.
@@ -0,0 +1,3 @@
1
+ # Partial data
2
+
3
+ Show available data + which sections failed.
@@ -0,0 +1,3 @@
1
+ # Permission denied
2
+
3
+ STATE-003 — never a silent blank.
@@ -0,0 +1,3 @@
1
+ # Rate limited
2
+
3
+ Say when the user can try again.
@@ -0,0 +1,3 @@
1
+ # Read-only
2
+
3
+ Visually distinct from editable; don’t look disabled-confused.
@@ -0,0 +1,3 @@
1
+ # Retry
2
+
3
+ Safe retries only; idempotent where possible.
@@ -0,0 +1,3 @@
1
+ # Skeleton
2
+
3
+ Match layout; do not skeleton forever.
@@ -0,0 +1,3 @@
1
+ # Stale
2
+
3
+ Indicate outdated data and refresh affordance.
@@ -0,0 +1,3 @@
1
+ # Success
2
+
3
+ Confirm outcome; don’t block unnecessarily.
@@ -0,0 +1,3 @@
1
+ # Timeout
2
+
3
+ Explain timeout; allow retry.
@@ -0,0 +1,3 @@
1
+ # Unsaved changes
2
+
3
+ STATE-004.
@@ -0,0 +1,6 @@
1
+ # Color
2
+
3
+ Canonical rules:
4
+
5
+ - [UI-003](../../../rules/ui/UI-003.md)
6
+ - [UI-004](../../../rules/ui/UI-004.md)
@@ -0,0 +1,5 @@
1
+ # Grids & breakpoints
2
+
3
+ Define breakpoints as tokens. Align columns to a consistent grid.
4
+ Prefer CSS Grid/Flex as in implementation — Penpot auto-layouts should map cleanly to flex/grid mental models.
5
+ See [`responsive/`](../responsive/).
@@ -0,0 +1,5 @@
1
+ # Icons
2
+
3
+ Canonical rules:
4
+
5
+ - [UI-007](../../../rules/ui/UI-007.md)
@@ -0,0 +1,5 @@
1
+ # Imagery
2
+
3
+ - Meaningful images need alt text; decorative images empty alt / CSS background
4
+ - Do not place critical text only inside images
5
+ - Prefer real product/context imagery over abstract decoration when imagery is the message
@@ -0,0 +1,5 @@
1
+ # Layout
2
+
3
+ Canonical rules:
4
+
5
+ - [UI-006](../../../rules/ui/UI-006.md)
@@ -0,0 +1,5 @@
1
+ # Spacing
2
+
3
+ Canonical rules:
4
+
5
+ - [UI-005](../../../rules/ui/UI-005.md)
@@ -0,0 +1,6 @@
1
+ # Typography
2
+
3
+ Canonical rules:
4
+
5
+ - [UI-001](../../../rules/ui/UI-001.md)
6
+ - [UI-002](../../../rules/ui/UI-002.md)
@@ -0,0 +1,7 @@
1
+ # Visual design
2
+
3
+ - Hierarchy beats decoration
4
+ - Elevation/shadows from tokens
5
+ - Radius from tokens
6
+ - Avoid inconsistent corner radii and shadow stacks on adjacent components
7
+ - Dark/light themes via tokens — do not fork components per theme
@@ -0,0 +1,5 @@
1
+ # Cognitive Load
2
+
3
+ Canonical rules:
4
+
5
+ - [UX-013](../../../rules/ux/UX-013.md)
@@ -0,0 +1,6 @@
1
+ # Errors
2
+
3
+ Canonical rules:
4
+
5
+ - [UX-011](../../../rules/ux/UX-011.md)
6
+ - [UX-012](../../../rules/ux/UX-012.md)
@@ -0,0 +1,5 @@
1
+ # Feedback
2
+
3
+ Canonical rules:
4
+
5
+ - [UX-010](../../../rules/ux/UX-010.md)
@@ -0,0 +1,7 @@
1
+ # Forms
2
+
3
+ Canonical rules:
4
+
5
+ - [UX-007](../../../rules/ux/UX-007.md)
6
+ - [UX-008](../../../rules/ux/UX-008.md)
7
+ - [UX-009](../../../rules/ux/UX-009.md)
@@ -0,0 +1,14 @@
1
+ # Heuristics checklist (NN/g-oriented)
2
+
3
+ Use during design review. Severity `SHOULD` unless marked MUST elsewhere.
4
+
5
+ - [ ] Status feedback after actions
6
+ - [ ] Domain language matches users
7
+ - [ ] Cancel / undo / Escape available where expected
8
+ - [ ] Patterns match the rest of the product
9
+ - [ ] Errors prevented (constraints, confirms on irreversible)
10
+ - [ ] Options visible rather than remembered
11
+ - [ ] Shortcuts for frequent power tasks (when relevant)
12
+ - [ ] No decorative noise competing with the task
13
+ - [ ] Error messages explain problem + next step
14
+ - [ ] Help available when flows are non-obvious