docguard-cli 0.18.1__tar.gz → 0.21.0__tar.gz

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 (338) hide show
  1. {docguard_cli-0.18.1/extensions/spec-kit-docguard → docguard_cli-0.21.0/.agent}/skills/docguard-fix/SKILL.md +2 -2
  2. {docguard_cli-0.18.1/extensions/spec-kit-docguard → docguard_cli-0.21.0/.agent}/skills/docguard-guard/SKILL.md +2 -2
  3. {docguard_cli-0.18.1/extensions/spec-kit-docguard → docguard_cli-0.21.0/.agent}/skills/docguard-review/SKILL.md +2 -2
  4. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/docguard-score/SKILL.md +2 -2
  5. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/docguard-sync/SKILL.md +1 -1
  6. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.docguardignore +5 -0
  7. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.github/workflows/ci.yml +3 -2
  8. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.github/workflows/release.yml +3 -3
  9. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.github/workflows/supply-chain.yml +1 -0
  10. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/AGENTS.md +1 -1
  11. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/CHANGELOG.md +273 -0
  12. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/PKG-INFO +129 -35
  13. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/README.md +128 -34
  14. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/action.yml +3 -3
  15. docguard_cli-0.21.0/cli/commands/demo.mjs +241 -0
  16. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/guard.mjs +20 -2
  17. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/init.mjs +122 -0
  18. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/docguard.mjs +125 -47
  19. docguard_cli-0.21.0/cli/validators/canonical-sync.mjs +211 -0
  20. docguard_cli-0.21.0/cli/validators/spec-kit.mjs +14 -0
  21. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs/quickstart.md +1 -1
  22. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs-canonical/CI-RECIPES.md +2 -2
  23. docguard_cli-0.21.0/docs-canonical/REQUIREMENTS.md +68 -0
  24. docguard_cli-0.21.0/docs-canonical/SURFACE-AUDIT.md +334 -0
  25. docguard_cli-0.21.0/docs-implementation/MIGRATION-v0.20.md +194 -0
  26. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/README.md +1 -1
  27. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/extension.yml +5 -5
  28. {docguard_cli-0.18.1/.agent → docguard_cli-0.21.0/extensions/spec-kit-docguard}/skills/docguard-fix/SKILL.md +2 -2
  29. {docguard_cli-0.18.1/.agent → docguard_cli-0.21.0/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
  30. {docguard_cli-0.18.1/.agent → docguard_cli-0.21.0/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
  31. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/skills/docguard-score/SKILL.md +2 -2
  32. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +1 -1
  33. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/package.json +1 -1
  34. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/pyproject.toml +1 -1
  35. docguard_cli-0.21.0/templates/demo-fixture/.docguard.json +8 -0
  36. docguard_cli-0.21.0/templates/demo-fixture/.env.example +5 -0
  37. docguard_cli-0.21.0/templates/demo-fixture/AGENTS.md +14 -0
  38. docguard_cli-0.21.0/templates/demo-fixture/CHANGELOG.md +13 -0
  39. docguard_cli-0.21.0/templates/demo-fixture/DRIFT-LOG.md +3 -0
  40. docguard_cli-0.21.0/templates/demo-fixture/README.md +17 -0
  41. docguard_cli-0.21.0/templates/demo-fixture/docs-canonical/API-REFERENCE.md +36 -0
  42. docguard_cli-0.21.0/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +30 -0
  43. docguard_cli-0.21.0/templates/demo-fixture/docs-canonical/DATA-MODEL.md +30 -0
  44. docguard_cli-0.21.0/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +20 -0
  45. docguard_cli-0.21.0/templates/demo-fixture/docs-canonical/SECURITY.md +15 -0
  46. docguard_cli-0.21.0/templates/demo-fixture/docs-canonical/TEST-SPEC.md +10 -0
  47. docguard_cli-0.21.0/templates/demo-fixture/package.json +10 -0
  48. docguard_cli-0.21.0/templates/demo-fixture/src/api.mjs +18 -0
  49. docguard_cli-0.21.0/templates/demo-fixture/src/notifier.mjs +23 -0
  50. docguard_cli-0.21.0/templates/demo-fixture/src/scheduler.mjs +8 -0
  51. docguard_cli-0.21.0/templates/demo-fixture/src/worker.mjs +15 -0
  52. docguard_cli-0.21.0/tests/canonical-sync.test.mjs +148 -0
  53. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/commands.test.mjs +7 -2
  54. docguard_cli-0.21.0/tests/demo-command.test.mjs +96 -0
  55. docguard_cli-0.21.0/tests/init-smart-detection.test.mjs +124 -0
  56. docguard_cli-0.21.0/tests/npm-pack-smoke.test.mjs +128 -0
  57. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/upgrade-pr-e2e.test.mjs +35 -13
  58. docguard_cli-0.21.0/tests/v020-consolidation.test.mjs +200 -0
  59. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/commands/speckit.analyze.md +0 -0
  60. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/commands/speckit.checklist.md +0 -0
  61. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/commands/speckit.clarify.md +0 -0
  62. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/commands/speckit.constitution.md +0 -0
  63. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/commands/speckit.implement.md +0 -0
  64. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/commands/speckit.plan.md +0 -0
  65. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/commands/speckit.specify.md +0 -0
  66. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/commands/speckit.tasks.md +0 -0
  67. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/commands/speckit.taskstoissues.md +0 -0
  68. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/speckit-analyze/SKILL.md +0 -0
  69. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/speckit-checklist/SKILL.md +0 -0
  70. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/speckit-clarify/SKILL.md +0 -0
  71. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/speckit-constitution/SKILL.md +0 -0
  72. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/speckit-implement/SKILL.md +0 -0
  73. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/speckit-plan/SKILL.md +0 -0
  74. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/speckit-specify/SKILL.md +0 -0
  75. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/speckit-tasks/SKILL.md +0 -0
  76. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
  77. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.docguard.json +0 -0
  78. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  79. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  80. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.github/dependabot.yml +0 -0
  81. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.github/scripts/patch-catalog.py +0 -0
  82. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.github/workflows/sync-speckit-catalog.yml +0 -0
  83. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.gitignore +0 -0
  84. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.jules/bolt.md +0 -0
  85. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.jules/palette.md +0 -0
  86. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.jules/sentinel.md +0 -0
  87. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.npmignore +0 -0
  88. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.npmrc +0 -0
  89. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
  90. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
  91. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/extensions/.cache/catalog-metadata.json +0 -0
  92. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/extensions/.cache/catalog.json +0 -0
  93. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/init-options.json +0 -0
  94. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/memory/constitution.md +0 -0
  95. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/scripts/bash/check-prerequisites.sh +0 -0
  96. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/scripts/bash/common.sh +0 -0
  97. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/scripts/bash/create-new-feature.sh +0 -0
  98. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/scripts/bash/setup-plan.sh +0 -0
  99. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/scripts/bash/update-agent-context.sh +0 -0
  100. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/templates/agent-file-template.md +0 -0
  101. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/templates/checklist-template.md +0 -0
  102. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/templates/constitution-template.md +0 -0
  103. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/templates/plan-template.md +0 -0
  104. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/templates/spec-template.md +0 -0
  105. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/.specify/templates/tasks-template.md +0 -0
  106. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/CODE_OF_CONDUCT.md +0 -0
  107. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/COMPARISONS.md +0 -0
  108. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/CONTRIBUTING.md +0 -0
  109. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/DRIFT-LOG.md +0 -0
  110. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/LICENSE +0 -0
  111. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/PHILOSOPHY.md +0 -0
  112. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/ROADMAP.md +0 -0
  113. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/SECURITY.md +0 -0
  114. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/STANDARD.md +0 -0
  115. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/SUPPLY-CHAIN-AUDIT.md +0 -0
  116. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/SUPPORT.md +0 -0
  117. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/agents.mjs +0 -0
  118. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/badge.mjs +0 -0
  119. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/ci.mjs +0 -0
  120. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/diagnose.mjs +0 -0
  121. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/diff.mjs +0 -0
  122. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/explain.mjs +0 -0
  123. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/fix.mjs +0 -0
  124. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/generate.mjs +0 -0
  125. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/hooks.mjs +0 -0
  126. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/impact.mjs +0 -0
  127. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/llms.mjs +0 -0
  128. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/memory.mjs +0 -0
  129. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/publish.mjs +0 -0
  130. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/score.mjs +0 -0
  131. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/setup.mjs +0 -0
  132. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/sync.mjs +0 -0
  133. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/trace.mjs +0 -0
  134. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/upgrade.mjs +0 -0
  135. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/commands/watch.mjs +0 -0
  136. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/ensure-skills.mjs +0 -0
  137. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/api-doc.mjs +0 -0
  138. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/cdk.mjs +0 -0
  139. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/doc-tools.mjs +0 -0
  140. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/frontend.mjs +0 -0
  141. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/iac.mjs +0 -0
  142. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/integrations.mjs +0 -0
  143. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/memory-plan.mjs +0 -0
  144. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/project-type.mjs +0 -0
  145. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/routes.mjs +0 -0
  146. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/schemas.mjs +0 -0
  147. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/scanners/speckit.mjs +0 -0
  148. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/shared-git.mjs +0 -0
  149. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/shared-ignore.mjs +0 -0
  150. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/shared-source.mjs +0 -0
  151. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/shared.mjs +0 -0
  152. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/api-surface.mjs +0 -0
  153. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/architecture.mjs +0 -0
  154. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/changelog.mjs +0 -0
  155. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/cross-reference.mjs +0 -0
  156. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/doc-quality.mjs +0 -0
  157. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/docs-coverage.mjs +0 -0
  158. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/docs-diff.mjs +0 -0
  159. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/docs-sync.mjs +0 -0
  160. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/drift.mjs +0 -0
  161. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/environment.mjs +0 -0
  162. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/freshness.mjs +0 -0
  163. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/generated-staleness.mjs +0 -0
  164. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/metadata-sync.mjs +0 -0
  165. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/metrics-consistency.mjs +0 -0
  166. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/schema-sync.mjs +0 -0
  167. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/security.mjs +0 -0
  168. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/structure.mjs +0 -0
  169. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/test-spec.mjs +0 -0
  170. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/todo-tracking.mjs +0 -0
  171. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/validators/traceability.mjs +0 -0
  172. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/writers/api-reference.mjs +0 -0
  173. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/writers/fix-memory.mjs +0 -0
  174. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/writers/mechanical.mjs +0 -0
  175. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/cli/writers/sections.mjs +0 -0
  176. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/commands/docguard.fix.md +0 -0
  177. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/commands/docguard.guard.md +0 -0
  178. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/commands/docguard.review.md +0 -0
  179. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/commands/docguard.score.md +0 -0
  180. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/configs/fastify.json +0 -0
  181. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/configs/generic.json +0 -0
  182. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/configs/nextjs.json +0 -0
  183. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/configs/python.json +0 -0
  184. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docguard_cli/__init__.py +0 -0
  185. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docguard_cli/wrapper.py +0 -0
  186. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs/ai-integration.md +0 -0
  187. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs/commands.md +0 -0
  188. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs/configuration.md +0 -0
  189. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs/doc-sections.md +0 -0
  190. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs/faq.md +0 -0
  191. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs/installation.md +0 -0
  192. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs/profiles.md +0 -0
  193. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs-canonical/ARCHITECTURE.md +0 -0
  194. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs-canonical/DATA-MODEL.md +0 -0
  195. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs-canonical/ENVIRONMENT.md +0 -0
  196. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs-canonical/SECURITY.md +0 -0
  197. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/docs-canonical/TEST-SPEC.md +0 -0
  198. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/01-express-api/README.md +0 -0
  199. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/01-express-api/package.json +0 -0
  200. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/01-express-api/server.js +0 -0
  201. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/02-python-flask/README.md +0 -0
  202. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/02-python-flask/app.py +0 -0
  203. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
  204. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/02-python-flask/requirements.txt +0 -0
  205. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
  206. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/03-spec-kit-project/README.md +0 -0
  207. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
  208. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
  209. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/03-spec-kit-project/package.json +0 -0
  210. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/03-spec-kit-project/src/index.js +0 -0
  211. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
  212. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/examples/README.md +0 -0
  213. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/LICENSE +0 -0
  214. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
  215. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/commands/fix.md +0 -0
  216. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/commands/generate.md +0 -0
  217. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/commands/guard.md +0 -0
  218. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/commands/init.md +0 -0
  219. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/commands/score.md +0 -0
  220. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/commands/sync.md +0 -0
  221. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/commands/trace.md +0 -0
  222. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
  223. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
  224. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
  225. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
  226. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
  227. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +0 -0
  228. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +0 -0
  229. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/pr_description.md +0 -0
  230. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/schemas/docguard-config.schema.json +0 -0
  231. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/specs/001-fix-ignore-validators/plan.md +0 -0
  232. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/specs/001-fix-ignore-validators/spec.md +0 -0
  233. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/specs/001-fix-ignore-validators/tasks.md +0 -0
  234. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/specs/002-fix-test-discovery/plan.md +0 -0
  235. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/specs/002-fix-test-discovery/spec.md +0 -0
  236. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/specs/002-fix-test-discovery/tasks.md +0 -0
  237. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/specs/003-v011-false-positives/plan.md +0 -0
  238. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/specs/003-v011-false-positives/spec.md +0 -0
  239. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/specs/003-v011-false-positives/tasks.md +0 -0
  240. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/ADR.md.template +0 -0
  241. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/AGENTS.md.template +0 -0
  242. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/ARCHITECTURE.md.template +0 -0
  243. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/CHANGELOG.md.template +0 -0
  244. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/CURRENT-STATE.md.template +0 -0
  245. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/DATA-MODEL.md.template +0 -0
  246. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/DEPLOYMENT.md.template +0 -0
  247. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/DRIFT-LOG.md.template +0 -0
  248. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/ENVIRONMENT.md.template +0 -0
  249. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/KNOWN-GOTCHAS.md.template +0 -0
  250. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/REQUIREMENTS.md.template +0 -0
  251. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/ROADMAP.md.template +0 -0
  252. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/RUNBOOKS.md.template +0 -0
  253. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/SECURITY.md.template +0 -0
  254. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/TEST-SPEC.md.template +0 -0
  255. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/TROUBLESHOOTING.md.template +0 -0
  256. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/VENDOR-BUGS.md.template +0 -0
  257. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/ci/github-actions.yml +0 -0
  258. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/commands/docguard.fix.md +0 -0
  259. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/commands/docguard.guard.md +0 -0
  260. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/commands/docguard.init.md +0 -0
  261. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/commands/docguard.review.md +0 -0
  262. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/templates/commands/docguard.update.md +0 -0
  263. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/test-draft.js +0 -0
  264. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/test-metrics.js +0 -0
  265. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/anchor-autofix.test.mjs +0 -0
  266. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/api-doc.test.mjs +0 -0
  267. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/api-surface.test.mjs +0 -0
  268. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/api-write.test.mjs +0 -0
  269. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/architecture.test.mjs +0 -0
  270. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/b7-node-env-symmetry.test.mjs +0 -0
  271. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/backup-failure.test.mjs +0 -0
  272. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/cdk-detection.test.mjs +0 -0
  273. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/changed-only-scoping.test.mjs +0 -0
  274. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/changed-only.test.mjs +0 -0
  275. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/changelog.test.mjs +0 -0
  276. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/cross-reference.test.mjs +0 -0
  277. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/doc-quality.test.mjs +0 -0
  278. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/docguardignore.test.mjs +0 -0
  279. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/docs-coverage.test.mjs +0 -0
  280. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/docs-diff.test.mjs +0 -0
  281. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/docs-sync.test.mjs +0 -0
  282. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/drift.test.mjs +0 -0
  283. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/environment.test.mjs +0 -0
  284. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/fix-memory.test.mjs +0 -0
  285. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/fix-suppression.test.mjs +0 -0
  286. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/fixture-projects.test.mjs +0 -0
  287. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/freshness.test.mjs +0 -0
  288. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/frontend-deep.test.mjs +0 -0
  289. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/frontend.test.mjs +0 -0
  290. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/generated-staleness.test.mjs +0 -0
  291. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/guard-classify.test.mjs +0 -0
  292. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/guard-no-throw.test.mjs +0 -0
  293. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/hooks.test.mjs +0 -0
  294. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/i18n.test.mjs +0 -0
  295. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/impact.test.mjs +0 -0
  296. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/integrations.test.mjs +0 -0
  297. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/mechanical.test.mjs +0 -0
  298. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/memory-plan.test.mjs +0 -0
  299. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/metadata-sync.test.mjs +0 -0
  300. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/metrics-consistency.test.mjs +0 -0
  301. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/metrics-dedup.test.mjs +0 -0
  302. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/monorepo-scanning.test.mjs +0 -0
  303. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/multi-spec.test.mjs +0 -0
  304. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/patch-0.11.2.test.mjs +0 -0
  305. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/plan-disk-cache.test.mjs +0 -0
  306. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/profile-flag.test.mjs +0 -0
  307. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/project-type.test.mjs +0 -0
  308. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/regenerate-section.test.mjs +0 -0
  309. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/routes-multilang.test.mjs +0 -0
  310. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/schema-sync.test.mjs +0 -0
  311. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/schemas-multilang.test.mjs +0 -0
  312. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/schemas.test.mjs +0 -0
  313. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/scoping-extended.test.mjs +0 -0
  314. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/section-na-markers.test.mjs +0 -0
  315. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/sections.test.mjs +0 -0
  316. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/security.test.mjs +0 -0
  317. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/severity.test.mjs +0 -0
  318. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/shared-git.test.mjs +0 -0
  319. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/shared-source.test.mjs +0 -0
  320. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/stress-test.test.mjs +0 -0
  321. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/structure.test.mjs +0 -0
  322. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/sweep-nudge.test.mjs +0 -0
  323. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/sync-since.test.mjs +0 -0
  324. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/sync.test.mjs +0 -0
  325. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/test-spec.test.mjs +0 -0
  326. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/todo-tracking.test.mjs +0 -0
  327. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/trace-multilang.test.mjs +0 -0
  328. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/trace-reverse.test.mjs +0 -0
  329. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/traceability.test.mjs +0 -0
  330. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/upgrade-pr.test.mjs +0 -0
  331. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/upgrade.test.mjs +0 -0
  332. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/validator-naming.test.mjs +0 -0
  333. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/version-pin.test.mjs +0 -0
  334. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/tests/whats-new.test.mjs +0 -0
  335. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/vscode-extension/.vscodeignore +0 -0
  336. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/vscode-extension/README.md +0 -0
  337. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/vscode-extension/extension.js +0 -0
  338. {docguard_cli-0.18.1 → docguard_cli-0.21.0}/vscode-extension/package.json +0 -0
@@ -6,10 +6,10 @@ description: AI-driven documentation repair with structured research workflow, t
6
6
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
7
7
  metadata:
8
8
  author: docguard
9
- version: 0.18.1
9
+ version: 0.21.0
10
10
  source: extensions/spec-kit-docguard/skills/docguard-fix
11
11
  ---
12
- <!-- docguard:version: 0.18.1 -->
12
+ <!-- docguard:version: 0.21.0 -->
13
13
 
14
14
  # DocGuard Fix Skill
15
15
 
@@ -7,10 +7,10 @@ description: Run DocGuard guard validation against Canonical-Driven Development
7
7
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
8
8
  metadata:
9
9
  author: docguard
10
- version: 0.18.1
10
+ version: 0.21.0
11
11
  source: extensions/spec-kit-docguard/skills/docguard-guard
12
12
  ---
13
- <!-- docguard:version: 0.18.1 -->
13
+ <!-- docguard:version: 0.21.0 -->
14
14
 
15
15
  # DocGuard Guard Skill
16
16
 
@@ -6,10 +6,10 @@ description: Cross-document consistency analysis and quality assessment. Perform
6
6
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
7
7
  metadata:
8
8
  author: docguard
9
- version: 0.18.1
9
+ version: 0.21.0
10
10
  source: extensions/spec-kit-docguard/skills/docguard-review
11
11
  ---
12
- <!-- docguard:version: 0.18.1 -->
12
+ <!-- docguard:version: 0.21.0 -->
13
13
 
14
14
  # DocGuard Review Skill
15
15
 
@@ -6,10 +6,10 @@ description: CDD maturity assessment with category-aware improvement roadmap. Ru
6
6
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
7
7
  metadata:
8
8
  author: docguard
9
- version: 0.18.1
9
+ version: 0.21.0
10
10
  source: extensions/spec-kit-docguard/skills/docguard-score
11
11
  ---
12
- <!-- docguard:version: 0.18.1 -->
12
+ <!-- docguard:version: 0.21.0 -->
13
13
 
14
14
  # DocGuard Score Skill
15
15
 
@@ -4,7 +4,7 @@ description: Keep canonical documentation ALWAYS UP TO DATE. Refreshes code-trut
4
4
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
5
5
  metadata:
6
6
  author: docguard
7
- version: 0.18.1
7
+ version: 0.21.0
8
8
  source: extensions/spec-kit-docguard/skills/docguard-sync
9
9
  ---
10
10
 
@@ -26,3 +26,8 @@ __pycache__/
26
26
  # Backups created by generate --force
27
27
  *.bak
28
28
 
29
+ # Surface audit doc — contains historical observations like "guard ran 22
30
+ # validators" that document the pre-v0.19 state. Auto-fixing those to the
31
+ # current count would erase the historical record the audit exists to preserve.
32
+ docs-canonical/SURFACE-AUDIT.md
33
+
@@ -1,6 +1,7 @@
1
1
  name: DocGuard CI
2
2
 
3
3
  on:
4
+ workflow_dispatch: # Manual recovery for admin-bypass pushes that don't auto-trigger
4
5
  push:
5
6
  branches: [main]
6
7
  pull_request:
@@ -18,7 +19,7 @@ jobs:
18
19
  with:
19
20
  fetch-depth: 0 # Full git history for freshness validator
20
21
 
21
- - uses: actions/setup-node@v5
22
+ - uses: actions/setup-node@v6
22
23
  with:
23
24
  node-version: ${{ matrix.node-version }}
24
25
 
@@ -81,7 +82,7 @@ jobs:
81
82
  needs: test
82
83
  steps:
83
84
  - uses: actions/checkout@v5
84
- - uses: actions/setup-node@v5
85
+ - uses: actions/setup-node@v6
85
86
  with:
86
87
  node-version: 20
87
88
  registry-url: 'https://registry.npmjs.org'
@@ -52,7 +52,7 @@ jobs:
52
52
  - uses: actions/checkout@v5
53
53
  with:
54
54
  fetch-depth: 0
55
- - uses: actions/setup-node@v5
55
+ - uses: actions/setup-node@v6
56
56
  with:
57
57
  node-version: ${{ matrix.node-version }}
58
58
  - name: Run Tests
@@ -151,7 +151,7 @@ jobs:
151
151
  runs-on: ubuntu-latest
152
152
  steps:
153
153
  - uses: actions/checkout@v5
154
- - uses: actions/setup-node@v5
154
+ - uses: actions/setup-node@v6
155
155
  with:
156
156
  node-version: 20
157
157
  registry-url: 'https://registry.npmjs.org'
@@ -167,7 +167,7 @@ jobs:
167
167
  runs-on: ubuntu-latest
168
168
  steps:
169
169
  - uses: actions/checkout@v5
170
- - uses: actions/setup-python@v5
170
+ - uses: actions/setup-python@v6
171
171
  with:
172
172
  python-version: '3.12'
173
173
 
@@ -1,6 +1,7 @@
1
1
  name: Supply-Chain Security
2
2
 
3
3
  on:
4
+ workflow_dispatch: # Manual recovery for admin-bypass pushes that don't auto-trigger
4
5
  pull_request:
5
6
  branches: [main]
6
7
  schedule:
@@ -41,7 +41,7 @@
41
41
  | Command | Purpose |
42
42
  |---------|---------|
43
43
  | `diagnose` | **Primary** — identify issues + generate AI fix prompts |
44
- | `guard` | Validate project (CI gate) — 22 validators |
44
+ | `guard` | Validate project (CI gate) — 23 validators |
45
45
  | `generate` | Reverse-engineer docs from code |
46
46
  | `fix --doc <name>` | AI prompt for specific document |
47
47
  | `score` | CDD maturity score (0-100) |
@@ -7,6 +7,279 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.21.0] - 2026-05-26
11
+
12
+ **Time-to-value.** The funnel-unblocker release. Until v0.21, a dev shopping
13
+ for documentation tools had to install DocGuard, run `init`, write some
14
+ canonical docs, and only then could they see what the tool actually does.
15
+ v0.21 compresses that to **30 seconds, zero install**:
16
+
17
+ ```bash
18
+ npx docguard-cli demo
19
+ ```
20
+
21
+ Plus: `docguard init` now auto-detects existing projects and switches to
22
+ "scan and propose" mode (reverse-engineering canonical docs from your code)
23
+ instead of dumping a blank skeleton. The blank-skeleton path is still one
24
+ flag away (`--skeleton`).
25
+
26
+ ### Added
27
+
28
+ - **`docguard demo`** — the marquee feature of this release. Copies a baked-in
29
+ fixture (`templates/demo-fixture/` — a 4-service payments API with
30
+ intentional drift) to a temp directory, git-inits it, runs guard + score
31
+ against it, then prints a **curated narrative**: top-5 findings spanning
32
+ multiple validators, each annotated with the real-world impact ("Your AI
33
+ agent reads the architecture doc and gives wrong answers about how the
34
+ system works"), the CDD maturity score, and a clear three-line CTA showing
35
+ both `npm install -g` and `npx` paths. Temp fixture is cleaned up on exit
36
+ (or kept via `--keep` for inspection). Total time: ~0.5s for the guard
37
+ run; total experience: ~30s from `npx` to the install CTA.
38
+ - **`templates/demo-fixture/`** — ships with the package (already in
39
+ `files: ["templates/"]`). 12-file pretend "acme-payments" project with
40
+ drift across 7 validator categories: undocumented 4th service, missing
41
+ API endpoint in reference, env var drift between `.env.example` and
42
+ `ENVIRONMENT.md`, `CHANGELOG` missing `[Unreleased]`, README sections
43
+ per Standard README spec missing, etc.
44
+ - **`docguard init --skeleton`** — explicit opt-in to the v0.20 blank-template
45
+ behavior. For greenfield projects where the scan would find nothing.
46
+ - **`docguard demo --keep`** — preserves the temp fixture and reports its
47
+ path. Useful for poking around what a real-world DocGuard-managed project
48
+ looks like.
49
+
50
+ ### Changed
51
+
52
+ - **Smart `docguard init` first-run.** When `init` runs in a directory that
53
+ has existing source code (`cli/`, `src/`, `lib/`, `app/`, or 10+ source
54
+ files at top level) AND no `docs-canonical/`, it automatically dispatches
55
+ to `runGenerate` with `--plan` — the "scan and propose" path. Heuristic
56
+ opts out for: `--skeleton`, `--wizard`, `--skip-prompts` (CI), explicit
57
+ `--profile`, or projects that already have canonical docs (re-init case).
58
+ Result: the 80% of adopters who arrive with an existing codebase get
59
+ immediate value from the very first command, instead of staring at a
60
+ blank skeleton.
61
+ - **`--help` updates.** New top section: "First-time? Try the demo (no
62
+ install, no setup): `npx docguard-cli demo`". `demo` listed in Tools.
63
+ `init` description updated to mention the new auto-detect behavior and
64
+ the `--skeleton` opt-out.
65
+ - **README.** New CTA block at the top under the H1, above the Table of
66
+ Contents: prominent `npx docguard-cli demo` callout drives the funnel.
67
+ Validator/command counts updated by `canonical-sync` to 14 commands.
68
+
69
+ ### Tests
70
+
71
+ - 582 → **596 tests** (+14):
72
+ - `tests/demo-command.test.mjs` (6): demo exits 0; output contains banner
73
+ + findings + score + CTA; `--quiet` suppresses banner; temp fixture is
74
+ cleaned up by default; `--keep` preserves it; top-5 findings span 3+
75
+ distinct validators (variety, not noise).
76
+ - `tests/init-smart-detection.test.mjs` (8): empty dir → skeleton; dir
77
+ with `src/` → smart mode; dir with `cli/` → smart mode; `--skeleton`
78
+ forces skeleton even with code present; `--skip-prompts` keeps skeleton
79
+ (CI determinism); pre-existing canonical docs skip smart mode; 10+
80
+ top-level Python files trigger smart mode; <10 + no code dir → skeleton.
81
+
82
+ ### Strategic context
83
+
84
+ This is item #2 from the v0.19 SURFACE-AUDIT's adoption-friction analysis
85
+ ("no demo path — devs have to install, init, write docs, run guard just to
86
+ see what we do"). v0.20 closed friction #1 (surface sprawl); v0.21 closes
87
+ #2 (time-to-value). Next up per the 5-release arc: v0.22 — AI-native fix
88
+ loop (`docguard fix --apply` calls Claude/Codex and opens a PR with the
89
+ fix end-to-end).
90
+
91
+ ## [0.20.0] - 2026-05-26
92
+
93
+ **Consolidation.** 21 user-facing commands become 13. The promise from
94
+ v0.19's SURFACE-AUDIT delivered in full — without breaking any existing
95
+ user. Eight v0.19 commands keep working with deprecation warnings; one
96
+ permanent alias (`audit → guard`) stays forever; ten cute aliases nobody
97
+ documented are removed.
98
+
99
+ This is the cleanup release. **No new functionality** — every behavior
100
+ that worked in v0.19 still works in v0.20. The win is cognitive surface:
101
+ new users see four clear sections in `--help` instead of seven muddled
102
+ ones, and the "Daily 5" framing tells them exactly what to learn first.
103
+
104
+ ### Changed — surface shape
105
+
106
+ - **`docguard init --with <name>`** is the new entry point for the
107
+ six one-shot scaffolders. Names: `agents`, `hooks`, `ci`, `badge`,
108
+ `llms`, `publish`. Comma-separated for chaining
109
+ (`docguard init --with agents,hooks,badge,ci`). The original six
110
+ commands (`docguard agents`, `docguard hooks`, …) still work — they
111
+ emit a yellow stderr deprecation warning and dispatch through
112
+ `init --with` internally.
113
+ - **`docguard init --wizard`** replaces `docguard setup`. Same 7-step
114
+ interactive flow; `setup` is now a deprecation alias.
115
+ - **`docguard diff --since <ref>`** replaces `docguard impact`. The
116
+ underlying impact analyzer is the same code path. `impact` is now a
117
+ deprecation alias.
118
+ - **`docguard --help` reorganized** into four sections: **The Daily 5**
119
+ (init, guard, diff, sync, score), **Tools** (8 situational verbs),
120
+ **`init --with <name>`** (the six scaffolders), and **Deprecation
121
+ aliases** (a footnote with the v1.0 timeline). Down from seven
122
+ alphabetically-organized sections.
123
+
124
+ ### Removed — cute aliases (the ten dropped)
125
+
126
+ These were in the router but never in `--help`. None of them had
127
+ documentation. v0.20 errors with a one-line hint to the canonical
128
+ command:
129
+
130
+ `onboard` · `gen` · `badges` · `pipeline` · `repair` · `dx` ·
131
+ `pub` · `traceability` · `help-warning` · `update`
132
+
133
+ Try `docguard onboard` in v0.20 and you'll get:
134
+ ```
135
+ Unknown command: onboard
136
+ Hint: this alias was removed in v0.20. Try docguard setup
137
+ (deprecated) — try `docguard init --wizard`.
138
+ See docs-implementation/MIGRATION-v0.20.md for the full list.
139
+ ```
140
+
141
+ ### Kept permanently
142
+
143
+ - **`audit → guard`** — the one alias that stays forever. Older blog
144
+ posts, tutorials, and CI scripts reference it. No deprecation warning,
145
+ no removal planned.
146
+
147
+ ### Added
148
+
149
+ - **`docs-implementation/MIGRATION-v0.20.md`** — full migration guide.
150
+ Before/after table for every renamed command, the deprecation
151
+ timeline, a grep recipe to detect old usage in your repo, common
152
+ questions, and concrete examples (CI workflow, pre-commit hook,
153
+ fresh-project bootstrap, post-commit "what docs am I responsible
154
+ for?").
155
+ - **`canonical-sync` validator (v0.19) now counts user-facing commands**,
156
+ not just files in `cli/commands/`. It parses `cli/docguard.mjs` to
157
+ find names in the Daily 5 + Tools sections, so the README's
158
+ "ships 13 commands" claim stays accurate across renames without
159
+ counting deprecation aliases.
160
+ - **`tests/v020-consolidation.test.mjs`** — 24 tests covering: every
161
+ `--with` target dispatches; multi-scaffolder runs in order; unknown
162
+ `--with` targets error; every deprecation alias still works and
163
+ warns; `--quiet` suppresses the warning; all ten dropped aliases
164
+ error with a hint; `audit` is silent.
165
+
166
+ ### Fixed
167
+
168
+ - **Spec-Kit extension aliases now satisfy the
169
+ `speckit.{extension}.{command}` schema** (issue #1, reported by
170
+ `c05m1x`). `extensions/spec-kit-docguard/extension.yml` previously
171
+ declared aliases as `docguard.guard` / `docguard.fix` /
172
+ `docguard.review` / `docguard.score`, which spec-kit rejects with
173
+ *"Validation Error: Invalid alias 'docguard.guard': must follow
174
+ pattern 'speckit.{extension}.{command}'"*. All four aliases now
175
+ match the canonical names (`speckit.docguard.guard` etc.), letting
176
+ `specify extension add docguard` succeed cleanly. The reporter's
177
+ secondary complaint about `--from` path-resolution is a separate
178
+ upstream spec-kit issue and tracked there.
179
+
180
+ ### Workflow hygiene
181
+
182
+ - **`workflow_dispatch:` added to `ci.yml` and `supply-chain.yml`** so
183
+ admin-bypass pushes that don't auto-trigger workflows can be
184
+ recovered manually. (Came out of the v0.19.0 publish incident where
185
+ a branch-protection bypass appears to have suppressed the auto-trigger.)
186
+
187
+ ### Tests
188
+
189
+ - 558 → **582 tests** (+24 from `tests/v020-consolidation.test.mjs`).
190
+ - Canonical-Sync re-runs clean (`23 validators · 13 user-facing commands`).
191
+
192
+ ### Deprecation timeline
193
+
194
+ - **v0.20.x → v0.x**: deprecated commands work with yellow warning.
195
+ - **v1.0.0**: deprecated commands removed. At least 2-3 months out.
196
+ - **forever**: `audit → guard` stays.
197
+
198
+ See **[MIGRATION-v0.20.md](docs-implementation/MIGRATION-v0.20.md)** for
199
+ the full guide.
200
+
201
+ ## [0.19.0] - 2026-05-26
202
+
203
+ **Self-aware.** The headline change: until v0.19, `guard` could not see
204
+ when the README lied about DocGuard's own surface. v0.18.1 shipped with
205
+ "ships 19 commands" while the codebase had 21, and the architecture
206
+ diagram had drifted across five releases without anyone noticing —
207
+ because no validator was checking. v0.19 closes that gap.
208
+
209
+ Triggered by a surface audit (see `docs-canonical/SURFACE-AUDIT.md`) that
210
+ found three different command counts in three different places, six
211
+ commands that exist in the router but were never surfaced in `--help`,
212
+ and 11 undocumented alias variants. This release fixes the *self-policing*
213
+ piece. The actual consolidation of the 21-command surface down to ~13
214
+ verbs is staged for v0.20 with a migration guide.
215
+
216
+ ### Added
217
+
218
+ - **A — `canonical-sync` validator.** New 23rd validator that runs on
219
+ every `guard` and asserts: (1) README "ships N commands" matches
220
+ `cli/commands/*.mjs` file count; (2) README "N validators" matches the
221
+ live runtime count; (3) architecture-diagram `Commands (N)` and
222
+ `Validators (N)` mermaid labels match reality. Gated by
223
+ `package.json` name === "docguard-cli" — returns N/A in every other
224
+ project. Counts itself per SURFACE-AUDIT §8.5 (current claim is "23
225
+ validators" = 22 files + 1 inlined Doc Sections, where Canonical-Sync
226
+ is among the 22). Severity high. 9 unit tests, all green.
227
+ - **B — Six ghost commands surfaced in `--help`.** `explain`, `impact`,
228
+ `llms`, `memory`, `upgrade` now appear under their natural sections
229
+ (Analysis, Memory, CI/CD, Utilities). The historical `audit → guard`
230
+ alias is documented in a new "Aliases" footnote — kept permanently for
231
+ backwards-compat with older CI scripts.
232
+ - **P1 — `tests/npm-pack-smoke.test.mjs`.** Builds the actual tarball
233
+ that would be published to npm, extracts it, and runs the CLI against
234
+ a tiny fixture. Catches the class of bugs where a needed file is
235
+ missing from `package.json`'s `files:` array. Opt-out via
236
+ `NPM_PACK_SMOKE=0` but on by default — v0.15.0 nearly shipped with a
237
+ missing `schemas/` directory until we added it to the files array, and
238
+ this gate would have caught that.
239
+
240
+ ### Changed
241
+
242
+ - **C — README counts corrected to reality.** "ships 19 commands" → "ships
243
+ 21 commands". Architecture diagram `Commands (19)` → `(21)`,
244
+ `Validators (22)` → `(23)`. "any of the 22 validators" → "23 validators"
245
+ in the What's-New section. Validators section now lists 23 with
246
+ Canonical-Sync added between Generated-Staleness and Metrics-Consistency.
247
+ Going forward, `canonical-sync` enforces these stay accurate.
248
+ - **D — `Spec-Kit` validator moved to `cli/validators/`.** Was previously
249
+ exported from `cli/scanners/speckit.mjs` — architecturally backwards
250
+ (scanners read state, validators have severity/pass-fail semantics).
251
+ New thin file at `cli/validators/spec-kit.mjs` re-exports the function;
252
+ scanner logic stays where it lives. Now `ls cli/validators/*.mjs \| wc -l`
253
+ matches the validator surface (22 files + 1 for Doc Sections inlined).
254
+ - **P2 — Node-based `gh` stub for upgrade-pr e2e.** v0.18.0's shell-script
255
+ stub passed on macOS but failed on Linux CI runners because of PATH
256
+ interaction with the runner's `/usr/bin/gh`. v0.18.1 gated the test
257
+ behind `E2E=1`. v0.19 rewrites the stub in Node (the runtime — present
258
+ on every platform DocGuard supports). Net result: upgrade --pr e2e now
259
+ runs in regular CI on every platform with no opt-in required.
260
+
261
+ ### Documentation
262
+
263
+ - **`docs-canonical/SURFACE-AUDIT.md`** (new).** Full survey of the 21
264
+ commands, 23 validators, and every count claim in every canonical doc.
265
+ Sections cover: hard data, every drift, overlap matrix between commands,
266
+ proposed target surface for v0.20 (~13 verbs after consolidation),
267
+ migration plan with deprecation aliases, the canonical-sync spec, and
268
+ open questions answered. Maintainer-facing — refresh quarterly or when
269
+ surface changes by more than ±3 commands.
270
+
271
+ ### Notes / Deferred
272
+
273
+ - The consolidation itself (folding `agents`/`badge`/`ci`/`hooks`/`llms`/
274
+ `publish` into `init --with`; renaming `setup` → `init --wizard`;
275
+ renaming `impact` → `diff --since`; dropping the 11 cute aliases) is
276
+ intentionally **deferred to v0.20.0** with a migration guide. v0.19
277
+ establishes the self-policing first so the v0.20 surface changes can't
278
+ silently break the docs.
279
+ - P4 (Generated-Staleness depth optimization) was superseded by v0.18-P2's
280
+ cross-process disk cache, which covers the same scenario at the
281
+ plan-cache layer for all validators.
282
+
10
283
  ## [0.18.1] - 2026-05-26
11
284
 
12
285
  Hotfix: v0.18.0 publish failed because the new `upgrade --pr` end-to-end test (which used a shell-script stub `gh`) was platform-specific — passed on macOS, failed on Linux CI runners due to interaction with the runner's existing `/usr/bin/gh`. Gated the test behind `E2E=1` (same pattern as the stress test) so the regular CI suite stays green. The production `upgrade --pr` code path is still covered by `tests/upgrade-pr.test.mjs`. v0.19 will switch to a Node-based gh stub.