docguard-cli 0.11.2__tar.gz → 0.13.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.
- {docguard_cli-0.11.2/extensions/spec-kit-docguard → docguard_cli-0.13.0/.agent}/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.11.2/extensions/spec-kit-docguard → docguard_cli-0.13.0/.agent}/skills/docguard-guard/SKILL.md +3 -3
- {docguard_cli-0.11.2/extensions/spec-kit-docguard → docguard_cli-0.13.0/.agent}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/docguard-sync/SKILL.md +1 -1
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.docguard.json +7 -8
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/AGENTS.md +1 -1
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/CHANGELOG.md +86 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/PKG-INFO +36 -17
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/README.md +35 -16
- docguard_cli-0.13.0/action.yml +331 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/fix.mjs +55 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/guard.mjs +129 -5
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/init.mjs +52 -1
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/sync.mjs +50 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/trace.mjs +105 -0
- docguard_cli-0.13.0/cli/commands/upgrade.mjs +250 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/docguard.mjs +39 -3
- docguard_cli-0.13.0/cli/shared-git.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/shared-ignore.mjs +50 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/shared.mjs +62 -0
- docguard_cli-0.13.0/cli/validators/cross-reference.mjs +289 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/docs-sync.mjs +15 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/freshness.mjs +5 -10
- docguard_cli-0.13.0/cli/validators/generated-staleness.mjs +97 -0
- docguard_cli-0.13.0/cli/writers/fix-memory.mjs +133 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/writers/mechanical.mjs +22 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/commands/docguard.guard.md +2 -2
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs/quickstart.md +1 -1
- docguard_cli-0.13.0/docs-canonical/CI-RECIPES.md +216 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/README.md +1 -1
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/commands/guard.md +1 -1
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/extension.yml +11 -1
- {docguard_cli-0.11.2/.agent → docguard_cli-0.13.0/extensions/spec-kit-docguard}/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.11.2/.agent → docguard_cli-0.13.0/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +3 -3
- {docguard_cli-0.11.2/.agent → docguard_cli-0.13.0/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +1 -1
- docguard_cli-0.13.0/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +51 -0
- docguard_cli-0.13.0/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +48 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/package.json +1 -1
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/pyproject.toml +1 -1
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/commands/docguard.guard.md +2 -2
- docguard_cli-0.13.0/tests/changed-only.test.mjs +77 -0
- docguard_cli-0.13.0/tests/cross-reference.test.mjs +224 -0
- docguard_cli-0.13.0/tests/docguardignore.test.mjs +138 -0
- docguard_cli-0.13.0/tests/fix-memory.test.mjs +141 -0
- docguard_cli-0.13.0/tests/generated-staleness.test.mjs +97 -0
- docguard_cli-0.13.0/tests/severity.test.mjs +179 -0
- docguard_cli-0.13.0/tests/shared-git.test.mjs +190 -0
- docguard_cli-0.13.0/tests/sweep-nudge.test.mjs +110 -0
- docguard_cli-0.13.0/tests/sync-since.test.mjs +99 -0
- docguard_cli-0.13.0/tests/trace-reverse.test.mjs +96 -0
- docguard_cli-0.13.0/tests/upgrade.test.mjs +131 -0
- docguard_cli-0.11.2/action.yml +0 -166
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/commands/speckit.analyze.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/commands/speckit.checklist.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/commands/speckit.clarify.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/commands/speckit.constitution.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/commands/speckit.implement.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/commands/speckit.plan.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/commands/speckit.specify.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/commands/speckit.tasks.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/commands/speckit.taskstoissues.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/speckit-analyze/SKILL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/speckit-checklist/SKILL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/speckit-clarify/SKILL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/speckit-constitution/SKILL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/speckit-implement/SKILL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/speckit-plan/SKILL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/speckit-specify/SKILL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/speckit-tasks/SKILL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.docguardignore +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.github/dependabot.yml +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.github/scripts/patch-catalog.py +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.github/workflows/ci.yml +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.github/workflows/release.yml +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.github/workflows/supply-chain.yml +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.github/workflows/sync-speckit-catalog.yml +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.gitignore +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.jules/bolt.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.jules/palette.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.jules/sentinel.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.npmignore +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.npmrc +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/extensions/.cache/catalog-metadata.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/extensions/.cache/catalog.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/init-options.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/memory/constitution.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/scripts/bash/common.sh +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/scripts/bash/setup-plan.sh +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/templates/agent-file-template.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/templates/checklist-template.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/templates/constitution-template.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/templates/plan-template.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/templates/spec-template.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/.specify/templates/tasks-template.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/CODE_OF_CONDUCT.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/COMPARISONS.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/CONTRIBUTING.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/DRIFT-LOG.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/LICENSE +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/PHILOSOPHY.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/ROADMAP.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/SECURITY.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/STANDARD.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/SUPPLY-CHAIN-AUDIT.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/SUPPORT.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/agents.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/badge.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/ci.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/diagnose.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/diff.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/generate.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/hooks.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/llms.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/publish.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/score.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/setup.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/commands/watch.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/ensure-skills.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/api-doc.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/cdk.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/doc-tools.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/frontend.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/iac.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/integrations.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/memory-plan.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/project-type.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/routes.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/schemas.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/scanners/speckit.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/shared-source.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/api-surface.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/architecture.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/changelog.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/doc-quality.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/docs-coverage.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/docs-diff.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/drift.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/environment.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/metadata-sync.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/metrics-consistency.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/schema-sync.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/security.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/structure.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/test-spec.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/todo-tracking.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/validators/traceability.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/writers/api-reference.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/cli/writers/sections.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/commands/docguard.fix.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/commands/docguard.review.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/commands/docguard.score.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/configs/fastify.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/configs/generic.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/configs/nextjs.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/configs/python.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docguard_cli/__init__.py +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docguard_cli/wrapper.py +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs/ai-integration.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs/commands.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs/configuration.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs/doc-sections.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs/faq.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs/installation.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs/profiles.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/01-express-api/README.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/01-express-api/package.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/01-express-api/server.js +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/02-python-flask/README.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/02-python-flask/app.py +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/02-python-flask/requirements.txt +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/03-spec-kit-project/README.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/03-spec-kit-project/package.json +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/03-spec-kit-project/src/index.js +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/examples/README.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/LICENSE +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/commands/fix.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/commands/generate.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/commands/init.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/commands/score.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/commands/sync.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/commands/trace.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/pr_description.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/specs/001-fix-ignore-validators/plan.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/specs/001-fix-ignore-validators/spec.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/specs/001-fix-ignore-validators/tasks.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/specs/002-fix-test-discovery/plan.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/specs/002-fix-test-discovery/spec.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/specs/002-fix-test-discovery/tasks.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/specs/003-v011-false-positives/plan.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/specs/003-v011-false-positives/spec.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/specs/003-v011-false-positives/tasks.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/ADR.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/AGENTS.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/ARCHITECTURE.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/CHANGELOG.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/CURRENT-STATE.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/DATA-MODEL.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/DEPLOYMENT.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/DRIFT-LOG.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/ENVIRONMENT.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/KNOWN-GOTCHAS.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/REQUIREMENTS.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/ROADMAP.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/RUNBOOKS.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/SECURITY.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/TEST-SPEC.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/TROUBLESHOOTING.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/VENDOR-BUGS.md.template +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/ci/github-actions.yml +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/commands/docguard.fix.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/commands/docguard.init.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/commands/docguard.review.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/templates/commands/docguard.update.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/test-draft.js +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/test-metrics.js +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/api-doc.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/api-surface.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/api-write.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/architecture.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/backup-failure.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/cdk-detection.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/changelog.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/commands.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/doc-quality.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/docs-coverage.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/docs-diff.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/docs-sync.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/drift.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/environment.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/freshness.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/frontend-deep.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/frontend.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/guard-classify.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/hooks.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/i18n.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/integrations.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/mechanical.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/memory-plan.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/metadata-sync.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/metrics-consistency.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/monorepo-scanning.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/multi-spec.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/patch-0.11.2.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/project-type.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/routes-multilang.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/schema-sync.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/schemas-multilang.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/schemas.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/sections.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/security.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/shared-source.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/structure.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/sync.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/test-spec.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/todo-tracking.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/tests/traceability.test.mjs +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/vscode-extension/.vscodeignore +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/vscode-extension/README.md +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.0}/vscode-extension/extension.js +0 -0
- {docguard_cli-0.11.2 → docguard_cli-0.13.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.
|
|
9
|
+
version: 0.13.0
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.
|
|
12
|
+
<!-- docguard:version: 0.13.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.
|
|
10
|
+
version: 0.13.0
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
-
<!-- docguard:version: 0.
|
|
13
|
+
<!-- docguard:version: 0.13.0 -->
|
|
14
14
|
|
|
15
15
|
# DocGuard Guard Skill
|
|
16
16
|
|
|
@@ -139,7 +139,7 @@ For each finding, provide a **specific, actionable fix** — not "fix the issue"
|
|
|
139
139
|
|
|
140
140
|
Based on the triage results:
|
|
141
141
|
|
|
142
|
-
- **If all PASS**: "All
|
|
142
|
+
- **If all PASS**: "All 22 validators passed. Project is CDD-compliant. Ready to commit."
|
|
143
143
|
- **If only MEDIUM/LOW warnings**: "Non-blocking warnings found. Safe to commit, but consider running `/docguard.fix` for automated remediation."
|
|
144
144
|
- **If HIGH or CRITICAL failures**: "Blocking issues found. Fix these before committing. Suggest running `/docguard.fix --doc [most impactful doc]` next."
|
|
145
145
|
|
|
@@ -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.
|
|
9
|
+
version: 0.13.0
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.
|
|
12
|
+
<!-- docguard:version: 0.13.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.
|
|
9
|
+
version: 0.13.0
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-score
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.
|
|
12
|
+
<!-- docguard:version: 0.13.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.
|
|
7
|
+
version: 0.13.0
|
|
8
8
|
source: extensions/spec-kit-docguard/skills/docguard-sync
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"projectName": "docguard",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5",
|
|
4
4
|
"profile": "enterprise",
|
|
5
|
-
|
|
6
5
|
"projectType": "cli",
|
|
7
|
-
|
|
8
6
|
"requiredFiles": {
|
|
9
7
|
"canonical": [
|
|
10
8
|
"docs-canonical/ARCHITECTURE.md",
|
|
@@ -13,11 +11,13 @@
|
|
|
13
11
|
"docs-canonical/TEST-SPEC.md",
|
|
14
12
|
"docs-canonical/ENVIRONMENT.md"
|
|
15
13
|
],
|
|
16
|
-
"agentFile": [
|
|
14
|
+
"agentFile": [
|
|
15
|
+
"AGENTS.md",
|
|
16
|
+
"CLAUDE.md"
|
|
17
|
+
],
|
|
17
18
|
"changelog": "CHANGELOG.md",
|
|
18
19
|
"driftLog": "DRIFT-LOG.md"
|
|
19
20
|
},
|
|
20
|
-
|
|
21
21
|
"projectTypeConfig": {
|
|
22
22
|
"needsEnvVars": false,
|
|
23
23
|
"needsEnvExample": false,
|
|
@@ -26,11 +26,9 @@
|
|
|
26
26
|
"testFramework": "node:test",
|
|
27
27
|
"runCommand": "node cli/docguard.mjs"
|
|
28
28
|
},
|
|
29
|
-
|
|
30
29
|
"securityIgnore": [
|
|
31
30
|
"tests/**"
|
|
32
31
|
],
|
|
33
|
-
|
|
34
32
|
"validators": {
|
|
35
33
|
"structure": true,
|
|
36
34
|
"docsSync": true,
|
|
@@ -41,5 +39,6 @@
|
|
|
41
39
|
"security": true,
|
|
42
40
|
"environment": true,
|
|
43
41
|
"freshness": true
|
|
44
|
-
}
|
|
42
|
+
},
|
|
43
|
+
"severity": {}
|
|
45
44
|
}
|
|
@@ -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) —
|
|
44
|
+
| `guard` | Validate project (CI gate) — 22 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,92 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.13.0] - 2026-05-26
|
|
11
|
+
|
|
12
|
+
Feature release — full backlog cleanup. **Phase L** (sync intelligence: 3 features), **Phase M** (bigger validators: 2 features), **Phase N** (polish: 2 fixes), and a new `shared-git.mjs` module that gives every git-touching validator rename-aware history. **22 validators total** (was 21). 434 tests, +34 from v0.12.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **L-1 / S-1: `sync --since <ref>` surgical refresh.** `sync` now uses the git diff against the given ref to decide which code-truth doc sections actually need refreshing. Sections whose underlying source files weren't in the diff are explicitly skipped (with a `skipped` entry naming the section). When the diff contains no code files at all (e.g. PRs that touch only markdown), sync is a fast no-op. Saves wall-clock time on large monorepos.
|
|
17
|
+
- **L-2 / S-3: `trace --reverse <code-path>`.** Mirror of the forward trace — given a code file path, finds every canonical doc that references it. Three match strategies (direct path, basename, backticked module name) with a per-doc summary in text mode or full match list in JSON mode. Surfaces "is this file documented anywhere?" in one command.
|
|
18
|
+
- **L-3 / S-4: Rename detection via `git log --follow`.** New `cli/shared-git.mjs` module centralises every git-log call. All file-scoped queries now pass `--follow` so a `git mv` no longer resets the file's history. Freshness, Test-Spec, Traceability — anything that asks git "when was this file last touched?" — now answers correctly across renames.
|
|
19
|
+
- **M-1 / S-7: Generated-Doc Staleness validator** (22nd validator). New validator re-runs the memory-plan scanner and compares each `source=code` section's expected body against on-disk content. Flags sections where the doc and the scanner disagree — i.e. either code changed without `sync --write` running, or someone hand-edited a machine-owned section. Warning includes a "first drift at line N" hint that names the diff site.
|
|
20
|
+
- **M-2 / S-10: `.docguard/fixed.json` fix-history audit log.** Every mechanical fix `fix --write` applies is appended to a small JSON log under `.docguard/`. Entries are fingerprinted by `type+file+summary` and deduped (re-applying the same fix updates the timestamp instead of growing the file). Rolls over at 500 entries. New `docguard fix --history` command pretty-prints the log grouped by day. Also recorded: `appliedBy` (so K-1's `docguard-bot` auto-commits are distinguishable from human runs).
|
|
21
|
+
- **N-1: Per-file scoping of `--changed-only`.** The `--changed-only` lite mode now computes the actually-changed files (`git diff --name-only HEAD~1 HEAD`, configurable with `--since`) and passes them as `config.changedFiles` to validators that opt in. Docs-Sync is the first opt-in: routes and services outside the changed set are skipped entirely. On wu-whatsappinbox the Docs-Sync check count went from 101 → 21 in `--changed-only` mode.
|
|
22
|
+
- **N-2: 4 broken README anchors fixed** (caught by K-7's Cross-Reference validator). `[Commands](#-commands)` → `[Usage](#usage)`. `CONTRIBUTING.md` added to the validator's standard-docs lookup list (along with CODE_OF_CONDUCT.md, SECURITY.md, PHILOSOPHY.md, STANDARD.md, COMPARISONS.md) so cross-doc refs to those resolve.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- **22 validators total** (was 21). Auto-fix bumped 6 doc references from "21 validators" → "22 validators" during the version bump.
|
|
27
|
+
- **Trace command** (existing) now honors `--reverse` to switch to the new reverse mode; the forward mode is unchanged.
|
|
28
|
+
- **`docguard guard` JSON output** for `--format json` no longer prints the banner or `ensureSkills` line — same headless fix as v0.12, extended to `trace --reverse --format json` and other JSON-mode commands.
|
|
29
|
+
|
|
30
|
+
### Internal
|
|
31
|
+
|
|
32
|
+
- **6 new test files**: `tests/shared-git.test.mjs` (11), `tests/sync-since.test.mjs` (3), `tests/trace-reverse.test.mjs` (5), `tests/generated-staleness.test.mjs` (4), `tests/fix-memory.test.mjs` (11), plus updates to `tests/changed-only.test.mjs`. **Total: 434 tests passing (was 400, +34 new).**
|
|
33
|
+
- **New modules**: `cli/shared-git.mjs` (centralized git plumbing with --follow), `cli/validators/generated-staleness.mjs` (M-1), `cli/writers/fix-memory.mjs` (M-2). New helpers exported from sync.mjs: section→file matcher table for surgical refresh.
|
|
34
|
+
- **Action / CLI dual-fix from v0.12** is now coordinated: K-1's auto-fix Action records to `.docguard/fixed.json` via `appliedBy: 'docguard-bot'`, giving teams a permanent record of which fixes the bot applied without diving into git history.
|
|
35
|
+
- **Dry-run on wu-whatsappinbox before push** (read-only): 670/674 PASS in 1.82s with all 22 validators. 4 warnings are stale "21 validators" references in wu's local docguard skill files — those auto-fix on the next `fix --write`.
|
|
36
|
+
- Bumped extension files via auto-fix (6 files: extension.yml + 5 SKILL.md).
|
|
37
|
+
- No new NPM dependencies. Still zero deps.
|
|
38
|
+
|
|
39
|
+
### Out of scope (deferred to v0.14)
|
|
40
|
+
|
|
41
|
+
- **Fix-history suppression**: M-2 currently records but doesn't suppress. v0.14 will let `fix --write` skip fixes that were applied + reverted (avoiding ping-pong loops).
|
|
42
|
+
- **More validators opt-into `config.changedFiles`**: N-1 only wires Docs-Sync. Environment and API-Surface could also benefit from path-level scoping.
|
|
43
|
+
- **`generate-staleness` per-section auto-fix**: M-1 only warns; a future enhancement could emit structured fixes that `sync --write` consumes.
|
|
44
|
+
- **`docguard upgrade --apply` for cross-machine teams**: currently in-place; could grow a "team-wide" mode that opens a PR.
|
|
45
|
+
|
|
46
|
+
## [0.12.0] - 2026-05-26
|
|
47
|
+
|
|
48
|
+
Feature release — Phase K (7 features). Schema bump to **0.5**. Adds the
|
|
49
|
+
PR-time auto-fix GitHub Action, `docguard upgrade` command + post-guard
|
|
50
|
+
nudge, `.docguardignore` support, per-validator severity overrides,
|
|
51
|
+
pre-commit-lite mode, sweep-needed nudge, and the new Cross-Reference
|
|
52
|
+
validator (21 validators total, up from 20). Plus 4 papercut fixes
|
|
53
|
+
caught during the wu-whatsappinbox dry-run.
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
|
|
57
|
+
- **K-1: PR-time auto-fix GitHub Action.** Extended `action.yml` with `command: fix` and `command: sync`, plus new inputs `auto-commit`, `comment-on-pr`, `commit-message`, `bot-name`, `bot-email`, and new outputs `fixes-applied`, `changed-files`, `committed`. The action commits any mechanical fixes back to the PR branch as `docguard-bot` and posts a summary comment. Fork PRs are skipped (head.repo != repository). Two ready-to-copy workflow templates ship under `extensions/spec-kit-docguard/templates/github-workflows/`: `docguard-guard.yml` (mandatory CI gate) and `docguard-autofix.yml` (PR auto-fix). Full recipe matrix in the new `docs-canonical/CI-RECIPES.md`.
|
|
58
|
+
- **K-2: `docguard upgrade` command + post-guard schema-behind nudge.** New `docguard upgrade` checks installed CLI vs latest npm version (3-second-timeout fetch, fails open if offline) and project schema vs `CURRENT_SCHEMA_VERSION`. Flags: `--check-only` (exit 1 if behind, for CI), `--apply` (runs `npm i -g docguard-cli@latest` and migrates `.docguard.json`). `docguard guard` now appends a yellow `↑` nudge when the project's schema is behind. Aliased as `docguard update`.
|
|
59
|
+
- **K-3: `.docguardignore` template at init (S-5).** New gitignore-style file (`one pattern per line, # comments`) merged into `config.ignore` at config-load time so every validator honors it. `docguard init` drops a starter `.docguardignore` covering common build outputs, generated code, and lock files. Loader (`loadDocguardIgnore`) + merger (`mergeIgnoreFile`) live in `cli/shared-ignore.mjs` — missing/unreadable file is a no-op.
|
|
60
|
+
- **K-4: Per-validator severity overrides in `.docguard.json` (S-6).** New `severity` map: `{ severity: { todoTracking: "high", freshness: "low" } }`. `'high'` promotes that validator's warnings to fail-CI status (exit 1). `'low'` demotes them to info (no exit-code effect). `'medium'` (default) keeps existing exit-2 behavior. Display is unchanged — severity only affects CI. New `data.effectiveErrors` and `data.effectiveWarnings` fields in the JSON output reflect the severity-aware counts. The CLI prints a one-line note when overrides shifted the exit code.
|
|
61
|
+
- **K-5: Pre-commit lite mode (S-9).** `docguard guard --changed-only` runs only the 3 fastest, highest-signal validators: Docs-Sync + Environment + API-Surface. Designed to complete in under 2 seconds for husky/lefthook pre-commit hooks. Validator list exported as `CHANGED_ONLY_VALIDATORS` for tooling. Recipe 5 in CI-RECIPES documents the integration.
|
|
62
|
+
- **K-6: Sweep-needed nudge from Freshness counters (S-2).** When 2+ canonical docs are stale (10+ commits since last update), the guard footer now emits a single `↻` line recommending `docguard sync --write` to refresh all code-truth sections in one pass. Aggregates individual freshness warnings into one actionable recommendation. Suppressed in `--format json` mode.
|
|
63
|
+
- **K-7: Cross-Reference validator (S-8) — 21st validator.** New `Cross-Reference` validator scans canonical docs for cross-references (markdown links like `[text](./OTHER.md#section)` and intra-doc anchors `#anchor`) and warns when they don't resolve. Extracts headings and computes GFM-compatible slugs. Skips external URLs (http/https/mailto), code-fenced examples, inline backtick code, and non-markdown link targets. URL-decodes anchors before comparison so `%EF%B8%8F`-encoded variation selectors resolve. Caught **14 broken refs in our own README** during the dry-run (4 remain after slugifier fixes — those are real bugs for a future doc cleanup PR).
|
|
64
|
+
- **Antigravity / Kiro / Windsurf / GEMINI signal aliases (also in v0.11.2).** `cli/ensure-skills.mjs` detects these agent ecosystems via additional signal files. Doc-only mention here for visibility — code shipped in v0.11.2.
|
|
65
|
+
|
|
66
|
+
### Changed
|
|
67
|
+
|
|
68
|
+
- **Schema bumped from 0.4 → 0.5.** Migration is purely additive: `severity: {}` field appears on existing configs. Run `docguard upgrade --apply` to migrate (or hand-edit). The post-guard nudge fires until you do.
|
|
69
|
+
- **`docguard init` writes schema version `0.5`** with an empty `severity: {}` block and now also creates `.docguardignore`.
|
|
70
|
+
- **`docguard guard` JSON output** includes new fields: `effectiveErrors`, `effectiveWarnings`, and per-validator `severity`.
|
|
71
|
+
|
|
72
|
+
### Fixed
|
|
73
|
+
|
|
74
|
+
- **Docs-Coverage Check 5 silent-fail** (also in v0.11.2) — recommended README sections no longer bump `total` without emitting a message. Now a true bonus: present = +1, missing = no-op.
|
|
75
|
+
- **Papercut #1 — `upgrade` missed pre-0.4 schemas.** A `.docguard.json` that exists but has no `version` field (the 2024-era format used by `wu-whatsappinbox`, with `project` instead of `projectName`) was silently treated as "no config". Now: `readProjectSchemaVersion` returns the sentinel `'0.0'` for pre-0.4 schemas, and the migration registry has a `0.0 → 0.4` recipe that renames `project → projectName` while stamping the version. The user-facing label is friendlier too ("pre-0.4 (no version field)" instead of "Schema 0.0").
|
|
76
|
+
- **Papercut #2 — `--format json` was unparseable.** The banner and `ensureSkills` install message wrote to stdout BEFORE the JSON body, so `JSON.parse` failed on every consumer. New `jsonMode` + `headless` detection in `main()` skips both for `--format json`, `--write`, `--check-only`, and `--changed-only`. Affects every Action recipe using `format: json` (Score-on-PR was broken).
|
|
77
|
+
- **Papercut #3 — auto-fix Action counted CLI side effects as "fixes".** `ensureSkills` writes to `.agent/`, `.specify/`, `commands/` on first run; the Action's `git status --porcelain` diff was treating those as mechanical fixes and committing them. Two-part fix: (1) the new headless-mode skips `ensureSkills` so the side effects don't appear, and (2) the Action's bash filter excludes `.agent/`, `.specify/`, `commands/`, `.docguard/`, `.wolf/`, `.claude/` from the changed-files detection as belt-and-suspenders.
|
|
78
|
+
- **Papercut #4 — slugifier didn't match GitHub's GFM.** The Cross-Reference validator's first iteration false-positived on every emoji-prefixed heading (`## ⚡ Quick Start` → GitHub produces `#-quick-start` with a leading dash, but my code produced `#quick-start`). Also collapsed `--` to `-` which GitHub keeps. Three bugs fixed; tests now lock in GFM compatibility for emoji-prefixed headings and stripped-punctuation cases.
|
|
79
|
+
|
|
80
|
+
### Internal
|
|
81
|
+
|
|
82
|
+
- 6 new test files: `tests/upgrade.test.mjs` (12 tests), `tests/docguardignore.test.mjs` (11 tests), `tests/severity.test.mjs` (9 tests), `tests/changed-only.test.mjs` (4 tests), `tests/sweep-nudge.test.mjs` (3 tests), `tests/cross-reference.test.mjs` (22 tests). **Total: 400 tests passing (was 339, +61 new).**
|
|
83
|
+
- Cross-Reference validator added (21 total validators, up from 20). Metrics-Consistency picked up the new count and `fix --write` auto-bumped 8 doc references from "20 validators" → "21 validators" in one pass — eating our own dogfood.
|
|
84
|
+
- Dry-run on `wu-whatsappinbox` (read-only) before push surfaced the 4 papercuts above. All fixed in this release.
|
|
85
|
+
- New modules: `cli/commands/upgrade.mjs`, `loadDocguardIgnore` + `mergeIgnoreFile` exports in `cli/shared-ignore.mjs`, `CURRENT_SCHEMA_VERSION` + `SEVERITY_LEVELS` + `resolveSeverity` + `compareVersions` + `parseVersion` exports in `cli/shared.mjs`, `CHANGED_ONLY_VALIDATORS` + `liteValidatorsConfig` in `cli/commands/guard.mjs`.
|
|
86
|
+
- New docs: `docs-canonical/CI-RECIPES.md` (5 recipes + permissions cheatsheet + full action inputs/outputs reference).
|
|
87
|
+
- `action.yml` grew from 166 → 323 lines (+157) with the auto-commit/comment flow.
|
|
88
|
+
- No new NPM runtime dependencies. Still zero deps. Node 18+ for built-in `fetch` (used by `upgrade` to check the npm registry).
|
|
89
|
+
|
|
90
|
+
### Out of scope (deferred to v0.13)
|
|
91
|
+
|
|
92
|
+
- **Phase L (sync intelligence)**: S-1 `sync --since` surgical refresh (currently only reports diff as context), S-2 sweep-needed nudge from freshness counters, S-3 `trace --reverse` (code → doc-section map), S-4 rename detection via `git log --follow`.
|
|
93
|
+
- **Phase M (bigger validators)**: S-7 generated-doc-in-draft staleness validator, S-8 cross-reference validator (broken `§X` anchors), S-10 `.docguard/fixed.json` memory of past fixes.
|
|
94
|
+
- **K-5 enhancement**: scope each lite-mode validator to changed files only (currently the 3 validators run against the whole repo — fast enough but not optimal). Tracked for v0.13.
|
|
95
|
+
|
|
10
96
|
## [0.11.2] - 2026-05-25
|
|
11
97
|
|
|
12
98
|
Patch release addressing the four bugs (B-1..B-4) reported from the v0.11.1 audit of `wu-whatsappinbox` (score 98/100, 572/575 passed, 1 warning), plus Antigravity/Kiro/Windsurf agent-routing aliases and a Docs-Coverage silent-fail fix that the new B-4 nudge itself exposed.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docguard-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.0
|
|
4
4
|
Summary: The enforcement tool for Canonical-Driven Development (CDD). Audit, generate, and guard your project documentation. Zero dependencies.
|
|
5
5
|
Project-URL: Homepage, https://github.com/raccioly/docguard
|
|
6
6
|
Project-URL: Documentation, https://github.com/raccioly/docguard#readme
|
|
@@ -41,7 +41,7 @@ Description-Content-Type: text/markdown
|
|
|
41
41
|
- [What is DocGuard?](#what-is-docguard)
|
|
42
42
|
- [Quick Start](#-quick-start)
|
|
43
43
|
- [Spec Kit Integration](#-spec-kit-integration)
|
|
44
|
-
- [
|
|
44
|
+
- [Usage](#usage)
|
|
45
45
|
- [Validators](#-validators)
|
|
46
46
|
- [Templates](#-templates)
|
|
47
47
|
- [AI Agent Support](#-ai-agent-support)
|
|
@@ -367,7 +367,7 @@ DocGuard provides AI agent slash commands for integrated workflows. Installed au
|
|
|
367
367
|
|
|
368
368
|
| Command | What It Does |
|
|
369
369
|
|:--------|:-------------|
|
|
370
|
-
| `/docguard.guard` | Run quality validation — check all
|
|
370
|
+
| `/docguard.guard` | Run quality validation — check all 22 validators |
|
|
371
371
|
| `/docguard.review` | Analyze doc quality and suggest improvements |
|
|
372
372
|
| `/docguard.fix` | Generate targeted fix prompts for specific issues |
|
|
373
373
|
| `/docguard.score` | Show CDD maturity score with category breakdown |
|
|
@@ -457,20 +457,42 @@ DocGuard runs its own `guard`, `score`, `diff`, `diagnose`, and `badge` commands
|
|
|
457
457
|
|
|
458
458
|
## ⚙️ CI/CD Integration
|
|
459
459
|
|
|
460
|
-
|
|
460
|
+
> **Full recipes:** see [`docs-canonical/CI-RECIPES.md`](./docs-canonical/CI-RECIPES.md) for guard, auto-fix (commits mechanical fixes back to PRs), nightly sync, score-on-PR, and pre-commit configs.
|
|
461
|
+
|
|
462
|
+
### GitHub Actions — Guard (most common)
|
|
461
463
|
|
|
462
464
|
```yaml
|
|
463
|
-
name: DocGuard
|
|
464
|
-
on: [pull_request]
|
|
465
|
+
name: DocGuard Guard
|
|
466
|
+
on: [pull_request, push]
|
|
465
467
|
jobs:
|
|
466
468
|
docguard:
|
|
467
469
|
runs-on: ubuntu-latest
|
|
468
470
|
steps:
|
|
469
471
|
- uses: actions/checkout@v4
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
472
|
+
with: { fetch-depth: 0 }
|
|
473
|
+
- uses: raccioly/docguard@v0.12.0
|
|
474
|
+
with:
|
|
475
|
+
command: guard
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
### GitHub Actions — Auto-Fix (commits mechanical fixes back)
|
|
479
|
+
|
|
480
|
+
```yaml
|
|
481
|
+
name: DocGuard Auto-Fix
|
|
482
|
+
on: { pull_request: { types: [opened, synchronize, reopened] } }
|
|
483
|
+
permissions: { contents: write, pull-requests: write }
|
|
484
|
+
jobs:
|
|
485
|
+
autofix:
|
|
486
|
+
runs-on: ubuntu-latest
|
|
487
|
+
if: github.event.pull_request.head.repo.full_name == github.repository
|
|
488
|
+
steps:
|
|
489
|
+
- uses: actions/checkout@v4
|
|
490
|
+
with:
|
|
491
|
+
ref: ${{ github.event.pull_request.head.ref }}
|
|
492
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
493
|
+
fetch-depth: 0
|
|
494
|
+
- uses: raccioly/docguard@v0.12.0
|
|
495
|
+
with: { command: fix, auto-commit: 'true', comment-on-pr: 'true' }
|
|
474
496
|
```
|
|
475
497
|
|
|
476
498
|
### Pre-commit Hook
|
|
@@ -479,14 +501,11 @@ jobs:
|
|
|
479
501
|
npx docguard-cli hooks --type pre-commit
|
|
480
502
|
```
|
|
481
503
|
|
|
482
|
-
###
|
|
504
|
+
### Workflow starters (copy directly)
|
|
483
505
|
|
|
484
|
-
|
|
485
|
-
-
|
|
486
|
-
|
|
487
|
-
command: guard
|
|
488
|
-
fail-on-warning: true
|
|
489
|
-
```
|
|
506
|
+
Two ready-to-use templates ship with the Spec Kit extension and as standalone files:
|
|
507
|
+
- `extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml` — mandatory CI gate
|
|
508
|
+
- `extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml` — PR auto-fix
|
|
490
509
|
|
|
491
510
|
---
|
|
492
511
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
- [What is DocGuard?](#what-is-docguard)
|
|
18
18
|
- [Quick Start](#-quick-start)
|
|
19
19
|
- [Spec Kit Integration](#-spec-kit-integration)
|
|
20
|
-
- [
|
|
20
|
+
- [Usage](#usage)
|
|
21
21
|
- [Validators](#-validators)
|
|
22
22
|
- [Templates](#-templates)
|
|
23
23
|
- [AI Agent Support](#-ai-agent-support)
|
|
@@ -343,7 +343,7 @@ DocGuard provides AI agent slash commands for integrated workflows. Installed au
|
|
|
343
343
|
|
|
344
344
|
| Command | What It Does |
|
|
345
345
|
|:--------|:-------------|
|
|
346
|
-
| `/docguard.guard` | Run quality validation — check all
|
|
346
|
+
| `/docguard.guard` | Run quality validation — check all 22 validators |
|
|
347
347
|
| `/docguard.review` | Analyze doc quality and suggest improvements |
|
|
348
348
|
| `/docguard.fix` | Generate targeted fix prompts for specific issues |
|
|
349
349
|
| `/docguard.score` | Show CDD maturity score with category breakdown |
|
|
@@ -433,20 +433,42 @@ DocGuard runs its own `guard`, `score`, `diff`, `diagnose`, and `badge` commands
|
|
|
433
433
|
|
|
434
434
|
## ⚙️ CI/CD Integration
|
|
435
435
|
|
|
436
|
-
|
|
436
|
+
> **Full recipes:** see [`docs-canonical/CI-RECIPES.md`](./docs-canonical/CI-RECIPES.md) for guard, auto-fix (commits mechanical fixes back to PRs), nightly sync, score-on-PR, and pre-commit configs.
|
|
437
|
+
|
|
438
|
+
### GitHub Actions — Guard (most common)
|
|
437
439
|
|
|
438
440
|
```yaml
|
|
439
|
-
name: DocGuard
|
|
440
|
-
on: [pull_request]
|
|
441
|
+
name: DocGuard Guard
|
|
442
|
+
on: [pull_request, push]
|
|
441
443
|
jobs:
|
|
442
444
|
docguard:
|
|
443
445
|
runs-on: ubuntu-latest
|
|
444
446
|
steps:
|
|
445
447
|
- uses: actions/checkout@v4
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
448
|
+
with: { fetch-depth: 0 }
|
|
449
|
+
- uses: raccioly/docguard@v0.12.0
|
|
450
|
+
with:
|
|
451
|
+
command: guard
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
### GitHub Actions — Auto-Fix (commits mechanical fixes back)
|
|
455
|
+
|
|
456
|
+
```yaml
|
|
457
|
+
name: DocGuard Auto-Fix
|
|
458
|
+
on: { pull_request: { types: [opened, synchronize, reopened] } }
|
|
459
|
+
permissions: { contents: write, pull-requests: write }
|
|
460
|
+
jobs:
|
|
461
|
+
autofix:
|
|
462
|
+
runs-on: ubuntu-latest
|
|
463
|
+
if: github.event.pull_request.head.repo.full_name == github.repository
|
|
464
|
+
steps:
|
|
465
|
+
- uses: actions/checkout@v4
|
|
466
|
+
with:
|
|
467
|
+
ref: ${{ github.event.pull_request.head.ref }}
|
|
468
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
469
|
+
fetch-depth: 0
|
|
470
|
+
- uses: raccioly/docguard@v0.12.0
|
|
471
|
+
with: { command: fix, auto-commit: 'true', comment-on-pr: 'true' }
|
|
450
472
|
```
|
|
451
473
|
|
|
452
474
|
### Pre-commit Hook
|
|
@@ -455,14 +477,11 @@ jobs:
|
|
|
455
477
|
npx docguard-cli hooks --type pre-commit
|
|
456
478
|
```
|
|
457
479
|
|
|
458
|
-
###
|
|
480
|
+
### Workflow starters (copy directly)
|
|
459
481
|
|
|
460
|
-
|
|
461
|
-
-
|
|
462
|
-
|
|
463
|
-
command: guard
|
|
464
|
-
fail-on-warning: true
|
|
465
|
-
```
|
|
482
|
+
Two ready-to-use templates ship with the Spec Kit extension and as standalone files:
|
|
483
|
+
- `extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml` — mandatory CI gate
|
|
484
|
+
- `extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml` — PR auto-fix
|
|
466
485
|
|
|
467
486
|
---
|
|
468
487
|
|