arckit-cli 6.1.1__py3-none-any.whl

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 (482) hide show
  1. arckit_cli/__init__.py +1120 -0
  2. arckit_cli-6.1.1.data/data/share/arckit/.arckit/memory/sessions.md +293 -0
  3. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/_partials/RENDERING.md +22 -0
  4. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/_partials/document-control-uae.md +20 -0
  5. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/_partials/document-control-uk.md +16 -0
  6. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/adm-preliminary-template.md +135 -0
  7. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/adr-template.md +588 -0
  8. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/agent-design-template.md +390 -0
  9. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/agent-governance-template.md +90 -0
  10. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/agent-integration-template.md +159 -0
  11. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/agent-inventory-template.md +108 -0
  12. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/agent-maturity-template.md +388 -0
  13. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/agent-security-template.md +213 -0
  14. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/analysis-report-template.md +323 -0
  15. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/application-inventory-template.md +221 -0
  16. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/architecture-board-template.md +194 -0
  17. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/architecture-change-template.md +205 -0
  18. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/architecture-diagram-template.md +610 -0
  19. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/architecture-principles-template.md +632 -0
  20. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/architecture-repository-template.md +107 -0
  21. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/architecture-strategy-template.md +666 -0
  22. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/at-bvergg-template.md +252 -0
  23. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/at-dsgvo-template.md +354 -0
  24. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/at-nisg-template.md +236 -0
  25. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-aescsf-template.md +189 -0
  26. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-ai-assurance-template.md +243 -0
  27. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-disp-attestation-template.md +297 -0
  28. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-dss-template.md +302 -0
  29. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-e8-posture-template.md +377 -0
  30. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-energy-compliance-template.md +189 -0
  31. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-ism-controls-template.md +462 -0
  32. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-ndb-playbook-template.md +288 -0
  33. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-ot-security-template.md +204 -0
  34. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-pia-template.md +394 -0
  35. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-pspf-template.md +380 -0
  36. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/au-soci-cirmp-template.md +206 -0
  37. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/aws-research-template.md +605 -0
  38. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/azure-research-template.md +559 -0
  39. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/backlog-template.md +465 -0
  40. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-aia-template.md +206 -0
  41. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-atip-template.md +192 -0
  42. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-charter-template.md +190 -0
  43. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-cloud-residency-template.md +173 -0
  44. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-fitaa-template.md +156 -0
  45. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-gc-digital-standards-template.md +208 -0
  46. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-itsg-33-template.md +228 -0
  47. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-ocap-template.md +205 -0
  48. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-ola-template.md +171 -0
  49. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-pia-template.md +193 -0
  50. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-pspc-template.md +214 -0
  51. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ca-soia-template.md +219 -0
  52. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/capability-map-template.md +125 -0
  53. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/competitors-template.md +113 -0
  54. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/conformance-assessment-template.md +507 -0
  55. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/data-mesh-contract-template.md +851 -0
  56. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/data-model-template.md +1043 -0
  57. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/data-source-profile-template.md +80 -0
  58. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/datascout-template.md +546 -0
  59. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/devops-template.md +961 -0
  60. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/dfd-template.md +161 -0
  61. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/dld-review-template.md +427 -0
  62. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/dos-requirements-template.md +506 -0
  63. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/dpia-template.md +1200 -0
  64. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/eu-ai-act-template.md +227 -0
  65. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/eu-cra-template.md +176 -0
  66. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/eu-data-act-template.md +175 -0
  67. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/eu-dora-template.md +197 -0
  68. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/eu-dsa-template.md +183 -0
  69. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/eu-nis2-template.md +196 -0
  70. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/eu-rgpd-template.md +198 -0
  71. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/evaluation-criteria-template.md +719 -0
  72. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/finops-template.md +662 -0
  73. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-algorithme-public-template.md +162 -0
  74. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-anssi-carto-template.md +196 -0
  75. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-anssi-template.md +190 -0
  76. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-code-reuse-template.md +190 -0
  77. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-dinum-template.md +195 -0
  78. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-dr-template.md +187 -0
  79. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-ebios-template.md +209 -0
  80. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-irn-template.md +311 -0
  81. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-marche-public-template.md +178 -0
  82. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-pssi-template.md +270 -0
  83. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-rgpd-template.md +195 -0
  84. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/fr-secnumcloud-template.md +188 -0
  85. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/framework-overview-template.md +247 -0
  86. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/gap-analysis-template.md +198 -0
  87. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/gcloud-clarify-template.md +340 -0
  88. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/gcloud-requirements-template.md +370 -0
  89. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/gcp-research-template.md +585 -0
  90. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/glossary-template.md +117 -0
  91. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/gov-code-search-template.md +213 -0
  92. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/gov-landscape-template.md +271 -0
  93. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/gov-reuse-template.md +214 -0
  94. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/grants-template.md +131 -0
  95. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/hld-review-template.md +760 -0
  96. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/jsp-936-template.md +1394 -0
  97. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/maturity-model-template.md +297 -0
  98. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/mlops-template.md +720 -0
  99. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/mod-secure-by-design-template.md +784 -0
  100. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/operationalize-template.md +1016 -0
  101. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/pages-template.html +5121 -0
  102. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/platform-design-template.md +1610 -0
  103. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/presentation-template.md +270 -0
  104. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/principles-compliance-assessment-template.md +389 -0
  105. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/project-plan-template.md +421 -0
  106. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/rationalization-template.md +208 -0
  107. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/requirements-template.md +1026 -0
  108. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/research-findings-template.md +939 -0
  109. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/risk-register-template.md +883 -0
  110. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/roadmap-template.md +787 -0
  111. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/service-assessment-prep-template.md +448 -0
  112. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/servicenow-design-template.md +273 -0
  113. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/sobc-template.md +1127 -0
  114. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/sow-template.md +785 -0
  115. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/stakeholder-drivers-template.md +493 -0
  116. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/story-template.md +889 -0
  117. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/tcop-review-template.md +593 -0
  118. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/tech-note-template.md +59 -0
  119. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/tenders-template.md +124 -0
  120. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/traceability-matrix-template.md +360 -0
  121. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/transition-architecture-template.md +286 -0
  122. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-ai-autonomy-tier-template.md +97 -0
  123. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-ai-charter-template.md +81 -0
  124. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-classification-template.md +86 -0
  125. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-cloud-residency-template.md +136 -0
  126. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-data-sharing-template.md +105 -0
  127. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-digital-records-template.md +97 -0
  128. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-ias-template.md +109 -0
  129. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-pdpl-template.md +105 -0
  130. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-priorities-alignment-template.md +99 -0
  131. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-procurement-template.md +115 -0
  132. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-uaepass-template.md +129 -0
  133. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uae-zero-bureaucracy-template.md +85 -0
  134. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-fs-consumer-duty-board-report-template.md +49 -0
  135. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-fs-consumer-duty-template.md +362 -0
  136. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-fs-ctp-dependency-register-template.md +24 -0
  137. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-fs-ctp-dependency-template.md +321 -0
  138. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-fs-safeguarding-reconciliation-template.md +77 -0
  139. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-fs-safeguarding-template.md +348 -0
  140. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-fs-sca-rts-exemption-matrix-template.md +47 -0
  141. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-fs-sca-rts-template.md +273 -0
  142. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-gov-ai-playbook-template.md +942 -0
  143. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-gov-atrs-template.md +1087 -0
  144. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-mdr-classification-template.md +307 -0
  145. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-nhs-dcb0129-case-template.md +214 -0
  146. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-nhs-dcb0129-hazard-template.md +217 -0
  147. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-nhs-dcb0129-safety-template.md +78 -0
  148. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-nhs-dcb0129-template.md +13 -0
  149. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-nhs-dcb0160-deployment-case-template.md +207 -0
  150. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-nhs-dcb0160-deployment-hazard-template.md +290 -0
  151. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-nhs-dcb0160-deployment-safety-template.md +81 -0
  152. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-nhs-dcb0160-template.md +13 -0
  153. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/uk-nhs-dtac-template.md +341 -0
  154. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/ukgov-secure-by-design-template.md +1031 -0
  155. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-ai-impact-template.md +212 -0
  156. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-ai-rmf-template.md +232 -0
  157. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-fedramp-readiness-template.md +209 -0
  158. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-fedramp-ssp-template.md +352 -0
  159. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-fisma-categorization-template.md +145 -0
  160. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-icam-template.md +216 -0
  161. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-nist-800-53-template.md +222 -0
  162. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-privacy-pia-template.md +191 -0
  163. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-sbom-eo-14028-template.md +253 -0
  164. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/us-zero-trust-template.md +234 -0
  165. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/vendor-profile-template.md +88 -0
  166. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/vendor-scoring-template.md +332 -0
  167. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/wardley-climate-template.md +269 -0
  168. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/wardley-doctrine-template.md +299 -0
  169. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/wardley-gameplay-template.md +346 -0
  170. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/wardley-map-template.md +587 -0
  171. arckit_cli-6.1.1.data/data/share/arckit/.arckit/templates/wardley-value-chain-template.md +256 -0
  172. arckit_cli-6.1.1.data/data/share/arckit/CHANGELOG.md +3554 -0
  173. arckit_cli-6.1.1.data/data/share/arckit/VERSION +1 -0
  174. arckit_cli-6.1.1.data/data/share/arckit/docs/DEPENDENCY-MATRIX.md +929 -0
  175. arckit_cli-6.1.1.data/data/share/arckit/docs/README.md +322 -0
  176. arckit_cli-6.1.1.data/data/share/arckit/docs/WORKFLOW-DIAGRAMS.md +1088 -0
  177. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/adm-preliminary.md +72 -0
  178. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/adr.md +60 -0
  179. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/agent-design.md +71 -0
  180. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/agent-governance.md +61 -0
  181. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/agent-integration.md +59 -0
  182. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/agent-inventory.md +60 -0
  183. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/agent-maturity.md +84 -0
  184. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/agent-security.md +63 -0
  185. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ai-playbook.md +103 -0
  186. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/analyze.md +57 -0
  187. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/application-inventory.md +71 -0
  188. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/application-rationalization.md +71 -0
  189. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/architecture-board.md +60 -0
  190. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/architecture-change.md +73 -0
  191. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/architecture-repository.md +62 -0
  192. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/artifact-health.md +228 -0
  193. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/at-bvergg.md +86 -0
  194. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/at-dsgvo.md +75 -0
  195. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/at-nisg.md +94 -0
  196. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/atrs.md +98 -0
  197. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-aescsf.md +45 -0
  198. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-ai-assurance.md +84 -0
  199. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-disp-attestation.md +90 -0
  200. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-dss.md +76 -0
  201. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-e8-posture.md +73 -0
  202. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-energy-compliance.md +47 -0
  203. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-federal-overlay.md +199 -0
  204. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-ism-controls.md +78 -0
  205. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-ndb-playbook.md +80 -0
  206. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-ot-security.md +39 -0
  207. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-pia.md +72 -0
  208. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-pspf.md +81 -0
  209. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/au-soci-cirmp.md +40 -0
  210. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/autoresearch.md +334 -0
  211. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/aws-research.md +160 -0
  212. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/azure-research.md +157 -0
  213. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/backlog.md +58 -0
  214. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/build.md +132 -0
  215. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/business-capability-map.md +68 -0
  216. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/business-case.md +68 -0
  217. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/c4-layout-science.md +280 -0
  218. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-aia.md +81 -0
  219. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-atip.md +79 -0
  220. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-charter.md +81 -0
  221. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-cloud-residency.md +91 -0
  222. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-fitaa.md +81 -0
  223. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-gc-digital-standards.md +93 -0
  224. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-itsg-33.md +80 -0
  225. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-ocap.md +91 -0
  226. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-ola.md +80 -0
  227. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-pia.md +83 -0
  228. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-pspc.md +96 -0
  229. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/ca-soia.md +87 -0
  230. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/codes-of-practice.md +154 -0
  231. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/competitors.md +202 -0
  232. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/conformance.md +153 -0
  233. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/create.md +61 -0
  234. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/custom-commands.md +236 -0
  235. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/customize.md +108 -0
  236. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/data-mesh-contract.md +239 -0
  237. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/data-model.md +69 -0
  238. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/data-quality-framework.md +118 -0
  239. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/datascout.md +162 -0
  240. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/declaration.md +59 -0
  241. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/design-review.md +66 -0
  242. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/devops.md +96 -0
  243. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/dfd.md +187 -0
  244. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/diagram.md +118 -0
  245. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/dld-review.md +102 -0
  246. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/dos.md +109 -0
  247. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/dpia.md +80 -0
  248. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/enterprise-scale.md +260 -0
  249. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/eu-ai-act.md +82 -0
  250. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/eu-cra.md +90 -0
  251. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/eu-data-act.md +85 -0
  252. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/eu-dora.md +83 -0
  253. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/eu-dsa.md +85 -0
  254. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/eu-nis2.md +82 -0
  255. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/eu-rgpd.md +76 -0
  256. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/evaluate.md +115 -0
  257. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/export-okf.md +70 -0
  258. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/finops.md +117 -0
  259. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-algorithme-public.md +86 -0
  260. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-anssi-carto.md +69 -0
  261. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-anssi.md +79 -0
  262. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-code-reuse.md +86 -0
  263. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-dinum.md +83 -0
  264. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-dr.md +88 -0
  265. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-ebios.md +84 -0
  266. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-irn.md +103 -0
  267. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-marche-public.md +94 -0
  268. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-pssi.md +87 -0
  269. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-rgpd.md +75 -0
  270. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/fr-secnumcloud.md +80 -0
  271. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/framework.md +234 -0
  272. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/gap-analysis.md +70 -0
  273. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/gcloud-clarify.md +108 -0
  274. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/gcloud-competitors.md +61 -0
  275. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/gcloud-search.md +106 -0
  276. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/gcp-research.md +169 -0
  277. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/glossary.md +190 -0
  278. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/gov-code-search.md +119 -0
  279. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/gov-landscape.md +114 -0
  280. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/gov-reuse.md +112 -0
  281. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/govs-007-security.md +93 -0
  282. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/grants.md +106 -0
  283. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/graph-report.md +77 -0
  284. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/health.md +234 -0
  285. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/hld-review.md +110 -0
  286. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/hooks.md +121 -0
  287. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/impact.md +68 -0
  288. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/import-okf.md +67 -0
  289. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/init.md +159 -0
  290. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/jsp-936.md +60 -0
  291. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/knowledge-compounding.md +140 -0
  292. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/maturity-model.md +186 -0
  293. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/mcp-servers.md +329 -0
  294. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/migration.md +333 -0
  295. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/mlops.md +126 -0
  296. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/mod-secure.md +124 -0
  297. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/national-data-strategy.md +115 -0
  298. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/navigator.md +86 -0
  299. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/operationalize.md +143 -0
  300. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/pages.md +227 -0
  301. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/pinecone-mcp.md +128 -0
  302. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/plan.md +66 -0
  303. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/platform-design.md +600 -0
  304. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/presentation.md +137 -0
  305. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/pricing.md +62 -0
  306. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/principles-compliance.md +63 -0
  307. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/principles.md +55 -0
  308. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/procurement.md +57 -0
  309. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/productivity.md +217 -0
  310. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/remote-control.md +151 -0
  311. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/requirements.md +61 -0
  312. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/research.md +65 -0
  313. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/review.md +61 -0
  314. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/risk-management.md +70 -0
  315. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/risk.md +132 -0
  316. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roadmap.md +58 -0
  317. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/README.md +68 -0
  318. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/business-analyst.md +70 -0
  319. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/business-architect.md +70 -0
  320. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/cdo.md +59 -0
  321. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/ciso.md +61 -0
  322. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/cto-cdio.md +59 -0
  323. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/data-architect.md +68 -0
  324. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/data-governance-manager.md +59 -0
  325. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/delivery-manager.md +63 -0
  326. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/devops-engineer.md +55 -0
  327. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/enterprise-architect.md +84 -0
  328. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/it-service-manager.md +55 -0
  329. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/network-architect.md +58 -0
  330. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/performance-analyst.md +67 -0
  331. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/product-manager.md +62 -0
  332. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/security-architect.md +78 -0
  333. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/service-owner.md +58 -0
  334. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/solution-architect.md +75 -0
  335. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/roles/technical-architect.md +68 -0
  336. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/score.md +91 -0
  337. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/sdd-lot1.md +61 -0
  338. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/sdd-lot2.md +62 -0
  339. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/sdd-lot3.md +62 -0
  340. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/search.md +71 -0
  341. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/secure.md +181 -0
  342. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/security-hooks.md +200 -0
  343. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/security.md +62 -0
  344. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/service-assessment.md +47 -0
  345. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/service-design.md +71 -0
  346. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/servicenow.md +152 -0
  347. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/session-memory.md +100 -0
  348. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/sobc.md +129 -0
  349. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/sow.md +125 -0
  350. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/stakeholder-analysis.md +51 -0
  351. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/stakeholders.md +138 -0
  352. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/start.md +276 -0
  353. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/story.md +61 -0
  354. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/strategy.md +211 -0
  355. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/submission-pack.md +72 -0
  356. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/supplier-profile.md +70 -0
  357. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/tcop.md +124 -0
  358. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/template-builder.md +125 -0
  359. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/tenders.md +193 -0
  360. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/testing-plugin-branches.md +79 -0
  361. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/traceability.md +58 -0
  362. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/transition-architecture.md +69 -0
  363. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/trello.md +139 -0
  364. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-ai-autonomy-tier.md +84 -0
  365. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-ai-charter.md +89 -0
  366. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-classification.md +73 -0
  367. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-cloud-residency.md +84 -0
  368. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-data-sharing.md +84 -0
  369. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-digital-records.md +71 -0
  370. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-ias.md +93 -0
  371. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-overlay-maintenance.md +154 -0
  372. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-overlay.md +208 -0
  373. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-pdpl.md +73 -0
  374. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-priorities-alignment.md +82 -0
  375. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-procurement.md +71 -0
  376. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-uaepass.md +83 -0
  377. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uae-zero-bureaucracy.md +80 -0
  378. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-fs-consumer-duty.md +178 -0
  379. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-fs-ctp-dependency.md +181 -0
  380. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-fs-payments-overlay.md +216 -0
  381. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-fs-safeguarding.md +176 -0
  382. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-fs-sca-rts.md +164 -0
  383. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-government/ai-playbook.md +56 -0
  384. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-government/algorithmic-transparency.md +44 -0
  385. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-government/digital-marketplace.md +55 -0
  386. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-government/secure-by-design.md +51 -0
  387. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-government/standards-map.md +108 -0
  388. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-government/technology-code-of-practice.md +63 -0
  389. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-mdr-classification.md +59 -0
  390. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-mod/secure-by-design.md +54 -0
  391. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-nhs-clinical-safety-overlay.md +214 -0
  392. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-nhs-dcb0129.md +64 -0
  393. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-nhs-dcb0160.md +62 -0
  394. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/uk-nhs-dtac.md +55 -0
  395. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/upgrading.md +130 -0
  396. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-ai-impact.md +71 -0
  397. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-ai-rmf.md +70 -0
  398. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-federal-overlay.md +111 -0
  399. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-fedramp-readiness.md +69 -0
  400. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-fedramp-ssp.md +71 -0
  401. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-fisma-categorization.md +68 -0
  402. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-icam.md +70 -0
  403. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-nist-800-53.md +70 -0
  404. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-privacy-pia.md +74 -0
  405. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-sbom-eo-14028.md +71 -0
  406. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/us-zero-trust.md +68 -0
  407. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/wardley-climate.md +122 -0
  408. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/wardley-doctrine.md +120 -0
  409. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/wardley-gameplay.md +123 -0
  410. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/wardley-value-chain.md +130 -0
  411. arckit_cli-6.1.1.data/data/share/arckit/docs/guides/wardley.md +173 -0
  412. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/.agents/plugins/marketplace.json +20 -0
  413. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/README.md +325 -0
  414. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/VERSION +1 -0
  415. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/docs/DEPENDENCY-MATRIX.md +616 -0
  416. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/hooks/arckit-codex-hook.mjs +1270 -0
  417. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/hooks/graph-inject.mjs +1497 -0
  418. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/hooks/graph-rollups.mjs +247 -0
  419. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/hooks/graph-utils.mjs +363 -0
  420. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/hooks/hook-utils.mjs +383 -0
  421. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/hooks/hooks.json +80 -0
  422. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/hooks/okf-frontmatter.mjs +279 -0
  423. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/hooks/project-context-builder.mjs +168 -0
  424. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-codex/hooks/sync-guides.mjs +1120 -0
  425. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-copilot/README.md +68 -0
  426. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-copilot/VERSION +1 -0
  427. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-copilot/docs/DEPENDENCY-MATRIX.md +616 -0
  428. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-opencode/LICENSE +21 -0
  429. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-opencode/README.md +65 -0
  430. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-opencode/VERSION +1 -0
  431. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-opencode/docs/DEPENDENCY-MATRIX.md +616 -0
  432. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-opencode/opencode.json +25 -0
  433. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-vibe/.mcp.json +63 -0
  434. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-vibe/LICENSE +26 -0
  435. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-vibe/README.md +407 -0
  436. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-vibe/VERSION +1 -0
  437. arckit_cli-6.1.1.data/data/share/arckit/extensions/arckit-vibe/vibe-config.toml +62 -0
  438. arckit_cli-6.1.1.data/data/share/arckit/scripts/README.md +680 -0
  439. arckit_cli-6.1.1.data/data/share/arckit/scripts/autoresearch/fixtures/000-global/ARC-000-PRIN-v1.0.md +120 -0
  440. arckit_cli-6.1.1.data/data/share/arckit/scripts/autoresearch/fixtures/001-test-project/ARC-001-STKE-v1.0.md +100 -0
  441. arckit_cli-6.1.1.data/data/share/arckit/scripts/autoresearch/fixtures/001-test-project/README.md +15 -0
  442. arckit_cli-6.1.1.data/data/share/arckit/scripts/autoresearch/program-selfharness.md +748 -0
  443. arckit_cli-6.1.1.data/data/share/arckit/scripts/autoresearch/program.md +269 -0
  444. arckit_cli-6.1.1.data/data/share/arckit/scripts/bash/check-prerequisites.sh +250 -0
  445. arckit_cli-6.1.1.data/data/share/arckit/scripts/bash/common.sh +359 -0
  446. arckit_cli-6.1.1.data/data/share/arckit/scripts/bash/create-project.sh +408 -0
  447. arckit_cli-6.1.1.data/data/share/arckit/scripts/bash/generate-document-id.sh +146 -0
  448. arckit_cli-6.1.1.data/data/share/arckit/scripts/bash/list-projects.sh +359 -0
  449. arckit_cli-6.1.1.data/data/share/arckit/scripts/bash/migrate-filenames.sh +553 -0
  450. arckit_cli-6.1.1.data/data/share/arckit/scripts/bump-version.sh +293 -0
  451. arckit_cli-6.1.1.data/data/share/arckit/scripts/check_doctype_collisions.py +30 -0
  452. arckit_cli-6.1.1.data/data/share/arckit/scripts/check_recipes.py +94 -0
  453. arckit_cli-6.1.1.data/data/share/arckit/scripts/check_references.py +144 -0
  454. arckit_cli-6.1.1.data/data/share/arckit/scripts/convert_vibe_agents.py +198 -0
  455. arckit_cli-6.1.1.data/data/share/arckit/scripts/convert_vibe_skills.py +499 -0
  456. arckit_cli-6.1.1.data/data/share/arckit/scripts/converter.py +2002 -0
  457. arckit_cli-6.1.1.data/data/share/arckit/scripts/create-sdg-repo.py +820 -0
  458. arckit_cli-6.1.1.data/data/share/arckit/scripts/generate-arckit-architecture-hero.py +317 -0
  459. arckit_cli-6.1.1.data/data/share/arckit/scripts/generate-arckit-hero.py +278 -0
  460. arckit_cli-6.1.1.data/data/share/arckit/scripts/generate-release-notes.sh +112 -0
  461. arckit_cli-6.1.1.data/data/share/arckit/scripts/managed-agents/README.md +105 -0
  462. arckit_cli-6.1.1.data/data/share/arckit/scripts/managed-agents/arckit-agent.py +418 -0
  463. arckit_cli-6.1.1.data/data/share/arckit/scripts/push-extensions.sh +424 -0
  464. arckit_cli-6.1.1.data/data/share/arckit/scripts/python/apply_doc_control_marker.py +50 -0
  465. arckit_cli-6.1.1.data/data/share/arckit/scripts/python/common.py +288 -0
  466. arckit_cli-6.1.1.data/data/share/arckit/scripts/python/create-project.py +373 -0
  467. arckit_cli-6.1.1.data/data/share/arckit/scripts/python/generate-document-id.py +96 -0
  468. arckit_cli-6.1.1.data/data/share/arckit/scripts/python/list-projects.py +238 -0
  469. arckit_cli-6.1.1.data/data/share/arckit/scripts/python/migrate_classification.py +94 -0
  470. arckit_cli-6.1.1.data/data/share/arckit/scripts/render-brand-pngs.py +72 -0
  471. arckit_cli-6.1.1.data/data/share/arckit/scripts/standardise-colon.py +128 -0
  472. arckit_cli-6.1.1.data/data/share/arckit/scripts/sync-claude-plugin-layout.py +159 -0
  473. arckit_cli-6.1.1.data/data/share/arckit/scripts/sync-shared-assets.py +132 -0
  474. arckit_cli-6.1.1.data/data/share/arckit/scripts/tag-plugins.sh +65 -0
  475. arckit_cli-6.1.1.data/data/share/arckit/scripts/tests/test-doc-types-dual-registration.mjs +57 -0
  476. arckit_cli-6.1.1.data/data/share/arckit/scripts/tests/test-fde-templates.mjs +100 -0
  477. arckit_cli-6.1.1.data/data/share/arckit/scripts/tests/test-regime-registration.mjs +65 -0
  478. arckit_cli-6.1.1.dist-info/METADATA +1966 -0
  479. arckit_cli-6.1.1.dist-info/RECORD +482 -0
  480. arckit_cli-6.1.1.dist-info/WHEEL +4 -0
  481. arckit_cli-6.1.1.dist-info/entry_points.txt +2 -0
  482. arckit_cli-6.1.1.dist-info/licenses/LICENSE +26 -0
@@ -0,0 +1,159 @@
1
+ #!/usr/bin/env python3
2
+ """Mirror Claude overlay plugins into the local standalone repo layout."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import argparse
7
+ from pathlib import Path
8
+ import shutil
9
+ import sys
10
+
11
+
12
+ REPO_ROOT = Path(__file__).resolve().parents[1]
13
+ CORE_PLUGIN_DIR = REPO_ROOT / "plugins" / "arckit-claude"
14
+ PLUGIN_LAYOUT = (
15
+ ("plugins/arckit-uae", "plugins/uae"),
16
+ ("plugins/arckit-fr", "plugins/fr"),
17
+ ("plugins/arckit-ca", "plugins/ca"),
18
+ ("plugins/arckit-eu", "plugins/eu"),
19
+ ("plugins/arckit-at", "plugins/at"),
20
+ ("plugins/arckit-au", "plugins/au"),
21
+ ("plugins/arckit-au-energy", "plugins/au/energy"),
22
+ ("plugins/arckit-us", "plugins/us"),
23
+ ("plugins/arckit-uk-finance", "plugins/uk/finance"),
24
+ ("plugins/arckit-uk-nhs", "plugins/uk/nhs"),
25
+ ("plugins/arckit-fde", "plugins/fde"),
26
+ ("plugins/arckit-uk-gcloud", "plugins/uk/gcloud"),
27
+ ("plugins/arckit-togaf-adm", "plugins/togaf/adm"),
28
+ ("plugins/arckit-agent-architecture", "plugins/agent/architecture"),
29
+ )
30
+ IGNORED_NAMES = {
31
+ ".git",
32
+ "node_modules",
33
+ ".npm",
34
+ ".pnpm-store",
35
+ }
36
+
37
+
38
+ def ignore_generated(_directory: str, names: list[str]) -> set[str]:
39
+ return {name for name in names if name in IGNORED_NAMES}
40
+
41
+
42
+ def copy_tree(source: Path, destination: Path) -> None:
43
+ if destination.exists():
44
+ shutil.rmtree(destination)
45
+ destination.parent.mkdir(parents=True, exist_ok=True)
46
+ shutil.copytree(source, destination, ignore=ignore_generated)
47
+
48
+
49
+ def expected_files() -> dict[Path, Path]:
50
+ expected: dict[Path, Path] = {}
51
+
52
+ for source_rel, destination_rel in PLUGIN_LAYOUT:
53
+ source = REPO_ROOT / source_rel
54
+ destination = CORE_PLUGIN_DIR / destination_rel
55
+ if not source.is_dir():
56
+ raise FileNotFoundError(f"Source plugin directory not found: {source_rel}")
57
+
58
+ for path in source.rglob("*"):
59
+ if not path.is_file() or any(part in IGNORED_NAMES for part in path.parts):
60
+ continue
61
+ relative = path.relative_to(source)
62
+ target = destination / relative
63
+ if target in expected:
64
+ previous = expected[target].relative_to(REPO_ROOT)
65
+ raise RuntimeError(
66
+ f"Duplicate Claude standalone target {target.relative_to(REPO_ROOT)} "
67
+ f"from {previous} and {path.relative_to(REPO_ROOT)}"
68
+ )
69
+ expected[target] = path
70
+
71
+ return expected
72
+
73
+
74
+ def actual_files() -> set[Path]:
75
+ plugin_root = CORE_PLUGIN_DIR / "plugins"
76
+ if not plugin_root.exists():
77
+ return set()
78
+ return {
79
+ path
80
+ for path in plugin_root.rglob("*")
81
+ if path.is_file() and not any(part in IGNORED_NAMES for part in path.parts)
82
+ }
83
+
84
+
85
+ def check_layout() -> list[str]:
86
+ expected = expected_files()
87
+ actual = actual_files()
88
+ failures: list[str] = []
89
+
90
+ for missing in sorted(set(expected) - actual):
91
+ failures.append(f"missing: {missing.relative_to(REPO_ROOT)}")
92
+
93
+ for extra in sorted(actual - set(expected)):
94
+ failures.append(f"extra: {extra.relative_to(REPO_ROOT)}")
95
+
96
+ for target, source in sorted(expected.items()):
97
+ if target not in actual:
98
+ continue
99
+ if target.read_bytes() != source.read_bytes():
100
+ failures.append(
101
+ "changed: "
102
+ f"{target.relative_to(REPO_ROOT)} differs from {source.relative_to(REPO_ROOT)}"
103
+ )
104
+
105
+ return failures
106
+
107
+
108
+ def sync_layout() -> int:
109
+ plugin_root = CORE_PLUGIN_DIR / "plugins"
110
+ if plugin_root.exists():
111
+ shutil.rmtree(plugin_root)
112
+
113
+ for source_rel, destination_rel in PLUGIN_LAYOUT:
114
+ source = REPO_ROOT / source_rel
115
+ destination = CORE_PLUGIN_DIR / destination_rel
116
+ if not source.is_dir():
117
+ print(f"Source plugin directory not found: {source_rel}", file=sys.stderr)
118
+ return 1
119
+ copy_tree(source, destination)
120
+
121
+ synced_count = len(expected_files())
122
+ print(
123
+ "Synced "
124
+ f"{synced_count} files into {plugin_root.relative_to(REPO_ROOT)}/"
125
+ )
126
+ return 0
127
+
128
+
129
+ def main() -> int:
130
+ parser = argparse.ArgumentParser(
131
+ description=(
132
+ "Synchronize plugins/arckit-claude/plugins/... with the published "
133
+ "tractorjuice/arckit-claude standalone repository layout."
134
+ )
135
+ )
136
+ parser.add_argument(
137
+ "--check",
138
+ action="store_true",
139
+ help="verify the local standalone layout without modifying files",
140
+ )
141
+ args = parser.parse_args()
142
+
143
+ if args.check:
144
+ failures = check_layout()
145
+ if failures:
146
+ print("Claude standalone plugin layout is out of sync:", file=sys.stderr)
147
+ for failure in failures[:50]:
148
+ print(f" {failure}", file=sys.stderr)
149
+ if len(failures) > 50:
150
+ print(f" ... {len(failures) - 50} more", file=sys.stderr)
151
+ return 1
152
+ print("Claude standalone plugin layout is in sync")
153
+ return 0
154
+
155
+ return sync_layout()
156
+
157
+
158
+ if __name__ == "__main__":
159
+ raise SystemExit(main())
@@ -0,0 +1,132 @@
1
+ #!/usr/bin/env python3
2
+ """Sync shared template partials and references from plugins/arckit-claude/ (core) into
3
+ every community plugin tree.
4
+
5
+ Background: community-overlay commands reference partials and references via
6
+ `${CLAUDE_PLUGIN_ROOT}/templates/_partials/...` and `${CLAUDE_PLUGIN_ROOT}/
7
+ references/...`. `${CLAUDE_PLUGIN_ROOT}` resolves to each plugin's own root, so
8
+ those files must exist inside each community plugin tree — not just in core.
9
+ Closes #520.
10
+
11
+ Usage:
12
+
13
+ scripts/sync-shared-assets.py # write copies
14
+ scripts/sync-shared-assets.py --check # exit 1 if any drift (CI guard)
15
+ """
16
+
17
+ from __future__ import annotations
18
+
19
+ import argparse
20
+ import filecmp
21
+ import shutil
22
+ import sys
23
+ from pathlib import Path
24
+
25
+ REPO_ROOT = Path(__file__).resolve().parent.parent
26
+ CORE_PLUGIN = REPO_ROOT / "plugins" / "arckit-claude"
27
+ SHARED_DIRS = ("templates/_partials", "references")
28
+
29
+
30
+ # Plugins exempt from the shared-asset sync: the core plugin itself (the source
31
+ # of truth), and `arckit-fde` — a Claude-only tooling plugin (white-label FDE
32
+ # site generator) that has no governance commands and references none of the
33
+ # shared partials/references, so it must not carry them.
34
+ SYNC_EXEMPT_PLUGINS = {"arckit-claude", "arckit-fde"}
35
+
36
+
37
+ def discover_community_plugins() -> list[Path]:
38
+ """Return every arckit-*/ directory with a Claude Code plugin manifest,
39
+ excluding the core arckit-claude plugin and any other sync-exempt plugin."""
40
+ return sorted(
41
+ p.parent.parent
42
+ for p in REPO_ROOT.glob("plugins/arckit-*/.claude-plugin/plugin.json")
43
+ if p.parent.parent.name not in SYNC_EXEMPT_PLUGINS
44
+ )
45
+
46
+
47
+ def iter_shared_files() -> list[Path]:
48
+ """Return every shared-asset file under the core plugin tree."""
49
+ files: list[Path] = []
50
+ for rel in SHARED_DIRS:
51
+ src_dir = CORE_PLUGIN / rel
52
+ if not src_dir.exists():
53
+ continue
54
+ files.extend(sorted(p for p in src_dir.rglob("*") if p.is_file()))
55
+ return files
56
+
57
+
58
+ def relative_to_core(path: Path) -> Path:
59
+ return path.relative_to(CORE_PLUGIN)
60
+
61
+
62
+ def check(community_plugins: list[Path], shared: list[Path]) -> int:
63
+ drift: list[tuple[Path, str]] = [] # (path, reason)
64
+ for plugin in community_plugins:
65
+ for src in shared:
66
+ dst = plugin / relative_to_core(src)
67
+ if not dst.exists():
68
+ drift.append((dst, "missing"))
69
+ elif not filecmp.cmp(src, dst, shallow=False):
70
+ drift.append((dst, "drifted from core"))
71
+ if drift:
72
+ print("Shared-asset drift detected:", file=sys.stderr)
73
+ for path, reason in drift:
74
+ print(f" {path.relative_to(REPO_ROOT)} — {reason}", file=sys.stderr)
75
+ print(
76
+ "\nRun `scripts/sync-shared-assets.py` to regenerate.",
77
+ file=sys.stderr,
78
+ )
79
+ return 1
80
+ print(
81
+ f"All {len(shared)} shared assets present in "
82
+ f"{len(community_plugins)} community plugins."
83
+ )
84
+ return 0
85
+
86
+
87
+ def write(community_plugins: list[Path], shared: list[Path]) -> int:
88
+ written = 0
89
+ for plugin in community_plugins:
90
+ for src in shared:
91
+ dst = plugin / relative_to_core(src)
92
+ dst.parent.mkdir(parents=True, exist_ok=True)
93
+ if dst.exists() and filecmp.cmp(src, dst, shallow=False):
94
+ continue
95
+ shutil.copy2(src, dst)
96
+ written += 1
97
+ print(f" {dst.relative_to(REPO_ROOT)}")
98
+ print(
99
+ f"\nSynced {written} file(s) into {len(community_plugins)} community plugin(s)."
100
+ )
101
+ return 0
102
+
103
+
104
+ def main() -> int:
105
+ parser = argparse.ArgumentParser(description=__doc__)
106
+ parser.add_argument(
107
+ "--check",
108
+ action="store_true",
109
+ help="Exit non-zero on drift; do not write.",
110
+ )
111
+ args = parser.parse_args()
112
+
113
+ community_plugins = discover_community_plugins()
114
+ shared = iter_shared_files()
115
+
116
+ if not community_plugins:
117
+ print("No community plugins discovered.", file=sys.stderr)
118
+ return 1
119
+ if not shared:
120
+ print(
121
+ f"No shared assets discovered under {CORE_PLUGIN}/{{{','.join(SHARED_DIRS)}}}",
122
+ file=sys.stderr,
123
+ )
124
+ return 1
125
+
126
+ if args.check:
127
+ return check(community_plugins, shared)
128
+ return write(community_plugins, shared)
129
+
130
+
131
+ if __name__ == "__main__":
132
+ sys.exit(main())
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # tag-plugins.sh — Create per-plugin Claude Code native tags after the umbrella tag.
5
+ #
6
+ # The umbrella tag `vX.Y.Z` triggers `.github/workflows/release.yml`. Each
7
+ # individual plugin also gets a native tag `<plugin-name>--vX.Y.Z` for the
8
+ # Claude Code plugin system's bookkeeping (resolving exact versions from
9
+ # marketplace history, etc.).
10
+ #
11
+ # Usage: ./scripts/tag-plugins.sh <version>
12
+ # Example: ./scripts/tag-plugins.sh 5.0.0
13
+
14
+ VERSION="${1:-}"
15
+ if [[ -z "$VERSION" ]]; then
16
+ echo "Usage: $0 <version>" >&2
17
+ echo "Example: $0 5.0.0" >&2
18
+ exit 1
19
+ fi
20
+
21
+ if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
22
+ echo "Error: version must be semver (X.Y.Z), got: $VERSION" >&2
23
+ exit 1
24
+ fi
25
+
26
+ # Auto-discover plugin directories: anything containing a Claude Code manifest.
27
+ # Avoids the manual-edit gotcha caught mid-v5.4.0 release where a new plugin
28
+ # (arckit-uk-nhs) shipped without its tag because the array wasn't updated.
29
+ mapfile -t PLUGINS < <(
30
+ find . -maxdepth 4 -path '*/.claude-plugin/plugin.json' -not -path '*/node_modules/*' \
31
+ | sed -E 's|^\./||; s|/\.claude-plugin/plugin\.json$||' \
32
+ | sort
33
+ )
34
+
35
+ if [[ ${#PLUGINS[@]} -eq 0 ]]; then
36
+ echo "Error: no plugins discovered (no */.claude-plugin/plugin.json files found)" >&2
37
+ exit 1
38
+ fi
39
+
40
+ CREATED=0
41
+ SKIPPED=0
42
+
43
+ for plugin_dir in "${PLUGINS[@]}"; do
44
+ manifest="$plugin_dir/.claude-plugin/plugin.json"
45
+ if [[ ! -f "$manifest" ]]; then
46
+ echo "Skipping $plugin_dir (no manifest)" >&2
47
+ continue
48
+ fi
49
+ plugin_name=$(python3 -c "import json; print(json.load(open('$manifest'))['name'])")
50
+ tag="${plugin_name}--v${VERSION}"
51
+
52
+ if git rev-parse "$tag" >/dev/null 2>&1; then
53
+ echo "Tag $tag already exists, skipping"
54
+ SKIPPED=$((SKIPPED + 1))
55
+ continue
56
+ fi
57
+
58
+ echo "Creating tag $tag"
59
+ git tag -a "$tag" -m "$plugin_name $VERSION"
60
+ git push origin "$tag"
61
+ CREATED=$((CREATED + 1))
62
+ done
63
+
64
+ echo ""
65
+ echo "Done — created $CREATED native plugin tag(s), skipped $SKIPPED already-existing tag(s)."
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Dual-registration test for ArcKit doc-type codes.
4
+ *
5
+ * Asserts that every code in `plugins/arckit-claude/config/doc-types.mjs` also appears
6
+ * in the document-types allow-list table inside `plugins/arckit-claude/commands/pages.md`,
7
+ * and vice versa. The two registries must stay in sync; without this test the
8
+ * silent-omission failure mode (PR #317) recurs whenever a new overlay lands.
9
+ *
10
+ * Exit 0 = sync. Exit 1 = mismatch (prints the diff).
11
+ *
12
+ * Note on regex: pages.md uses the table format `| | CODE | \`ARC-*-CODE-*.md\` | Name |`
13
+ * (empty first column for grouping). We extract CODE from the second cell when the
14
+ * first cell is empty AND the third cell looks like an `ARC-*-CODE-*.md` glob, which
15
+ * uniquely identifies type-code rows and excludes section headers / unrelated tables.
16
+ */
17
+
18
+ import { readFile } from 'node:fs/promises';
19
+ import { fileURLToPath, pathToFileURL } from 'node:url';
20
+ import { dirname, resolve } from 'node:path';
21
+
22
+ const __dirname = dirname(fileURLToPath(import.meta.url));
23
+ const repoRoot = resolve(__dirname, '..', '..');
24
+
25
+ const docTypesPath = resolve(repoRoot, 'plugins/arckit-claude/config/doc-types.mjs');
26
+ const pagesPath = resolve(repoRoot, 'plugins/arckit-claude/commands/pages.md');
27
+
28
+ const { DOC_TYPES } = await import(pathToFileURL(docTypesPath).href);
29
+ const docTypesCodes = new Set(Object.keys(DOC_TYPES));
30
+
31
+ const pagesContent = await readFile(pagesPath, 'utf8');
32
+ // Match `| | CODE | `ARC-*-CODE-*.{md,html}` | ... |` rows in the document-types allow-list table.
33
+ // CODE may include hyphens (e.g. PRIN-COMP, SECD-MOD).
34
+ const codeRowRe = /^\|\s*\|\s*([A-Z][A-Z0-9]*(?:-[A-Z][A-Z0-9]*)*)\s*\|\s*`ARC-\*-\1-\*\.(?:md|html)`\s*\|/gm;
35
+ const pagesCodes = new Set();
36
+ for (const m of pagesContent.matchAll(codeRowRe)) pagesCodes.add(m[1]);
37
+
38
+ const inDocTypesNotPages = [...docTypesCodes].filter((c) => !pagesCodes.has(c)).sort();
39
+ const inPagesNotDocTypes = [...pagesCodes].filter((c) => !docTypesCodes.has(c)).sort();
40
+
41
+ let ok = true;
42
+ if (inDocTypesNotPages.length > 0) {
43
+ ok = false;
44
+ console.error('[FAIL] Codes in doc-types.mjs but missing from pages.md table:');
45
+ for (const c of inDocTypesNotPages) console.error(' -', c);
46
+ }
47
+ if (inPagesNotDocTypes.length > 0) {
48
+ ok = false;
49
+ console.error('[FAIL] Codes in pages.md table but missing from doc-types.mjs:');
50
+ for (const c of inPagesNotDocTypes) console.error(' -', c);
51
+ }
52
+
53
+ if (ok) {
54
+ console.log(`[PASS] ${docTypesCodes.size} codes registered consistently across both registries.`);
55
+ process.exit(0);
56
+ }
57
+ process.exit(1);
@@ -0,0 +1,100 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Consistency guard for the arckit-fde site-generator templates.
4
+ *
5
+ * 1. Every scalar {{TOKEN}} used in templates/ is documented in the fenced
6
+ * ```tokens block of references/config-schema.md, and vice versa.
7
+ * Item-scoped tokens ({{ITEM_*}}) are excluded.
8
+ * 2. Every <!-- BEGIN: x --> (or # BEGIN: x) has a matching END per file.
9
+ * 3. Both presets carry every required top-level key, with no leftover
10
+ * <verbatim>/<from source> placeholders.
11
+ *
12
+ * Exit 0 = consistent. Exit 1 = drift. No external dependencies.
13
+ */
14
+ import { fileURLToPath } from 'node:url';
15
+ import { dirname, resolve } from 'node:path';
16
+ import { readFileSync, readdirSync, statSync } from 'node:fs';
17
+
18
+ const __dirname = dirname(fileURLToPath(import.meta.url));
19
+ const repoRoot = resolve(__dirname, '..', '..');
20
+ const plugin = resolve(repoRoot, 'plugins/arckit-fde');
21
+ const templatesDir = resolve(plugin, 'templates');
22
+ const schemaPath = resolve(plugin, 'references/config-schema.md');
23
+
24
+ function walk(dir) {
25
+ const out = [];
26
+ for (const name of readdirSync(dir)) {
27
+ const p = resolve(dir, name);
28
+ if (statSync(p).isDirectory()) out.push(...walk(p));
29
+ else out.push(p);
30
+ }
31
+ return out;
32
+ }
33
+
34
+ const templateFiles = walk(templatesDir);
35
+ const templateText = templateFiles
36
+ .filter((p) => /\.(html|css|txt|xml)$/.test(p) || p.endsWith('nojekyll'))
37
+ .map((p) => readFileSync(p, 'utf8'))
38
+ .join('\n');
39
+
40
+ const usedTokens = new Set(
41
+ [...templateText.matchAll(/\{\{([A-Z0-9_]+)\}\}/g)]
42
+ .map((m) => m[1])
43
+ .filter((t) => !t.startsWith('ITEM_')),
44
+ );
45
+
46
+ const schema = readFileSync(schemaPath, 'utf8');
47
+ const tokensBlock = schema.match(/```tokens\n([\s\S]*?)```/);
48
+ if (!tokensBlock) {
49
+ console.error('[FAIL] no ```tokens block in config-schema.md');
50
+ process.exit(1);
51
+ }
52
+ const documented = new Set(
53
+ [...tokensBlock[1].matchAll(/\{\{([A-Z0-9_]+)\}\}/g)].map((m) => m[1]),
54
+ );
55
+
56
+ let ok = true;
57
+ const usedNotDocumented = [...usedTokens].filter((t) => !documented.has(t)).sort();
58
+ const documentedNotUsed = [...documented].filter((t) => !usedTokens.has(t)).sort();
59
+ if (usedNotDocumented.length) {
60
+ ok = false;
61
+ console.error('[FAIL] tokens used in templates but not documented:', usedNotDocumented);
62
+ }
63
+ if (documentedNotUsed.length) {
64
+ ok = false;
65
+ console.error('[FAIL] tokens documented but never used in templates:', documentedNotUsed);
66
+ }
67
+
68
+ for (const file of templateFiles) {
69
+ if (!/\.(html|txt)$/.test(file)) continue;
70
+ const t = readFileSync(file, 'utf8');
71
+ const begins = [...t.matchAll(/BEGIN:\s*([a-z-]+)/g)].map((m) => m[1]).sort();
72
+ const ends = [...t.matchAll(/END:\s*([a-z-]+)/g)].map((m) => m[1]).sort();
73
+ if (JSON.stringify(begins) !== JSON.stringify(ends)) {
74
+ ok = false;
75
+ console.error(`[FAIL] BEGIN/END mismatch in ${file}:`, { begins, ends });
76
+ }
77
+ }
78
+
79
+ const requiredKeys = [
80
+ 'market_preset', 'area_served', 'eyebrow', 'page_title_suffix', 'meta_description',
81
+ 'hero_alt', 'footer_tagline', 'cta_eyebrow', 'cta_headline', 'examples_heading',
82
+ 'powered_by_arckit', 'tagline', 'cta_primary', 'pricing', 'signal_band', 'value_props',
83
+ 'offer_pack', 'public_sector_benefits', 'follow_on_areas', 'policy_frameworks',
84
+ 'worked_examples', 'bootstrap_cadence',
85
+ ];
86
+ for (const preset of ['uk-public-sector.yaml', 'generic.yaml']) {
87
+ const text = readFileSync(resolve(plugin, 'presets', preset), 'utf8');
88
+ const missing = requiredKeys.filter((k) => !new RegExp(`^${k}:`, 'm').test(text));
89
+ if (missing.length) {
90
+ ok = false;
91
+ console.error(`[FAIL] ${preset} missing keys:`, missing);
92
+ }
93
+ if (/<verbatim|<from source/.test(text)) {
94
+ ok = false;
95
+ console.error(`[FAIL] ${preset} still contains placeholder markers`);
96
+ }
97
+ }
98
+
99
+ if (ok) console.log('[OK] arckit-fde templates, schema and presets are consistent');
100
+ process.exit(ok ? 0 : 1);
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Regime-registration test for ArcKit doc-type regimes.
4
+ *
5
+ * Every `regime:` value declared on an entry in
6
+ * `plugins/arckit-claude/config/doc-types.mjs` MUST also be registered in the exported
7
+ * `REGIMES` array AND have a label in `REGIME_LABELS`. Consumers that iterate
8
+ * `REGIMES` (e.g. `hooks/graph-inject.mjs`: compliance-presence listing and
9
+ * readiness scorecard) silently skip any jurisdiction whose regime code is
10
+ * declared on doc-types but absent from `REGIMES` — the artefacts validate on
11
+ * disk but never surface in the injected governance context.
12
+ *
13
+ * This invariant is invisible to the dual-registration test (which checks
14
+ * code ↔ pages.md), and the gap has recurred twice: `CA` (12 doc-types shipped
15
+ * before `'CA'` was added to `REGIMES`, fixed in #441) and `US` (10 doc-types,
16
+ * fixed in #545). This guard exists so it cannot recur silently again.
17
+ *
18
+ * Exit 0 = every declared regime is registered + labelled. Exit 1 = mismatch.
19
+ */
20
+
21
+ import { fileURLToPath } from 'node:url';
22
+ import { dirname, resolve } from 'node:path';
23
+
24
+ const __dirname = dirname(fileURLToPath(import.meta.url));
25
+ const repoRoot = resolve(__dirname, '..', '..');
26
+ const docTypesPath = resolve(repoRoot, 'plugins/arckit-claude/config/doc-types.mjs');
27
+
28
+ const { DOC_TYPES, REGIMES, REGIME_LABELS } = await import(docTypesPath);
29
+
30
+ const declaredRegimes = new Set(
31
+ Object.values(DOC_TYPES)
32
+ .map((info) => info.regime)
33
+ .filter(Boolean),
34
+ );
35
+ const registered = new Set(REGIMES);
36
+ const labelled = new Set(Object.keys(REGIME_LABELS));
37
+
38
+ const declaredNotRegistered = [...declaredRegimes].filter((r) => !registered.has(r)).sort();
39
+ const registeredNotLabelled = [...registered].filter((r) => !labelled.has(r)).sort();
40
+ const labelledNotRegistered = [...labelled].filter((r) => !registered.has(r)).sort();
41
+
42
+ let ok = true;
43
+ if (declaredNotRegistered.length > 0) {
44
+ ok = false;
45
+ console.error('[FAIL] regime codes declared on doc-types but missing from REGIMES:');
46
+ for (const r of declaredNotRegistered) console.error(' -', r);
47
+ }
48
+ if (registeredNotLabelled.length > 0) {
49
+ ok = false;
50
+ console.error('[FAIL] regimes in REGIMES but missing a REGIME_LABELS entry:');
51
+ for (const r of registeredNotLabelled) console.error(' -', r);
52
+ }
53
+ if (labelledNotRegistered.length > 0) {
54
+ ok = false;
55
+ console.error('[FAIL] regimes in REGIME_LABELS but missing from REGIMES:');
56
+ for (const r of labelledNotRegistered) console.error(' -', r);
57
+ }
58
+
59
+ if (ok) {
60
+ console.log(
61
+ `[PASS] ${declaredRegimes.size} declared regime(s) all registered in REGIMES (${REGIMES.length}) and labelled.`,
62
+ );
63
+ process.exit(0);
64
+ }
65
+ process.exit(1);