@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
package/PRINCIPLES.md ADDED
@@ -0,0 +1,110 @@
1
+ # Principles
2
+
3
+ Non-negotiable for this standard and every project that adopts it. Rules expire and get
4
+ superseded; these do not.
5
+
6
+ ## Core comparisons
7
+
8
+ ```text
9
+ Simple > Clever
10
+ Explicit > Implicit
11
+ Validated > Trusted
12
+ Tested > Assumed
13
+ Documented > Remembered
14
+ Automated > Manual
15
+ Observable > Blind
16
+ Recoverable > Fragile
17
+ Clear > Novel
18
+ Accessible > Decorative
19
+ Tokens > One-off values
20
+ States complete > Happy path
21
+ Evidence > Opinion
22
+ Secure by default · Least privilege · Fail safely
23
+ ```
24
+
25
+ ## Memory is part of the system
26
+
27
+ A project's truth lives in three places, and only one of them is cheap to keep honest:
28
+
29
+ ```text
30
+ Code — true by definition, unreadable at scale
31
+ Docs — long, authoritative, goes stale silently
32
+ .devia/ — short, indexed, updated in the same change as the code
33
+ ```
34
+
35
+ `.devia/` **points**, it does not duplicate. If the exact SQL lives in `docs/DATABASE.md`, the
36
+ memory records that the table exists and where its definition is — not a second copy that will
37
+ drift.
38
+
39
+ Corollary: a memory file that is allowed to be wrong is worse than no memory file. A false
40
+ registry line is worse than a missing one, because it is trusted.
41
+
42
+ ## Complexity must be earned
43
+
44
+ Do not impose Redis, Kubernetes, microservices, Kafka, Elasticsearch, GraphQL, CDNs, queues,
45
+ extra databases, service meshes or multi-region "because serious apps have them".
46
+
47
+ ```text
48
+ Need demonstrated?
49
+
50
+ YES → implement, record the decision (ADR)
51
+ NO → do not introduce the complexity
52
+ ```
53
+
54
+ The same bar applies to the interface: extra navigation modes, custom components that duplicate
55
+ system ones, motion that communicates nothing, colour tokens for "branding experiments" with no
56
+ product need.
57
+
58
+ **Use when justified. Record the decision.**
59
+
60
+ ## Every new dependency is a liability
61
+
62
+ Before adding a library, a component, or a token, answer:
63
+
64
+ | Question | Why it matters |
65
+ |---|---|
66
+ | Why do we need it? | Feature vs convenience |
67
+ | Does something we already have cover this? | Drift is the default failure |
68
+ | Security track record? | CVEs, maintainer trust |
69
+ | Maintenance? | Last release, bus factor |
70
+ | License? | Compatible with distribution |
71
+ | Cost at runtime / in the bundle? | Performance is a feature |
72
+ | Supply-chain risk? | Typosquatting, install scripts |
73
+ | What states does it need? | Half-built UI is not a component |
74
+
75
+ Adding a dependency is a product decision, not a typing shortcut.
76
+
77
+ ## Nothing undecided becomes a silent truth
78
+
79
+ When the answer is not known, the agent does not pick one quietly and encode it. It implements a
80
+ **declared** policy and records the open question in `.devia/11_GAPS.md`.
81
+
82
+ When the answer *is* known but not built, that is not "we know about it" — it is a line in
83
+ `.devia/12_DEBT.md`, with an ID that is never reused.
84
+
85
+ ## Authoritative sources over taste
86
+
87
+ When taste conflicts with WCAG, ARIA APG, OWASP ASVS, or an adopted rule, the standard wins.
88
+ Sources are listed in [`REFERENCES.md`](REFERENCES.md); they are cited, not paraphrased into
89
+ private folklore.
90
+
91
+ ## Done means verified
92
+
93
+ "Done" is a claim about evidence, not about effort:
94
+
95
+ ```text
96
+ The change works → tests or manual steps stated
97
+ The change is safe → P0 gates pass
98
+ The change is honest → memory updated, unverified parts named
99
+ ```
100
+
101
+ Anything else is a draft.
102
+
103
+ ## Related
104
+
105
+ - Agent behaviour: [`AGENTS.md`](AGENTS.md)
106
+ - Memory doctrine: [`MEMORY.md`](MEMORY.md)
107
+ - Enforcement levels: [`LEVELS.md`](LEVELS.md)
108
+ - Maturity tiers: [`MATURITY.md`](MATURITY.md)
109
+ - Architecture detail: [`standard/engineering/architecture/PRINCIPLES.md`](standard/engineering/architecture/PRINCIPLES.md)
110
+ - Design hierarchy: [`standard/design/principles/design-principles.md`](standard/design/principles/design-principles.md)
package/README.md ADDED
@@ -0,0 +1,125 @@
1
+ # devia
2
+
3
+ **One standard, one memory.** Devia is the single engineering standard for building software
4
+ with AI coding agents — and the living project memory those agents read before they touch
5
+ anything.
6
+
7
+ ```text
8
+ MEMORY (what this project is) → POLICY (rules) → CHECK (devia check) → ENFORCEMENT (CI)
9
+ ```
10
+
11
+ Install it once, run `devia init`, and the project grows a `.devia/` folder. That folder is the
12
+ first thing every agent reads and the last thing every change updates.
13
+
14
+ ## Why it exists
15
+
16
+ An agent that starts cold re-derives the project on every task: it invents APIs, re-litigates
17
+ decisions that were already made, ships a UI with no empty state, and reports "done" because the
18
+ unit tests passed. Documentation does not fix that — documentation goes stale the moment the code
19
+ moves.
20
+
21
+ Devia fixes it with three things that reinforce each other:
22
+
23
+ | | | |
24
+ |---|---|---|
25
+ | **Discipline** | how an agent is allowed to work | `AGENTS.md`, `rules/agent/`, `rules/memory/` |
26
+ | **Standard** | how the software must be built | `standard/engineering/`, `standard/design/`, `rules/`, `checklists/` |
27
+ | **Memory** | what *this* project actually is | `.devia/` in the target repo |
28
+
29
+ ## Quick start
30
+
31
+ ```bash
32
+ npm install -D @schneiderjoseph/devia # the binary it installs is `devia`
33
+ npx devia init # creates .devia/ + agent adapters
34
+ npx devia validate # memory integrity
35
+ npx devia check # production readiness (P0/P1)
36
+ npx devia doctor # adoption + staleness diagnosis
37
+ ```
38
+
39
+ `devia init` writes:
40
+
41
+ ```text
42
+ .devia/
43
+ ├── AGENTS.md # local work contract
44
+ ├── 00_OVERVIEW.md # what this project is, stack, modules
45
+ ├── 01_ARCHITECTURE.md # structure, boundaries, current vs target
46
+ ├── 02_SURFACES.md # pages / endpoints / jobs and where they live
47
+ ├── 03_DATA_MODEL.md
48
+ ├── 04_PERMISSIONS.md
49
+ ├── 05_FLOWS.md
50
+ ├── 06_INTEGRATIONS.md
51
+ ├── 07_DESIGN.md
52
+ ├── 10_NEVER_ALWAYS.md # project rules earned from real incidents
53
+ ├── 11_GAPS.md # registry: decided by nobody yet
54
+ ├── 12_DEBT.md # registry: decided, not built
55
+ ├── 13_RECIPES.md # how to do common tasks in THIS repo
56
+ ├── 14_INDEX.md # where to find what
57
+ ├── impact-map.yaml # change type → files that must be updated
58
+ ├── devia.json # profile, modules, maturity target, pinned version
59
+ └── standard/ # vendored, version-pinned copy of the standard
60
+ ```
61
+
62
+ Plus adapters so every agent gets the same contract: `AGENTS.md` (universal), `CLAUDE.md`,
63
+ `.cursor/rules/devia.mdc`, `.github/copilot-instructions.md`, `.windsurfrules`.
64
+
65
+ ## Rule zero
66
+
67
+ ```text
68
+ Work requested on a repository
69
+
70
+ .devia/ exists? ──NO──► run `devia init` FIRST
71
+ ↓ YES
72
+ Read .devia/AGENTS.md → 00_OVERVIEW → the surface you are touching
73
+
74
+ Work
75
+
76
+ Update .devia/ in the SAME change
77
+ ```
78
+
79
+ An agent that codes without reading the memory, or that ships code without updating it, has
80
+ failed the task — not styled it differently.
81
+
82
+ ## What is in the box
83
+
84
+ | Layer | Where | Content |
85
+ |---|---|---|
86
+ | Work contract | [`AGENTS.md`](AGENTS.md) | Workflow, hard stops, output contract |
87
+ | Principles | [`PRINCIPLES.md`](PRINCIPLES.md) | Simple > clever, complexity earned, dependency liability, evidence > opinion |
88
+ | Memory doctrine | [`MEMORY.md`](MEMORY.md) | Registries, sweep discipline, impact map, staleness |
89
+ | Rules | [`rules/`](rules/README.md) | 138 rules with stable IDs, severity, priority, validation |
90
+ | Engineering | [`standard/engineering/`](standard/engineering/README.md) | Architecture, security (ASVS 5.0), database, API, testing, devops, observability, privacy, payments, AI |
91
+ | Design | [`standard/design/`](standard/design/README.md) | UX, UI, accessibility (WCAG 2.2), states, components, data display, i18n, responsive, anti-patterns |
92
+ | Checklists | [`checklists/`](checklists/README.md) | Engineering + design review gates |
93
+ | Levels | [`LEVELS.md`](LEVELS.md) | Policy → Check → Enforcement |
94
+ | Maturity | [`MATURITY.md`](MATURITY.md) | P0–P3, Bronze → Platinum |
95
+ | Skill pack | [`skills/devia/SKILL.md`](skills/devia/SKILL.md) | Same contract for Cursor, Claude Code, Copilot, Windsurf, Aider |
96
+
97
+ ## Severity and priority
98
+
99
+ ```text
100
+ Rules: MUST · MUST NOT · SHOULD · MAY
101
+ Gates: P0 blocker · P1 required · P2 recommended · P3 optional
102
+ Tiers: Bronze → Silver → Gold (production-ready) → Platinum
103
+ ```
104
+
105
+ A rule without a check is aspirational. A check without CI enforcement is a suggestion.
106
+ See [`LEVELS.md`](LEVELS.md).
107
+
108
+ ## Consolidation
109
+
110
+ Devia absorbs and replaces two earlier standards:
111
+
112
+ - `production-app-standard` → [`standard/engineering/`](standard/engineering/README.md)
113
+ - `design-system-standard` → [`standard/design/`](standard/design/README.md) + design rule IDs
114
+
115
+ Only devia is maintained. See [`MIGRATION.md`](MIGRATION.md).
116
+
117
+ ## Stack assumption
118
+
119
+ Written primarily for Node.js / TypeScript, PostgreSQL, React, Docker and GitHub Actions.
120
+ The rules transfer to any stack; the commands may need adaptation. The memory layer is
121
+ stack-agnostic by construction.
122
+
123
+ ## License
124
+
125
+ MIT — see [`LICENSE`](LICENSE).
package/REFERENCES.md ADDED
@@ -0,0 +1,30 @@
1
+ # Reference sources
2
+
3
+ Devia is built on recognised sources. When detail matters, read the primary document — do not
4
+ paraphrase from memory, and do not copy their text into this repository.
5
+
6
+ | Area | Source | Used for |
7
+ |---|---|---|
8
+ | Application security | OWASP ASVS 5.0 | Security rule spine, `standard/engineering/security/ASVS_5.0/` |
9
+ | Web risk | OWASP Top 10, OWASP Cheat Sheets | Threat framing, control choices |
10
+ | Accessibility | WCAG 2.2 (W3C) | `A11Y-*` rules, contrast, focus, target size, reflow |
11
+ | Accessible patterns | WAI-ARIA Authoring Practices Guide | Component keyboard behaviour (`CMP-*`) |
12
+ | Usability | Nielsen Norman Group heuristics | `UX-*` rules, feedback and status |
13
+ | Design systems | Material, Carbon, Primer, Atlassian, US Web Design System, GOV.UK | Component and token conventions |
14
+ | Semantics | HTML Living Standard, ARIA in HTML | Native-first guidance (`A11Y-003`) |
15
+ | Supply chain | SLSA, OpenSSF Scorecard | Dependency and build controls |
16
+ | Operations | Google SRE practice (SLO, error budgets) | Observability and alerting rules |
17
+ | Privacy | GDPR principles, data-minimisation practice | `PRIV-*` rules |
18
+
19
+ Detail lists:
20
+
21
+ - Engineering: [`standard/engineering/REFERENCES.md`](standard/engineering/REFERENCES.md)
22
+ - Design: [`standard/design/REFERENCES.md`](standard/design/REFERENCES.md)
23
+
24
+ ## Rules for citing
25
+
26
+ - A rule carries at least one `source` entry naming where the obligation comes from.
27
+ - Cite the source, link to it, and write the requirement in your own words.
28
+ - Where devia is stricter than a source, say so in the rule body rather than implying the
29
+ source demands it.
30
+ - Devia interprets these standards; it does not certify against them.
package/VERSION ADDED
@@ -0,0 +1,5 @@
1
+ standard_version: 0.1.0
2
+ rule_schema_version: 1
3
+ token_schema_version: 1
4
+ memory_schema_version: 1
5
+ cli_contract_version: 1
package/bin/devia.mjs ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import process from "node:process";
3
+ import { run } from "../src/cli.mjs";
4
+
5
+ run(process.argv.slice(2))
6
+ .then((code) => {
7
+ process.exitCode = code || 0;
8
+ })
9
+ .catch((err) => {
10
+ console.error(`devia: ${err?.message || err}`);
11
+ if (process.env.DEVIA_DEBUG) console.error(err);
12
+ process.exitCode = 1;
13
+ });
@@ -0,0 +1,39 @@
1
+ # Checklists
2
+
3
+ Walk the checklist for the surface you touched before you claim the work is done. A checklist is
4
+ the human-readable form of the gates in [`../MATURITY.md`](../MATURITY.md); the machine-readable
5
+ form is `devia check`.
6
+
7
+ ## Engineering
8
+
9
+ | Checklist | Use when |
10
+ |---|---|
11
+ | [`engineering/architecture.md`](engineering/architecture.md) | Adding a boundary, a service, a dependency |
12
+ | [`engineering/security.md`](engineering/security.md) | Any auth, data-access or input-handling change |
13
+ | [`engineering/database.md`](engineering/database.md) | Schema, migration, index, retention |
14
+ | [`engineering/api.md`](engineering/api.md) | New or changed endpoint |
15
+ | [`engineering/frontend.md`](engineering/frontend.md) | Client-side engineering |
16
+ | [`engineering/accessibility.md`](engineering/accessibility.md) | Any user-facing surface |
17
+ | [`engineering/testing.md`](engineering/testing.md) | Before calling coverage sufficient |
18
+ | [`engineering/devops.md`](engineering/devops.md) | Pipeline, environment, deploy |
19
+ | [`engineering/performance.md`](engineering/performance.md) | Latency, payload, query cost |
20
+ | [`engineering/incident.md`](engineering/incident.md) | During and after an incident |
21
+ | [`engineering/disaster-recovery.md`](engineering/disaster-recovery.md) | Backup and restore work |
22
+ | [`engineering/release.md`](engineering/release.md) | Definition of done for a feature |
23
+ | [`engineering/production.md`](engineering/production.md) | Before claiming production ready |
24
+
25
+ ## Design
26
+
27
+ | Checklist | Use when |
28
+ |---|---|
29
+ | [`design/ux-review.md`](design/ux-review.md) | Flow, journey or IA change |
30
+ | [`design/ui-review.md`](design/ui-review.md) | Visual change |
31
+ | [`design/accessibility-review.md`](design/accessibility-review.md) | Any interface change |
32
+ | [`design/responsive-review.md`](design/responsive-review.md) | Layout across sizes and inputs |
33
+ | [`design/design-to-code-review.md`](design/design-to-code-review.md) | Implementing a design |
34
+
35
+ ## Rules for using them
36
+
37
+ - A checklist item you did not check is **not verified**, and says so in the report.
38
+ - An item that does not apply is marked not applicable with a reason — never silently dropped.
39
+ - An item that keeps not applying is a bug in the checklist: fix the checklist.
@@ -0,0 +1,11 @@
1
+ # Checklist — Accessibility review
2
+
3
+ - [ ] Keyboard complete for the flow
4
+ - [ ] Visible focus
5
+ - [ ] Names/labels
6
+ - [ ] Contrast AA (text + UI)
7
+ - [ ] Not color-only
8
+ - [ ] Forms: labels, errors, required
9
+ - [ ] Dialogs: APG behavior
10
+ - [ ] Skip/landmarks as needed
11
+ - [ ] Reduced motion respected
@@ -0,0 +1,10 @@
1
+ # Checklist — Design → code handoff
2
+
3
+ - [ ] Token names specified (not only hex screenshots)
4
+ - [ ] Component names match system
5
+ - [ ] States documented
6
+ - [ ] A11y notes (keyboard, names)
7
+ - [ ] Responsive behavior noted
8
+ - [ ] Empty/loading/error included
9
+ - [ ] Content finalized or marked TBD
10
+ - [ ] MUST rules reviewed (`AGENTS.md` output contract)
@@ -0,0 +1,7 @@
1
+ # Checklist — Responsive review
2
+
3
+ - [ ] 320px core flow usable
4
+ - [ ] Tablet acceptable
5
+ - [ ] Desktop density appropriate
6
+ - [ ] Touch targets adequate
7
+ - [ ] Tables/actions strategy on small screens
@@ -0,0 +1,8 @@
1
+ # Checklist — UI review
2
+
3
+ - [ ] Uses tokens (color, type, space, radius)
4
+ - [ ] Hierarchy clear
5
+ - [ ] Component variants from system
6
+ - [ ] Consistent alignment/spacing
7
+ - [ ] Imagery/icons correct
8
+ - [ ] No one-off chrome without justification
@@ -0,0 +1,10 @@
1
+ # Checklist — UX review
2
+
3
+ - [ ] Primary user job clear
4
+ - [ ] Primary action clear
5
+ - [ ] Happy path + failure path
6
+ - [ ] Empty / loading / error states
7
+ - [ ] Irreversible actions confirmed
8
+ - [ ] Nav orientation clear
9
+ - [ ] Copy understandable
10
+ - [ ] Cognitive load acceptable
@@ -0,0 +1,8 @@
1
+ # Checklist — Accessibility
2
+
3
+ - [ ] Keyboard completes primary flows
4
+ - [ ] Accessible names on controls
5
+ - [ ] Alt text where needed
6
+ - [ ] Focus management for dialogs
7
+ - [ ] Contrast reviewed on primary UI
8
+ - [ ] Not color-only status indicators
@@ -0,0 +1,12 @@
1
+ # Checklist — API
2
+
3
+ - [ ] AuthN + AuthZ on sensitive endpoints
4
+ - [ ] Schema validation
5
+ - [ ] Consistent error codes/shape
6
+ - [ ] Correct HTTP statuses
7
+ - [ ] Pagination on large collections
8
+ - [ ] Rate limiting where needed
9
+ - [ ] Idempotency for critical POSTs
10
+ - [ ] Webhook signature verification
11
+ - [ ] OpenAPI/docs updated if public
12
+ - [ ] Request/correlation IDs
@@ -0,0 +1,8 @@
1
+ # Checklist — Architecture
2
+
3
+ - [ ] Problem, users, and sensitive data identified
4
+ - [ ] UI / API / DB boundaries clear
5
+ - [ ] Critical components & SPOFs identified
6
+ - [ ] Recovery approach exists for critical failures
7
+ - [ ] ADRs for irreversible decisions
8
+ - [ ] Architecture doc updated for this change
@@ -0,0 +1,11 @@
1
+ # Checklist — Database
2
+
3
+ - [ ] Schema constraints (PK/FK/unique/check) in place
4
+ - [ ] Indexes reviewed for hot queries
5
+ - [ ] Migrations versioned
6
+ - [ ] No manual prod schema edits
7
+ - [ ] N+1 / slow queries considered
8
+ - [ ] Connection pooling configured
9
+ - [ ] Backup automated
10
+ - [ ] Restore tested
11
+ - [ ] Tenant/user scoping verified
@@ -0,0 +1,9 @@
1
+ # Checklist — DevOps
2
+
3
+ - [ ] PR required for `main`
4
+ - [ ] CI required checks green
5
+ - [ ] Dependency/secret scanning considered
6
+ - [ ] Staging environment exists for risky changes
7
+ - [ ] Deploy path documented
8
+ - [ ] Rollback path known
9
+ - [ ] Env vars documented
@@ -0,0 +1,9 @@
1
+ # Checklist — Disaster recovery
2
+
3
+ - [ ] RPO defined
4
+ - [ ] RTO defined
5
+ - [ ] Backup inventory listed (DB/files/config)
6
+ - [ ] Restore procedure documented
7
+ - [ ] Restore tested within last agreed interval
8
+ - [ ] Failover/owner contacts documented
9
+ - [ ] Post-restore verification checklist exists
@@ -0,0 +1,9 @@
1
+ # Checklist — Frontend
2
+
3
+ - [ ] Loading/empty/error/success states
4
+ - [ ] Form validation + server error display
5
+ - [ ] Responsive for claimed devices
6
+ - [ ] No secrets in client
7
+ - [ ] XSS-safe rendering
8
+ - [ ] Destructive action confirmations
9
+ - [ ] Error boundary/fallback for shell
@@ -0,0 +1,9 @@
1
+ # Checklist — Incident response
2
+
3
+ - [ ] Impact assessed (users/payments/data)
4
+ - [ ] Mitigation applied (rollback/flag/patch)
5
+ - [ ] Stakeholders/users informed if needed
6
+ - [ ] Timeline captured
7
+ - [ ] Root cause identified (best effort)
8
+ - [ ] Follow-up tasks filed with owners
9
+ - [ ] Monitoring/alerts improved if detection was slow
@@ -0,0 +1,7 @@
1
+ # Checklist — Performance
2
+
3
+ - [ ] Latency targets defined for critical endpoints
4
+ - [ ] Heavy work queued off request path when needed
5
+ - [ ] Hot queries profiled/indexed
6
+ - [ ] Caching deliberate (with invalidation idea)
7
+ - [ ] Load test before large traffic events
@@ -0,0 +1,26 @@
1
+ # Checklist — Production readiness
2
+
3
+ You may call it production only if you can honestly check these:
4
+
5
+ - [ ] Security reviewed (authn/authz/secrets/headers)
6
+ - [ ] Authentication tested
7
+ - [ ] Authorization tested (incl. cross-user/tenant)
8
+ - [ ] Database migrations tested
9
+ - [ ] Backup tested
10
+ - [ ] Restore tested
11
+ - [ ] Monitoring active
12
+ - [ ] Alerts active
13
+ - [ ] Error tracking active
14
+ - [ ] Logging active
15
+ - [ ] CI green
16
+ - [ ] Critical E2E/smoke green
17
+ - [ ] Dependencies audited
18
+ - [ ] Secrets secured
19
+ - [ ] HTTPS active
20
+ - [ ] Rate limiting active on abuse surfaces
21
+ - [ ] Rollback tested or feature-flag kill switch ready
22
+ - [ ] Documentation sufficient for operation
23
+ - [ ] Environment variables documented
24
+ - [ ] Privacy requirements reviewed for this product
25
+ - [ ] Disaster recovery notes exist
26
+ - [ ] Critical business workflows tested
@@ -0,0 +1,17 @@
1
+ # Checklist — Feature Definition of Done
2
+
3
+ - [ ] Requirement understood
4
+ - [ ] Business rules documented when non-obvious
5
+ - [ ] Architecture impact reviewed
6
+ - [ ] DB changes migrated
7
+ - [ ] API documented if contract changed
8
+ - [ ] Authorization implemented
9
+ - [ ] Validation implemented
10
+ - [ ] Error handling implemented
11
+ - [ ] Logging considered
12
+ - [ ] Tests written/updated
13
+ - [ ] Security reviewed for the touch area
14
+ - [ ] Accessibility considered for UI
15
+ - [ ] Docs updated
16
+ - [ ] CI passing
17
+ - [ ] Code reviewed (human)
@@ -0,0 +1,33 @@
1
+ # Checklist — Security
2
+
3
+ ## AuthN / AuthZ
4
+ - [ ] Authentication implemented correctly
5
+ - [ ] Authorization verified server-side
6
+ - [ ] Object-level authorization (no IDOR)
7
+ - [ ] Passwords hashed with approved algorithm
8
+ - [ ] Session/token expiration & revocation work
9
+ - [ ] Brute-force protections on auth endpoints
10
+
11
+ ## Input / output
12
+ - [ ] Input validation on every external input
13
+ - [ ] SQL injection protection (parameterized queries)
14
+ - [ ] XSS protection
15
+ - [ ] CSRF protection where applicable
16
+ - [ ] Upload limits / type checks if uploads exist
17
+
18
+ ## Secrets / config
19
+ - [ ] No secrets in source code
20
+ - [ ] `.env` ignored; `.env.example` present
21
+ - [ ] Credentials separated by environment
22
+ - [ ] Secret scanning enabled when possible
23
+
24
+ ## Transport / browser
25
+ - [ ] HTTPS enforced in production
26
+ - [ ] Secure HTTP headers (baseline)
27
+ - [ ] CORS correctly configured
28
+ - [ ] Cookies Secure/HttpOnly/SameSite as applicable
29
+ - [ ] Rate limiting on public abuse surfaces
30
+
31
+ ## Ops
32
+ - [ ] Audit logging for security-relevant events
33
+ - [ ] Dependencies audited
@@ -0,0 +1,8 @@
1
+ # Checklist — Testing
2
+
3
+ - [ ] Unit tests for domain rules touched
4
+ - [ ] Integration tests for API/DB/auth paths touched
5
+ - [ ] Denial tests for authz on sensitive resources
6
+ - [ ] E2E/smoke for critical journeys when UI changes
7
+ - [ ] Regression test for fixed prod bugs
8
+ - [ ] CI runs tests on PR
@@ -0,0 +1,46 @@
1
+ # Coverage
2
+
3
+ > Generated by `npm run build:index`.
4
+
5
+ | Metric | Value |
6
+ |---|---|
7
+ | Rules total | 138 |
8
+ | Active | 138 |
9
+ | MUST | 103 |
10
+ | MUST NOT | 11 |
11
+ | SHOULD | 24 |
12
+ | P0 | 44 |
13
+ | P1 | 70 |
14
+ | P2 | 24 |
15
+ | Automatable | 53 |
16
+ | Domains | 23 |
17
+
18
+ ## By domain
19
+
20
+ | Domain | Rules | P0 |
21
+ |---|---|---|
22
+ | accessibility | 12 | 5 |
23
+ | agent | 11 | 6 |
24
+ | ai | 5 | 2 |
25
+ | api | 6 | 1 |
26
+ | architecture | 6 | 0 |
27
+ | components | 5 | 1 |
28
+ | content | 1 | 0 |
29
+ | data-display | 4 | 0 |
30
+ | database | 8 | 5 |
31
+ | design-system | 3 | 0 |
32
+ | devops | 7 | 4 |
33
+ | interaction | 2 | 0 |
34
+ | localization | 3 | 0 |
35
+ | memory | 11 | 3 |
36
+ | motion | 1 | 0 |
37
+ | observability | 4 | 0 |
38
+ | privacy | 4 | 0 |
39
+ | responsive | 3 | 2 |
40
+ | security | 12 | 7 |
41
+ | states | 4 | 0 |
42
+ | testing | 6 | 3 |
43
+ | ui | 7 | 2 |
44
+ | ux | 13 | 3 |
45
+
46
+ A domain with rules and no automatable check is not a failure — it is a backlog item for [`LEVELS.md`](../LEVELS.md) level 2.
@@ -0,0 +1,8 @@
1
+ # Requirements model
2
+
3
+ 1. **Normative** sources (WCAG, ARIA) define non-negotiable accessibility bars.
4
+ 2. **This standard** maps them into rule IDs agents and CI can cite.
5
+ 3. **Checklists** operationalize reviews.
6
+ 4. **Waivers** are time-boxed exceptions (`schema/waiver.schema.json`).
7
+
8
+ This repository is an **operational standard**, not an international standards body.