docguard-cli 0.29.0__tar.gz → 0.30.1__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.29.0 → docguard_cli-0.30.1}/.github/scripts/speckit-submission.py +5 -4
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.github/workflows/ci.yml +8 -3
- docguard_cli-0.30.1/.github/workflows/jules-triage.yml +85 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.github/workflows/release.yml +10 -8
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.github/workflows/sync-speckit-catalog.yml +1 -1
- docguard_cli-0.30.1/.jules/bolt.md +24 -0
- docguard_cli-0.30.1/.jules/palette.md +11 -0
- docguard_cli-0.30.1/.jules/sentinel.md +24 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.jules-setup.sh +18 -5
- docguard_cli-0.30.1/.npmrc +13 -0
- docguard_cli-0.30.1/.pre-commit-hooks.yaml +49 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/anatomy.md +54 -18
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/buglog.json +155 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/cerebrum.md +11 -0
- docguard_cli-0.30.1/.wolf/hooks/_session.json +137 -0
- docguard_cli-0.30.1/.wolf/hooks/_wrap_up_nudged +1 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/memory.md +135 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/token-ledger.json +9721 -8
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/AGENTS.md +15 -1
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/CHANGELOG.md +72 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/DRIFT-LOG.md +1 -0
- docguard_cli-0.30.1/Dockerfile +26 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/PKG-INFO +19 -2
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/README.md +18 -1
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/mcp.mjs +20 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/score.mjs +9 -4
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/setup.mjs +0 -13
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/trace.mjs +364 -1
- docguard_cli-0.30.1/cli/commands/verify.mjs +154 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/docguard.mjs +11 -3
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/findings.mjs +12 -0
- docguard_cli-0.30.1/cli/scanners/instruction-audit.mjs +320 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/speckit.mjs +346 -1
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/shared-git.mjs +8 -1
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs-canonical/ARCHITECTURE.md +4 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/extension.yml +1 -1
- {docguard_cli-0.29.0/.agent → docguard_cli-0.30.1/extensions/spec-kit-docguard}/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.29.0/.agent → docguard_cli-0.30.1/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.29.0/.agent → docguard_cli-0.30.1/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.29.0/.agent → docguard_cli-0.30.1/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.29.0/.agent → docguard_cli-0.30.1/extensions/spec-kit-docguard}/skills/docguard-sync/SKILL.md +2 -2
- docguard_cli-0.30.1/glama.json +6 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/package.json +2 -1
- docguard_cli-0.30.1/packaging/homebrew/docguard.rb +36 -0
- docguard_cli-0.30.1/packaging/submissions.md +159 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/pyproject.toml +1 -1
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/schemas/docguard-config.schema.json +11 -0
- docguard_cli-0.30.1/server.json +32 -0
- docguard_cli-0.30.1/smithery.yaml +30 -0
- docguard_cli-0.30.1/templates/ci/gitlab-component.yml +90 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/field-report-3.test.mjs +26 -1
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/hooks.test.mjs +40 -0
- docguard_cli-0.30.1/tests/instruction-audit.test.mjs +187 -0
- docguard_cli-0.30.1/tests/speckit-phantom.test.mjs +238 -0
- docguard_cli-0.30.1/tests/trace-features.test.mjs +201 -0
- docguard_cli-0.29.0/.jules/bolt.md +0 -10
- docguard_cli-0.29.0/.jules/palette.md +0 -11
- docguard_cli-0.29.0/.jules/sentinel.md +0 -4
- docguard_cli-0.29.0/.npmrc +0 -7
- docguard_cli-0.29.0/.wolf/hooks/_session.json +0 -362
- docguard_cli-0.29.0/.wolf/hooks/_wrap_up_nudged +0 -1
- docguard_cli-0.29.0/cli/commands/verify.mjs +0 -67
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/docguard.fix.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/docguard.guard.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/docguard.review.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/docguard.score.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/speckit.analyze.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/speckit.checklist.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/speckit.clarify.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/speckit.constitution.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/speckit.implement.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/speckit.plan.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/speckit.specify.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/speckit.tasks.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/commands/speckit.taskstoissues.md +0 -0
- {docguard_cli-0.29.0/extensions/spec-kit-docguard → docguard_cli-0.30.1/.agent}/skills/docguard-fix/SKILL.md +0 -0
- {docguard_cli-0.29.0/extensions/spec-kit-docguard → docguard_cli-0.30.1/.agent}/skills/docguard-guard/SKILL.md +0 -0
- {docguard_cli-0.29.0/extensions/spec-kit-docguard → docguard_cli-0.30.1/.agent}/skills/docguard-review/SKILL.md +0 -0
- {docguard_cli-0.29.0/extensions/spec-kit-docguard → docguard_cli-0.30.1/.agent}/skills/docguard-score/SKILL.md +0 -0
- {docguard_cli-0.29.0/extensions/spec-kit-docguard → docguard_cli-0.30.1/.agent}/skills/docguard-sync/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/skills/speckit-analyze/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/skills/speckit-checklist/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/skills/speckit-clarify/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/skills/speckit-constitution/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/skills/speckit-implement/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/skills/speckit-plan/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/skills/speckit-specify/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/skills/speckit-tasks/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.claude/rules/openwolf.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.claude/settings.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.docguard.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.docguardignore +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.github/dependabot.yml +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.github/workflows/supply-chain.yml +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.gitignore +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.npmignore +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/extensions/.cache/catalog-metadata.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/extensions/.cache/catalog.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/init-options.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/memory/constitution.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/scripts/bash/common.sh +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/scripts/bash/setup-plan.sh +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/templates/agent-file-template.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/templates/checklist-template.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/templates/constitution-template.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/templates/plan-template.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/templates/spec-template.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.specify/templates/tasks-template.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/OPENWOLF.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/config.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/cron-manifest.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/cron-state.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/daemon.log +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/designqc-report.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/hooks/package.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/hooks/post-read.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/hooks/post-write.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/hooks/pre-read.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/hooks/pre-write.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/hooks/session-start.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/hooks/shared.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/hooks/stop.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/identity.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/reframe-frameworks.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/.wolf/suggestions.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/CLAUDE.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/CODE_OF_CONDUCT.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/COMPARISONS.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/CONTRIBUTING.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/LICENSE +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/PHILOSOPHY.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/README.es.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/README.pt-BR.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/ROADMAP.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/SECURITY.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/STANDARD.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/SUPPLY-CHAIN-AUDIT.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/SUPPORT.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/action.yml +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/assets/bin/docguard +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/assets/demo.gif +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/assets/demo.tape +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/assets/docguard-logo.png +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/agent.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/agents.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/badge.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/ci.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/demo.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/diagnose.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/diff.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/explain.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/feedback.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/fix.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/generate.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/guard.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/hooks.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/impact.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/init.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/llms.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/memory.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/publish.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/sync-tests.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/sync.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/upgrade.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/commands/watch.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/config.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/ensure-skills.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/agent-readability.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/api-doc.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/cdk.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/doc-tools.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/frontend.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/iac.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/integrations.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/inventory.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/js-ast.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/memory-plan.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/project-type.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/py-ast.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/routes.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/schemas.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/scanners/semantic-claims.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/shared-ignore.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/shared-source.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/shared-trace-patterns.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/shared.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validator-markers.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/api-surface.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/architecture.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/canonical-sync.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/changelog.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/cross-reference.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/doc-quality.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/docs-coverage.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/docs-diff.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/docs-sync.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/drift.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/environment.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/freshness.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/generated-staleness.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/metadata-sync.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/metrics-consistency.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/schema-sync.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/security.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/spec-kit.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/structure.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/surface-sync.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/test-spec.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/todo-tracking.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/validators/traceability.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/writers/api-reference.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/writers/doc-generators.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/writers/fix-memory.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/writers/generate-io.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/writers/mechanical.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/writers/sarif.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/cli/writers/sections.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/commands/docguard.fix.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/commands/docguard.guard.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/commands/docguard.review.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/commands/docguard.score.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/configs/fastify.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/configs/generic.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/configs/nextjs.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/configs/python.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docguard_cli/__init__.py +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docguard_cli/wrapper.py +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs/ai-integration.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs/commands.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs/configuration.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs/doc-sections.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs/faq.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs/installation.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs/profiles.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs/quickstart.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs-canonical/CI-RECIPES.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs-canonical/SURFACE-AUDIT.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/docs-implementation/MIGRATION-v0.20.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/01-express-api/README.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/01-express-api/package.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/01-express-api/server.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/02-python-flask/README.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/02-python-flask/app.py +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/02-python-flask/requirements.txt +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/03-spec-kit-project/README.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/03-spec-kit-project/package.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/03-spec-kit-project/src/index.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/03-spec-kit-project/tasks.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/examples/README.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/LICENSE +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/README.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/commands/fix.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/commands/generate.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/commands/guard.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/commands/init.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/commands/score.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/commands/sync.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/commands/trace.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/llms-full.txt +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/llms.txt +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/package-lock.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/001-fix-ignore-validators/plan.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/001-fix-ignore-validators/spec.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/001-fix-ignore-validators/tasks.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/002-fix-test-discovery/plan.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/002-fix-test-discovery/spec.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/002-fix-test-discovery/tasks.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/003-v011-false-positives/plan.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/003-v011-false-positives/spec.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/003-v011-false-positives/tasks.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/004-v020-env-var-false-negative/spec.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/specs/005-hugocross-next-bugs/spec.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/ADR.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/AGENTS.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/ARCHITECTURE.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/CHANGELOG.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/CURRENT-STATE.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/DATA-MODEL.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/DEPLOYMENT.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/DRIFT-LOG.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/ENVIRONMENT.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/KNOWN-GOTCHAS.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/REQUIREMENTS.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/ROADMAP.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/RUNBOOKS.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/SECURITY.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/TEST-SPEC.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/TROUBLESHOOTING.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/VENDOR-BUGS.md.template +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/ci/github-actions.yml +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/commands/docguard.fix.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/commands/docguard.guard.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/commands/docguard.init.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/commands/docguard.review.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/commands/docguard.update.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/.docguard.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/.env.example +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/AGENTS.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/CHANGELOG.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/DRIFT-LOG.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/README.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/package.json +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/src/api.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/src/notifier.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/src/scheduler.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/templates/demo-fixture/src/worker.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/agent-readability.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/agent.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/agents-sync.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/anchor-autofix.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/api-doc.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/api-surface.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/api-write.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/architecture.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/b7-node-env-symmetry.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/backup-failure.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/canonical-sync.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/cdk-detection.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/changed-only-scoping.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/changed-only.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/changelog.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/commands.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/cross-reference.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/demo-command.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/doc-quality.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/doc-section-synonyms.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/docguardignore.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/docs-coverage.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/docs-diff.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/docs-sync.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/drift.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/ensure-skills-idempotent.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/env-schema-detection.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/environment.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/explain-coverage.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/field-report-2-cli.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/field-report-3-deferred.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/fix-memory.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/fix-suppression.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/fixture-projects.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/freshness.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/frontend-deep.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/frontend.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/generated-staleness.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/guard-classify.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/guard-no-throw.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/i18n.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/impact.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/init-smart-detection.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/integrations.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/inventory.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/js-ast.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/llms-full-pack.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/mcp.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/mechanical.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/memory-plan.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/metadata-sync.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/metrics-consistency.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/metrics-dedup.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/monorepo-scanning.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/multi-spec.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/npm-pack-smoke.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/openapi-parse-honesty.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/patch-0.11.2.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/plan-disk-cache.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/profile-flag.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/project-type.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/py-ast.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/regenerate-section.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/routes-express-mounts.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/routes-fastify.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/routes-multilang.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/routes-nextjs-app-router.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/sarif.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/schema-sync.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/schemas-multilang.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/schemas.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/scoping-extended.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/score-suggestions.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/section-na-markers.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/sections.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/security-init-injection.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/security.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/severity.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/shared-git.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/shared-source.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/speckit-bugfix.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/starter-scaffold.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/stress-test.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/structure.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/surface-sync.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/sweep-nudge.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/sync-since.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/sync.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/test-spec.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/todo-tracking.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/trace-multilang.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/trace-reverse.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/traceability.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/upgrade-pr-e2e.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/upgrade-pr.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/upgrade.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/v020-consolidation.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/validator-markers.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/validator-naming.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/version-pin.test.mjs +0 -0
- {docguard_cli-0.29.0 → docguard_cli-0.30.1}/tests/whats-new.test.mjs +0 -0
|
@@ -61,10 +61,11 @@ def build(version: str, download_url: str):
|
|
|
61
61
|
"name": "DocGuard — CDD Enforcement",
|
|
62
62
|
"id": "docguard",
|
|
63
63
|
"description": (
|
|
64
|
-
"
|
|
65
|
-
"and
|
|
66
|
-
"
|
|
67
|
-
"
|
|
64
|
+
"The only doc-integrity engine with an MCP server, SARIF "
|
|
65
|
+
"output, and a deterministic zero-LLM core. Validates, "
|
|
66
|
+
"scores, and traces documentation against code — 24 "
|
|
67
|
+
"validators, stable finding codes, GitHub Action with PR "
|
|
68
|
+
"annotations, spec-kit hooks. Pure Node.js, one pinned dep."
|
|
68
69
|
),
|
|
69
70
|
"author": "raccioly",
|
|
70
71
|
"version": version,
|
|
@@ -12,10 +12,15 @@ jobs:
|
|
|
12
12
|
runs-on: ubuntu-latest
|
|
13
13
|
strategy:
|
|
14
14
|
matrix:
|
|
15
|
-
|
|
15
|
+
# 24 ships npm 11 — keep it in the matrix so `npm ci` exercises the newer
|
|
16
|
+
# npm that older Nodes (18/20/22 → npm 10) do NOT. This is what catches
|
|
17
|
+
# config/install incompatibilities that npm 10 silently accepts but npm 11
|
|
18
|
+
# treats as fatal (e.g. bug-198: `.npmrc` min-release-age broke the Glama
|
|
19
|
+
# build on npm 11 while all local/CI installs passed). Do not drop 24.
|
|
20
|
+
node-version: [18, 20, 22, 24]
|
|
16
21
|
|
|
17
22
|
steps:
|
|
18
|
-
- uses: actions/checkout@
|
|
23
|
+
- uses: actions/checkout@v7
|
|
19
24
|
with:
|
|
20
25
|
fetch-depth: 0 # Full git history for freshness validator
|
|
21
26
|
|
|
@@ -97,7 +102,7 @@ jobs:
|
|
|
97
102
|
if: startsWith(github.ref, 'refs/tags/v')
|
|
98
103
|
needs: test
|
|
99
104
|
steps:
|
|
100
|
-
- uses: actions/checkout@
|
|
105
|
+
- uses: actions/checkout@v7
|
|
101
106
|
- uses: actions/setup-node@v6
|
|
102
107
|
with:
|
|
103
108
|
node-version: 20
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
name: Jules PR Triage
|
|
2
|
+
|
|
3
|
+
# Auto-triage PRs opened by the Google Jules agents (Sentinel/Bolt/Palette).
|
|
4
|
+
# Keeps Jules ON (it stays useful for genuinely-new work) while automatically
|
|
5
|
+
# clearing the duplicate/already-resolved noise it tends to produce, and giving
|
|
6
|
+
# it per-PR feedback (a comment mentioning @jules) so it learns.
|
|
7
|
+
#
|
|
8
|
+
# SECURITY: uses pull_request_target (needs write to comment/close/label on the
|
|
9
|
+
# PR), but reads only PR METADATA (title, author) via the API and NEVER checks
|
|
10
|
+
# out or runs the PR's code — so the elevated token is never exposed to
|
|
11
|
+
# PR-controlled content. (Matches the AGENTS.md CI rule.)
|
|
12
|
+
|
|
13
|
+
on:
|
|
14
|
+
pull_request_target:
|
|
15
|
+
types: [opened, reopened]
|
|
16
|
+
|
|
17
|
+
permissions:
|
|
18
|
+
pull-requests: write
|
|
19
|
+
issues: write
|
|
20
|
+
contents: read
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
triage:
|
|
24
|
+
# Only act on the Jules bot's PRs; everything else is untouched.
|
|
25
|
+
if: github.event.pull_request.user.login == 'google-labs-jules[bot]'
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- name: Triage the Jules PR
|
|
29
|
+
uses: actions/github-script@v9
|
|
30
|
+
with:
|
|
31
|
+
script: |
|
|
32
|
+
const pr = context.payload.pull_request;
|
|
33
|
+
const num = pr.number;
|
|
34
|
+
const title = pr.title || '';
|
|
35
|
+
const owner = context.repo.owner;
|
|
36
|
+
const repo = context.repo.repo;
|
|
37
|
+
|
|
38
|
+
// Known-noise classes for THIS repo (see .jules/*.md RESOLVED markers).
|
|
39
|
+
const NOISE = [
|
|
40
|
+
/command injection|exec(File)?Sync/i, // Sentinel — fixed v0.21.1 + #296
|
|
41
|
+
/performance|optimi[sz]e|precompute|pre-?compile|O\(N|single-pass|\bset\b.*comparison|tolowercase|basenames?/i, // Bolt — applied + refactored
|
|
42
|
+
/no (web )?ui|no changes? (needed|required)|no ux|no-op/i, // Palette — no UI in this repo
|
|
43
|
+
];
|
|
44
|
+
const isNoise = NOISE.some((re) => re.test(title));
|
|
45
|
+
|
|
46
|
+
// Duplicate detection: another OPEN Jules PR with an equivalent title.
|
|
47
|
+
const norm = (s) => (s || '')
|
|
48
|
+
.toLowerCase()
|
|
49
|
+
.replace(/[^a-z0-9]+/g, ' ')
|
|
50
|
+
.replace(/\b(sentinel|bolt|palette|critical|high|medium|low|fix|the|a|an|via|in|of|for|to|and)\b/g, ' ')
|
|
51
|
+
.replace(/\s+/g, ' ')
|
|
52
|
+
.trim();
|
|
53
|
+
const mine = norm(title);
|
|
54
|
+
const { data: open } = await github.rest.pulls.list({ owner, repo, state: 'open', per_page: 100 });
|
|
55
|
+
const dup = mine && open.find((p) => p.number !== num && norm(p.title) === mine);
|
|
56
|
+
|
|
57
|
+
const addLabel = async (name) => {
|
|
58
|
+
try {
|
|
59
|
+
await github.rest.issues.addLabels({ owner, repo, issue_number: num, labels: [name] });
|
|
60
|
+
} catch (e) { core.info(`label "${name}" skipped: ${e.message}`); }
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
if (isNoise || dup) {
|
|
64
|
+
const reason = dup
|
|
65
|
+
? `a duplicate of #${dup.number}`
|
|
66
|
+
: 'a class already resolved or not applicable in this repo';
|
|
67
|
+
await github.rest.issues.createComment({
|
|
68
|
+
owner, repo, issue_number: num,
|
|
69
|
+
body:
|
|
70
|
+
`🤖 **Auto-triaged as stale** — ${reason}.\n\n` +
|
|
71
|
+
`@jules please stop opening PRs for this topic: it is covered by the RESOLVED markers in \`.jules/sentinel.md\` / \`.jules/bolt.md\` / \`.jules/palette.md\` and the **Automated agents** rule in \`AGENTS.md\` (search open **and** closed PRs first; never duplicate; only open a new PR for a genuinely-new finding with evidence — an exploit/failing test for security, or a >20% real-workload benchmark for performance). Closing to keep the queue clean.`,
|
|
72
|
+
});
|
|
73
|
+
await addLabel('jules-autoclosed');
|
|
74
|
+
await github.rest.pulls.update({ owner, repo, pull_number: num, state: 'closed' });
|
|
75
|
+
core.notice(`Closed #${num} (${reason}).`);
|
|
76
|
+
} else {
|
|
77
|
+
await addLabel('jules-review');
|
|
78
|
+
await github.rest.issues.createComment({
|
|
79
|
+
owner, repo, issue_number: num,
|
|
80
|
+
body:
|
|
81
|
+
`🔎 **Flagged for human review** — this looks like a *new, non-duplicate* change from @jules. ` +
|
|
82
|
+
`A maintainer should verify it against \`docguard guard\` + the test suite before merge.`,
|
|
83
|
+
});
|
|
84
|
+
core.notice(`#${num} flagged for human review.`);
|
|
85
|
+
}
|
|
@@ -19,7 +19,7 @@ jobs:
|
|
|
19
19
|
version: ${{ steps.check.outputs.version }}
|
|
20
20
|
changed: ${{ steps.check.outputs.changed }}
|
|
21
21
|
steps:
|
|
22
|
-
- uses: actions/checkout@
|
|
22
|
+
- uses: actions/checkout@v7
|
|
23
23
|
with:
|
|
24
24
|
fetch-depth: 1 # only need HEAD's package.json; the tag check hits the remote
|
|
25
25
|
|
|
@@ -52,9 +52,11 @@ jobs:
|
|
|
52
52
|
runs-on: ubuntu-latest
|
|
53
53
|
strategy:
|
|
54
54
|
matrix:
|
|
55
|
-
|
|
55
|
+
# 24 = npm 11 coverage (18/20/22 ship npm 10). Gates releases on the
|
|
56
|
+
# newer npm so a version-incompatible .npmrc / install can't ship (bug-198).
|
|
57
|
+
node-version: [18, 20, 22, 24]
|
|
56
58
|
steps:
|
|
57
|
-
- uses: actions/checkout@
|
|
59
|
+
- uses: actions/checkout@v7
|
|
58
60
|
with:
|
|
59
61
|
fetch-depth: 0
|
|
60
62
|
- uses: actions/setup-node@v6
|
|
@@ -75,7 +77,7 @@ jobs:
|
|
|
75
77
|
outputs:
|
|
76
78
|
tag: v${{ needs.detect-version.outputs.version }}
|
|
77
79
|
steps:
|
|
78
|
-
- uses: actions/checkout@
|
|
80
|
+
- uses: actions/checkout@v7
|
|
79
81
|
with:
|
|
80
82
|
fetch-depth: 0 # Fetch all history + tags for reliable tag detection
|
|
81
83
|
|
|
@@ -132,7 +134,7 @@ jobs:
|
|
|
132
134
|
needs: [detect-version, create-release]
|
|
133
135
|
runs-on: ubuntu-latest
|
|
134
136
|
steps:
|
|
135
|
-
- uses: actions/checkout@
|
|
137
|
+
- uses: actions/checkout@v7
|
|
136
138
|
|
|
137
139
|
- name: Build extension ZIP
|
|
138
140
|
run: |
|
|
@@ -157,7 +159,7 @@ jobs:
|
|
|
157
159
|
needs: [detect-version, test, create-release]
|
|
158
160
|
runs-on: ubuntu-latest
|
|
159
161
|
steps:
|
|
160
|
-
- uses: actions/checkout@
|
|
162
|
+
- uses: actions/checkout@v7
|
|
161
163
|
- uses: actions/setup-node@v6
|
|
162
164
|
with:
|
|
163
165
|
node-version: 20
|
|
@@ -173,7 +175,7 @@ jobs:
|
|
|
173
175
|
needs: [detect-version, test, create-release]
|
|
174
176
|
runs-on: ubuntu-latest
|
|
175
177
|
steps:
|
|
176
|
-
- uses: actions/checkout@
|
|
178
|
+
- uses: actions/checkout@v7
|
|
177
179
|
- uses: actions/setup-python@v6
|
|
178
180
|
with:
|
|
179
181
|
python-version: '3.12'
|
|
@@ -215,7 +217,7 @@ jobs:
|
|
|
215
217
|
issues: write # reminder issue in THIS repo only — never github/spec-kit
|
|
216
218
|
steps:
|
|
217
219
|
- name: Checkout docguard repo
|
|
218
|
-
uses: actions/checkout@
|
|
220
|
+
uses: actions/checkout@v7
|
|
219
221
|
|
|
220
222
|
- name: Get version and metadata
|
|
221
223
|
id: meta
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Bolt — performance learnings
|
|
2
|
+
|
|
3
|
+
> ⛔ **STOP / DO-NOT-DUPLICATE.** Before opening ANY PR, search existing **open
|
|
4
|
+
> AND closed** PRs. Dozens of duplicate "optimize diffTests / Set cross-compare
|
|
5
|
+
> / precompute toLowerCase / pre-compile RegExp" PRs were closed as noise.
|
|
6
|
+
> **Do NOT open another micro-optimization PR** unless you include a **benchmark
|
|
7
|
+
> showing >20% wall-clock improvement on a realistic workload** (a real repo,
|
|
8
|
+
> not a synthetic loop). A theoretical Big-O note is NOT sufficient justification.
|
|
9
|
+
|
|
10
|
+
## ✅ APPLIED / EVALUATED — the recurring diff & scan optimizations (do NOT re-open)
|
|
11
|
+
|
|
12
|
+
The learnings below have already been applied where they helped, and the
|
|
13
|
+
affected code (`cli/commands/diff.mjs`, `cli/validators/*`, the scanners) was
|
|
14
|
+
substantially **refactored in v0.29–v0.30** — PRs written against the old shape
|
|
15
|
+
no longer apply and just create merge noise.
|
|
16
|
+
|
|
17
|
+
- **Early-return in `checkUntrackedTodos`** — already in place.
|
|
18
|
+
- **Precompute `.toLowerCase()` / `.substring()` outside loops** — applied where
|
|
19
|
+
it mattered; the remaining cases are not hot paths.
|
|
20
|
+
- **Pre-compile `RegExp` outside nested loops** — applied in the scanners.
|
|
21
|
+
|
|
22
|
+
These are recorded as historical context, **not** as standing mandates to
|
|
23
|
+
re-scan for on every run. The DocGuard test suite (898 tests) and CI already
|
|
24
|
+
guard against regressions here.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Palette — UX learnings
|
|
2
|
+
|
|
3
|
+
> ⛔ **STOP.** This repository has **no user-facing UI**: it is a Node.js CLI
|
|
4
|
+
> plus config/docs. There is **no web frontend** (no HTML/CSS/React/Vue) and
|
|
5
|
+
> **no VS Code extension** (it was removed). Palette therefore has nothing to
|
|
6
|
+
> act on here. **Do NOT open UX PRs** — the past "No web UI components" /
|
|
7
|
+
> "No changes required" no-op PRs were closed as noise. Skip this repo.
|
|
8
|
+
|
|
9
|
+
Historical note: earlier learnings referenced a VS Code extension (status-bar
|
|
10
|
+
tooltips, loading spinners). That extension no longer exists in this repo, so
|
|
11
|
+
those notes are obsolete and must not be acted on.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Sentinel — security learnings
|
|
2
|
+
|
|
3
|
+
> ⛔ **STOP / DO-NOT-DUPLICATE.** Before opening ANY PR, search existing **open
|
|
4
|
+
> AND closed** PRs and issues. If the topic below is already covered, do NOT
|
|
5
|
+
> open another PR — dozens of duplicate command-injection PRs were closed as
|
|
6
|
+
> noise. Only open a PR for a **new, unaddressed** finding, with a concrete
|
|
7
|
+
> exploit path or failing test as evidence.
|
|
8
|
+
|
|
9
|
+
## ✅ RESOLVED — Command Injection via execSync (do NOT re-open)
|
|
10
|
+
|
|
11
|
+
**Status: FIXED and CLOSED. Do not open further PRs about `execSync` / command injection.**
|
|
12
|
+
|
|
13
|
+
- The real vulnerability (issue #190) was fixed in **v0.21.1** by switching the
|
|
14
|
+
`specify`-spawning path to `execFileSync` (arguments as an array — no shell
|
|
15
|
+
interpolation).
|
|
16
|
+
- The last shell-interpolated `execSync` (dead code in `setup.mjs`'s unused
|
|
17
|
+
`isCliAvailable`) was removed in **PR #296**.
|
|
18
|
+
- Every remaining `execSync` in `cli/` uses a **static string literal**
|
|
19
|
+
(`git rev-parse …`, `git rev-list --count HEAD`, `git log … | wc -l`) with
|
|
20
|
+
**no variable interpolation** — not injectable. Leave them as-is; do not "fix" them.
|
|
21
|
+
|
|
22
|
+
Historical note (kept for context, not for re-application): interpolating
|
|
23
|
+
`projectDir`/`filePath` into a shell string allowed `;`/`&&`/`||` injection;
|
|
24
|
+
`execFileSync` with an args array prevents it. Lesson recorded — already applied.
|
|
@@ -19,9 +19,12 @@ export OPENAI_API_KEY="dummy-openai-key"
|
|
|
19
19
|
# 2. Ecosystem-Specific Dependency Installation
|
|
20
20
|
# ------------------------------------------
|
|
21
21
|
echo "📦 === Installing Dependencies ==="
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
npm install
|
|
22
|
+
# DocGuard has one exact-pinned runtime dep (@babel/parser). Use `npm ci`, NOT
|
|
23
|
+
# `npm install`: `npm ci` installs strictly from package-lock.json and never
|
|
24
|
+
# rewrites it, so it leaves the working tree clean. `npm install` can re-resolve
|
|
25
|
+
# and rewrite package-lock.json, which dirties the tree and makes Jules abort
|
|
26
|
+
# with "Working tree is dirty" after setup.
|
|
27
|
+
npm ci
|
|
25
28
|
|
|
26
29
|
# ------------------------------------------
|
|
27
30
|
# 3. Ecosystem-Specific Tests & Build Checks
|
|
@@ -31,11 +34,21 @@ echo "🧪 === Running Initial Test & Validation ==="
|
|
|
31
34
|
npm test || echo "⚠️ Tests failed, but continuing..."
|
|
32
35
|
|
|
33
36
|
echo "🏗️ === Verifying Build Integrity ==="
|
|
34
|
-
# Test the primary CLI entrypoint to ensure it is executable
|
|
37
|
+
# Test the primary CLI entrypoint to ensure it is executable.
|
|
38
|
+
# Note: `--version` triggers ensureSkills, which regenerates the tracked
|
|
39
|
+
# `.agent/skills/*.md` files (their `version:` frontmatter tracks the release),
|
|
40
|
+
# so the tree is expected to be dirty right after this — the reset below
|
|
41
|
+
# discards that regeneration.
|
|
35
42
|
node cli/docguard.mjs --version
|
|
36
43
|
|
|
37
44
|
echo "🧹 === Enforcing Git Tree Integrity ==="
|
|
38
|
-
# Jules requires the working directory to be clean after this script runs
|
|
45
|
+
# Jules requires the working directory to be clean after this script runs, and
|
|
46
|
+
# ignores any changes setup makes. `git clean -fd` alone is INSUFFICIENT — it
|
|
47
|
+
# only removes UNTRACKED files, but our churn is in TRACKED files (regenerated
|
|
48
|
+
# .agent/skills). Hard-reset discards tracked modifications; clean -fd sweeps
|
|
49
|
+
# any stray untracked files. `-fd` respects .gitignore, so node_modules (which
|
|
50
|
+
# we just installed) is preserved.
|
|
51
|
+
git reset --hard HEAD
|
|
39
52
|
git clean -fd || true
|
|
40
53
|
|
|
41
54
|
echo "✅ Jules VM Local Environment is Ready!"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Supply-Chain Security Hardening
|
|
2
|
+
# Applied: 2026-05-14T14:19:27Z
|
|
3
|
+
# ignore-scripts: never run a dependency's install/postinstall scripts (the main
|
|
4
|
+
# supply-chain attack vector). Universally supported across npm versions.
|
|
5
|
+
# audit-level: surface moderate-and-above advisories.
|
|
6
|
+
#
|
|
7
|
+
# NOTE: `min-release-age=7d` was removed 2026-07-06 — newer npm (Node 22+/npm 11+,
|
|
8
|
+
# as used by the Glama MCP build image) rejects the "7d" value ("must be numeric")
|
|
9
|
+
# and HARD-FAILS `npm install` in clean environments (Glama, CI, fresh clones).
|
|
10
|
+
# DocGuard's single runtime dependency is exact-pinned, so the maturity window
|
|
11
|
+
# added little; the exact pin + ignore-scripts + audit-level remain the controls.
|
|
12
|
+
ignore-scripts=true
|
|
13
|
+
audit-level=moderate
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# DocGuard hooks for the pre-commit framework (https://pre-commit.com).
|
|
2
|
+
#
|
|
3
|
+
# How this works: `language: node` tells pre-commit to install THIS repo with
|
|
4
|
+
# npm into an isolated nodeenv. package.json's `"bin": { "docguard": ... }`
|
|
5
|
+
# is what makes the `docguard` executable in `entry` resolvable — no global
|
|
6
|
+
# install needed on the consumer's machine.
|
|
7
|
+
#
|
|
8
|
+
# ### pre-commit
|
|
9
|
+
# Consumers add this to their project's .pre-commit-config.yaml:
|
|
10
|
+
#
|
|
11
|
+
# repos:
|
|
12
|
+
# - repo: https://github.com/raccioly/docguard
|
|
13
|
+
# rev: v0.29.0
|
|
14
|
+
# hooks:
|
|
15
|
+
# - id: docguard-guard
|
|
16
|
+
#
|
|
17
|
+
# For the full (slower) validator run on push instead of commit:
|
|
18
|
+
#
|
|
19
|
+
# repos:
|
|
20
|
+
# - repo: https://github.com/raccioly/docguard
|
|
21
|
+
# rev: v0.29.0
|
|
22
|
+
# hooks:
|
|
23
|
+
# - id: docguard-guard-full
|
|
24
|
+
#
|
|
25
|
+
# # and install the push-stage hook once per clone:
|
|
26
|
+
# # pre-commit install --hook-type pre-push
|
|
27
|
+
#
|
|
28
|
+
# Both hooks validate the project as a whole (docs vs code), so filenames are
|
|
29
|
+
# never passed and the hooks always run (`pass_filenames: false` +
|
|
30
|
+
# `always_run: true`).
|
|
31
|
+
|
|
32
|
+
- id: docguard-guard
|
|
33
|
+
name: DocGuard guard (changed-only)
|
|
34
|
+
description: Fast doc-drift gate — validates only the docs/code touched in the working tree.
|
|
35
|
+
entry: docguard guard --changed-only --quiet
|
|
36
|
+
language: node
|
|
37
|
+
pass_filenames: false
|
|
38
|
+
always_run: true
|
|
39
|
+
|
|
40
|
+
- id: docguard-guard-full
|
|
41
|
+
name: DocGuard guard (full)
|
|
42
|
+
description: Full DocGuard validator run — every enabled validator, intended for the pre-push stage.
|
|
43
|
+
entry: docguard guard --quiet
|
|
44
|
+
language: node
|
|
45
|
+
pass_filenames: false
|
|
46
|
+
always_run: true
|
|
47
|
+
stages: [pre-push]
|
|
48
|
+
# `pre-push` (vs the legacy `push`) stage name requires pre-commit >= 3.2.
|
|
49
|
+
minimum_pre_commit_version: '3.2.0'
|
|
@@ -1,42 +1,51 @@
|
|
|
1
1
|
# anatomy.md
|
|
2
2
|
|
|
3
|
-
> Auto-maintained by OpenWolf. Last scanned: 2026-07-
|
|
4
|
-
> Files:
|
|
3
|
+
> Auto-maintained by OpenWolf. Last scanned: 2026-07-06T14:46:58.012Z
|
|
4
|
+
> Files: 670 tracked | Anatomy hits: 0 | Misses: 0
|
|
5
5
|
|
|
6
6
|
## ../../../../../../../tmp/
|
|
7
7
|
|
|
8
8
|
- `append-buglog.mjs` — Declares path (~1335 tok)
|
|
9
9
|
|
|
10
|
+
## ../../../../../.claude/projects/-Users-ricardoaccioly-Repo-claude-canonical-spec-kit/memory/
|
|
11
|
+
|
|
12
|
+
- `keep-local-main-synced.md` (~276 tok)
|
|
13
|
+
|
|
10
14
|
## ./
|
|
11
15
|
|
|
12
16
|
- `.docguard.json` (~526 tok)
|
|
13
17
|
- `.docguardignore` — # Python distribution artifacts (~199 tok)
|
|
14
18
|
- `.DS_Store` (~3818 tok)
|
|
15
19
|
- `.gitignore` — Git ignore rules (~167 tok)
|
|
16
|
-
- `.jules-setup.sh` —
|
|
20
|
+
- `.jules-setup.sh` — ========================================== (~631 tok)
|
|
17
21
|
- `.npmignore` — Development (~76 tok)
|
|
18
22
|
- `.npmrc` — Supply-Chain Security Hardening (~59 tok)
|
|
23
|
+
- `.pre-commit-hooks.yaml` — DocGuard hooks for the pre-commit framework (https://pre-commit.com). (~490 tok)
|
|
19
24
|
- `action.yml` — Declares fs (~7591 tok)
|
|
20
|
-
- `AGENTS.md` — AI Agent Instructions — DocGuard (~
|
|
21
|
-
- `CHANGELOG.md` — Changelog (~
|
|
25
|
+
- `AGENTS.md` — AI Agent Instructions — DocGuard (~1827 tok)
|
|
26
|
+
- `CHANGELOG.md` — Changelog (~45081 tok)
|
|
22
27
|
- `CLAUDE.md` — OpenWolf (~57 tok)
|
|
23
28
|
- `CODE_OF_CONDUCT.md` — Contributor Covenant Code of Conduct (~532 tok)
|
|
24
29
|
- `COMPARISONS.md` — Comparisons & Honest Limitations (~3053 tok)
|
|
25
30
|
- `CONTRIBUTING.md` — Contributing to DocGuard (~1780 tok)
|
|
26
31
|
- `docguard-cli-0.22.0.tgz` (~80828 tok)
|
|
27
32
|
- `docguard-cli-0.23.0.tgz` (~81238 tok)
|
|
28
|
-
- `
|
|
33
|
+
- `Dockerfile` — Docker container definition (~204 tok)
|
|
34
|
+
- `DRIFT-LOG.md` — Drift Log (~802 tok)
|
|
35
|
+
- `glama.json` (~29 tok)
|
|
29
36
|
- `LICENSE` — Project license (~286 tok)
|
|
30
37
|
- `package-lock.json` — npm lock file (~617 tok)
|
|
31
|
-
- `package.json` — Node.js package manifest (~
|
|
38
|
+
- `package.json` — Node.js package manifest (~459 tok)
|
|
32
39
|
- `PHILOSOPHY.md` — The Philosophy of Canonical-Driven Development (~1757 tok)
|
|
33
40
|
- `pr_description.md` (~260 tok)
|
|
34
41
|
- `pyproject.toml` — The enforcement tool for Canonical-Driven Development (CDD). Audit, generate, and guard your project (~358 tok)
|
|
35
42
|
- `README.es.md` — 🛡️ DocGuard (~1098 tok)
|
|
36
|
-
- `README.md` — Project documentation (~
|
|
43
|
+
- `README.md` — Project documentation (~8436 tok)
|
|
37
44
|
- `README.pt-BR.md` — 🛡️ DocGuard (~1075 tok)
|
|
38
45
|
- `ROADMAP.md` — DocGuard Roadmap (~2432 tok)
|
|
39
46
|
- `SECURITY.md` — Security Policy (~357 tok)
|
|
47
|
+
- `server.json` (~272 tok)
|
|
48
|
+
- `smithery.yaml` — Smithery configuration for the DocGuard MCP server. (~283 tok)
|
|
40
49
|
- `STANDARD.md` — DocGuard Standard v0.1 (~6533 tok)
|
|
41
50
|
- `SUPPLY-CHAIN-AUDIT.md` — Supply-Chain Security Audit (~726 tok)
|
|
42
51
|
- `SUPPORT.md` — Support (~335 tok)
|
|
@@ -938,18 +947,26 @@
|
|
|
938
947
|
## .github/scripts/
|
|
939
948
|
|
|
940
949
|
- `speckit-submission-body.sh` — Build the body for a spec-kit "Extension Submission" issue. (~1482 tok)
|
|
941
|
-
- `speckit-submission.py` — Build a spec-kit "Extension Submission" for DocGuard. (~
|
|
950
|
+
- `speckit-submission.py` — Build a spec-kit "Extension Submission" for DocGuard. (~2905 tok)
|
|
942
951
|
|
|
943
952
|
## .github/workflows/
|
|
944
953
|
|
|
945
|
-
- `
|
|
954
|
+
- `ci.yml` — CI: DocGuard CI (~1041 tok)
|
|
955
|
+
- `release.yml` — CI: Auto Release — Tag, GitHub Release, npm, PyPI (~3434 tok)
|
|
946
956
|
- `sync-speckit-catalog.yml` — CI: Prepare Spec Kit Catalog Submission (Manual) (~1385 tok)
|
|
947
957
|
|
|
958
|
+
## .jules/
|
|
959
|
+
|
|
960
|
+
- `bolt.md` — Bolt — performance learnings (~333 tok)
|
|
961
|
+
- `palette.md` — Palette — UX learnings (~153 tok)
|
|
962
|
+
- `sentinel.md` — Sentinel — security learnings (~329 tok)
|
|
963
|
+
|
|
948
964
|
## cli/
|
|
949
965
|
|
|
950
966
|
- `config.mjs` — DocGuard — configuration loading. (~3265 tok)
|
|
951
|
-
- `docguard.mjs` — DocGuard CLI — The enforcement tool for Canonical-Driven Development (CDD) (~
|
|
952
|
-
- `findings.mjs` — Findings — the structured, LLM-addressable result unit (v0.27). (~
|
|
967
|
+
- `docguard.mjs` — DocGuard CLI — The enforcement tool for Canonical-Driven Development (CDD) (~9606 tok)
|
|
968
|
+
- `findings.mjs` — Findings — the structured, LLM-addressable result unit (v0.27). (~9698 tok)
|
|
969
|
+
- `shared-git.mjs` — Shared Git Utilities — single source of truth for `git log` plumbing (~1851 tok)
|
|
953
970
|
- `shared-ignore.mjs` — Shared Ignore Utility — Unified file filtering for all validators. (~4132 tok)
|
|
954
971
|
- `shared-source.mjs` — Shared Source Resolution — Monorepo-aware source discovery. (~4655 tok)
|
|
955
972
|
- `shared.mjs` — Shared constants for DocGuard CLI — colors, profiles, version. (~3496 tok)
|
|
@@ -965,22 +982,25 @@
|
|
|
965
982
|
- `guard.mjs` — Guard Command — Validate project against its canonical documentation (~11608 tok)
|
|
966
983
|
- `init.mjs` — Init Command — Initialize CDD documentation from templates (~7278 tok)
|
|
967
984
|
- `llms.mjs` — llms Command — Generate llms.txt from canonical documentation (~2137 tok)
|
|
968
|
-
- `mcp.mjs` — MCP Command — DocGuard as a Model Context Protocol server (stdio). (~
|
|
985
|
+
- `mcp.mjs` — MCP Command — DocGuard as a Model Context Protocol server (stdio). (~3098 tok)
|
|
969
986
|
- `memory.mjs` — Memory Command — v0.17-P2. (~2957 tok)
|
|
970
|
-
- `score.mjs` — Score Command — Calculate CDD maturity score (0-100) (~
|
|
987
|
+
- `score.mjs` — Score Command — Calculate CDD maturity score (0-100) (~12221 tok)
|
|
988
|
+
- `setup.mjs` — Setup Command — Interactive onboarding wizard for DocGuard (~5280 tok)
|
|
971
989
|
- `sync-tests.mjs` — `docguard sync --tests` — reconcile the TEST-SPEC Source-to-Test Map from disk. (~3191 tok)
|
|
972
990
|
- `sync.mjs` — Sync Command — keep the documentation memory ALWAYS UP TO DATE. (~2371 tok)
|
|
973
|
-
- `
|
|
991
|
+
- `trace.mjs` — Trace Command — Generate a requirements traceability matrix (~7746 tok)
|
|
992
|
+
- `verify.mjs` — Verify Command — `docguard verify` (LLM field reports #5, #11). (~2118 tok)
|
|
974
993
|
|
|
975
994
|
## cli/scanners/
|
|
976
995
|
|
|
977
996
|
- `agent-readability.mjs` — Agent Readability scanner — how well do this repo's docs serve an AI agent? (~2228 tok)
|
|
997
|
+
- `instruction-audit.mjs` — Instruction Audit scanner — drift/conflict audit WITHIN agent instruction (~3668 tok)
|
|
978
998
|
- `inventory.mjs` — Inventory scanners — code-truth the generator PRE-FILLS instead of leaving (~1699 tok)
|
|
979
999
|
- `memory-plan.mjs` — Memory Plan — the orchestration artifact behind AI-powered Generate. (~5744 tok)
|
|
980
1000
|
- `project-type.mjs` — Project-Type Detection — the language-agnostic spine. (~4190 tok)
|
|
981
1001
|
- `routes.mjs` — Deep Route Scanner (~7712 tok)
|
|
982
1002
|
- `semantic-claims.mjs` — Semantic claim extractor (LLM field report #5). (~1998 tok)
|
|
983
|
-
- `speckit.mjs` — Spec Kit Scanner — Detect, validate, and integrate with GitHub Spec Kit (~
|
|
1003
|
+
- `speckit.mjs` — Spec Kit Scanner — Detect, validate, and integrate with GitHub Spec Kit (~8882 tok)
|
|
984
1004
|
|
|
985
1005
|
## cli/validators/
|
|
986
1006
|
|
|
@@ -1015,7 +1035,7 @@
|
|
|
1015
1035
|
|
|
1016
1036
|
## docs-canonical/
|
|
1017
1037
|
|
|
1018
|
-
- `ARCHITECTURE.md` — Architecture (~
|
|
1038
|
+
- `ARCHITECTURE.md` — Architecture (~3029 tok)
|
|
1019
1039
|
- `DATA-MODEL.md` — Data Model (~1668 tok)
|
|
1020
1040
|
- `REQUIREMENTS.md` — Requirements (~673 tok)
|
|
1021
1041
|
- `SURFACE-AUDIT.md` — DocGuard Surface Audit (~5703 tok)
|
|
@@ -1031,9 +1051,17 @@
|
|
|
1031
1051
|
|
|
1032
1052
|
- `extension.yml` (~1026 tok)
|
|
1033
1053
|
|
|
1054
|
+
## packaging/
|
|
1055
|
+
|
|
1056
|
+
- `submissions.md` — DocGuard — Distribution-Channel Submissions (v0.29.0) (~1728 tok)
|
|
1057
|
+
|
|
1058
|
+
## packaging/homebrew/
|
|
1059
|
+
|
|
1060
|
+
- `docguard.rb` — typed: false (~373 tok)
|
|
1061
|
+
|
|
1034
1062
|
## schemas/
|
|
1035
1063
|
|
|
1036
|
-
- `docguard-config.schema.json` — behavior: docs (~
|
|
1064
|
+
- `docguard-config.schema.json` — behavior: docs (~3015 tok)
|
|
1037
1065
|
|
|
1038
1066
|
## templates/
|
|
1039
1067
|
|
|
@@ -1042,6 +1070,10 @@
|
|
|
1042
1070
|
- `SECURITY.md.template` — Security (~342 tok)
|
|
1043
1071
|
- `TEST-SPEC.md.template` — /*.ts --> | <!-- e.g. tests/unit/**/*.test.ts --> | Unit | (~771 tok)
|
|
1044
1072
|
|
|
1073
|
+
## templates/ci/
|
|
1074
|
+
|
|
1075
|
+
- `gitlab-component.yml` — DocGuard — GitLab CI/CD component (CI/CD Catalog style, spec:inputs syntax). (~906 tok)
|
|
1076
|
+
|
|
1045
1077
|
## templates/commands/
|
|
1046
1078
|
|
|
1047
1079
|
- `docguard.fix.md` — /docguard.fix — Find and Fix CDD Documentation Issues (~771 tok)
|
|
@@ -1061,6 +1093,8 @@
|
|
|
1061
1093
|
- `field-report-3-deferred.test.mjs` — v0.28 — the detection-gap items deferred from LLM field report #3. (~3122 tok)
|
|
1062
1094
|
- `field-report-3.test.mjs` — v0.27 — LLM field report #3. (~3315 tok)
|
|
1063
1095
|
- `freshness.test.mjs` — runGit: commitOldCode (~3536 tok)
|
|
1096
|
+
- `hooks.test.mjs` — Declares afterFirst (~2420 tok)
|
|
1097
|
+
- `instruction-audit.test.mjs` — Instruction Audit scanner tests (field report #11 — MemoryLint-inspired). (~2387 tok)
|
|
1064
1098
|
- `inventory.test.mjs` — Declares make (~1048 tok)
|
|
1065
1099
|
- `llms-full-pack.test.mjs` — CLI: run (~1304 tok)
|
|
1066
1100
|
- `mcp.test.mjs` — MCP Server Tests — `docguard mcp` over stdio. (~2138 tok)
|
|
@@ -1071,3 +1105,5 @@
|
|
|
1071
1105
|
- `project-type.test.mjs` — Declares make (~2140 tok)
|
|
1072
1106
|
- `sarif.test.mjs` — Declares CLI (~1455 tok)
|
|
1073
1107
|
- `shared-source.test.mjs` — API routes: GET (4 endpoints) (~1714 tok)
|
|
1108
|
+
- `speckit-phantom.test.mjs` — Exports users, fetchUserRecords, retry, adapter + 2 more (~2500 tok)
|
|
1109
|
+
- `trace-features.test.mjs` — `trace --features` — per-feature spec-kit adherence scoring. (~2423 tok)
|