docguard-cli 0.9.7__tar.gz → 0.9.9__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.9.7/extensions/spec-kit-docguard → docguard_cli-0.9.9/.agent}/skills/docguard-fix/SKILL.md +2 -1
- {docguard_cli-0.9.7/extensions/spec-kit-docguard → docguard_cli-0.9.9/.agent}/skills/docguard-guard/SKILL.md +9 -4
- {docguard_cli-0.9.7/extensions/spec-kit-docguard → docguard_cli-0.9.9/.agent}/skills/docguard-review/SKILL.md +5 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/docguard-score/SKILL.md +2 -1
- docguard_cli-0.9.9/.github/workflows/release.yml +78 -0
- docguard_cli-0.9.9/.specify/memory/constitution.md +76 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/CHANGELOG.md +38 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/PKG-INFO +75 -2
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/README.md +74 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/SECURITY.md +3 -3
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/diagnose.mjs +64 -24
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/fix.mjs +1 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/guard.mjs +12 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/hooks.mjs +2 -2
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/init.mjs +94 -73
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/setup.mjs +60 -30
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/docguard.mjs +5 -5
- docguard_cli-0.9.9/cli/ensure-skills.mjs +314 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/scanners/speckit.mjs +1 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/doc-quality.mjs +1 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/metadata-sync.mjs +9 -2
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/schema-sync.mjs +1 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/todo-tracking.mjs +1 -1
- docguard_cli-0.9.9/examples/01-express-api/README.md +3 -0
- docguard_cli-0.9.9/examples/01-express-api/package.json +12 -0
- docguard_cli-0.9.9/examples/01-express-api/server.js +37 -0
- docguard_cli-0.9.9/examples/02-python-flask/README.md +24 -0
- docguard_cli-0.9.9/examples/02-python-flask/app.py +50 -0
- docguard_cli-0.9.9/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +26 -0
- docguard_cli-0.9.9/examples/02-python-flask/requirements.txt +1 -0
- docguard_cli-0.9.9/examples/03-spec-kit-project/CHANGELOG.md +9 -0
- docguard_cli-0.9.9/examples/03-spec-kit-project/README.md +35 -0
- docguard_cli-0.9.9/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +40 -0
- docguard_cli-0.9.9/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +28 -0
- docguard_cli-0.9.9/examples/03-spec-kit-project/package.json +10 -0
- docguard_cli-0.9.9/examples/03-spec-kit-project/src/index.js +50 -0
- docguard_cli-0.9.9/examples/03-spec-kit-project/tests/basic.test.js +23 -0
- docguard_cli-0.9.9/examples/README.md +44 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/extension.yml +6 -2
- {docguard_cli-0.9.7/.agent → docguard_cli-0.9.9/extensions/spec-kit-docguard}/skills/docguard-fix/SKILL.md +2 -1
- {docguard_cli-0.9.7/.agent → docguard_cli-0.9.9/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +9 -4
- {docguard_cli-0.9.7/.agent → docguard_cli-0.9.9/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +5 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/skills/docguard-score/SKILL.md +2 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/package.json +1 -1
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/pyproject.toml +1 -1
- docguard_cli-0.9.7/.specify/memory/constitution.md +0 -50
- docguard_cli-0.9.7/cli/ensure-skills.mjs +0 -96
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/commands/speckit.analyze.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/commands/speckit.checklist.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/commands/speckit.clarify.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/commands/speckit.constitution.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/commands/speckit.implement.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/commands/speckit.plan.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/commands/speckit.specify.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/commands/speckit.tasks.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/commands/speckit.taskstoissues.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/speckit-analyze/SKILL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/speckit-checklist/SKILL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/speckit-clarify/SKILL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/speckit-constitution/SKILL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/speckit-implement/SKILL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/speckit-plan/SKILL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/speckit-specify/SKILL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/speckit-tasks/SKILL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.docguard.json +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.docguardignore +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.github/workflows/ci.yml +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.github/workflows/spec-kit-extension.yml +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.gitignore +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.npmignore +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/init-options.json +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/scripts/bash/common.sh +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/scripts/bash/setup-plan.sh +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/templates/agent-file-template.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/templates/checklist-template.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/templates/constitution-template.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/templates/plan-template.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/templates/spec-template.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/.specify/templates/tasks-template.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/AGENTS.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/CODE_OF_CONDUCT.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/COMPARISONS.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/CONTRIBUTING.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/DRIFT-LOG.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/LICENSE +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/PHILOSOPHY.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/ROADMAP.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/STANDARD.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/SUPPORT.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/action.yml +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/agents.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/badge.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/ci.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/diff.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/generate.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/llms.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/publish.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/score.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/trace.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/commands/watch.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/scanners/doc-tools.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/scanners/routes.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/scanners/schemas.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/shared.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/architecture.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/changelog.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/docs-coverage.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/docs-diff.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/docs-sync.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/drift.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/environment.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/freshness.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/metrics-consistency.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/security.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/structure.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/test-spec.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/cli/validators/traceability.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/commands/docguard.fix.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/commands/docguard.guard.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/commands/docguard.review.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/commands/docguard.score.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/configs/fastify.json +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/configs/generic.json +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/configs/nextjs.json +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/configs/python.json +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docguard_cli/__init__.py +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docguard_cli/wrapper.py +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs/ai-integration.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs/commands.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs/configuration.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs/faq.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs/installation.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs/profiles.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs/quickstart.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/LICENSE +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/README.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/commands/generate.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/commands/guard.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/commands/init.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/commands/score.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/commands/trace.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/ADR.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/AGENTS.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/ARCHITECTURE.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/CHANGELOG.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/CURRENT-STATE.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/DATA-MODEL.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/DEPLOYMENT.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/DRIFT-LOG.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/ENVIRONMENT.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/KNOWN-GOTCHAS.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/REQUIREMENTS.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/ROADMAP.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/RUNBOOKS.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/SECURITY.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/TEST-SPEC.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/TROUBLESHOOTING.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/VENDOR-BUGS.md.template +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/ci/github-actions.yml +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/commands/docguard.fix.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/commands/docguard.guard.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/commands/docguard.init.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/commands/docguard.review.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/templates/commands/docguard.update.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/tests/commands.test.mjs +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/vscode-extension/.vscodeignore +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/vscode-extension/README.md +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/vscode-extension/extension.js +0 -0
- {docguard_cli-0.9.7 → docguard_cli-0.9.9}/vscode-extension/package.json +0 -0
|
@@ -6,9 +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.
|
|
9
|
+
version: 0.9.9
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
+
<!-- docguard:version: 0.9.9 -->
|
|
12
13
|
|
|
13
14
|
# DocGuard Fix Skill
|
|
14
15
|
|
|
@@ -7,9 +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.9.
|
|
10
|
+
version: 0.9.9
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
+
<!-- docguard:version: 0.9.9 -->
|
|
13
14
|
|
|
14
15
|
# DocGuard Guard Skill
|
|
15
16
|
|
|
@@ -155,12 +156,16 @@ Present the user with options:
|
|
|
155
156
|
- **Track progress** — if user runs guard multiple times, compare before/after
|
|
156
157
|
- If user provides `$ARGUMENTS` like "just structure" or "only security", filter report to those validators
|
|
157
158
|
|
|
158
|
-
## Integration with Spec Kit
|
|
159
|
+
## Integration with Spec Kit (Extension-First)
|
|
159
160
|
|
|
160
|
-
|
|
161
|
+
DocGuard is a spec-kit extension. When this project has a `.specify/` directory:
|
|
162
|
+
- Read `.specify/memory/constitution.md` for project principles that constrain documentation
|
|
161
163
|
- Include Spec-Kit validator results in the triage
|
|
162
164
|
- Cross-reference spec quality issues with `specs/*/spec.md` file paths
|
|
163
|
-
-
|
|
165
|
+
- When specification issues found → suggest `/speckit.specify` or `/speckit.clarify`
|
|
166
|
+
- When architecture gaps found → suggest `/speckit.plan`
|
|
167
|
+
- When cross-artifact inconsistencies exceed 3 → suggest `/speckit.analyze`
|
|
168
|
+
- When no constitution exists → suggest `/speckit.constitution` as first step
|
|
164
169
|
|
|
165
170
|
## Context
|
|
166
171
|
|
|
@@ -6,9 +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.
|
|
9
|
+
version: 0.9.9
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
+
<!-- docguard:version: 0.9.9 -->
|
|
12
13
|
|
|
13
14
|
# DocGuard Review Skill
|
|
14
15
|
|
|
@@ -163,7 +164,10 @@ Output a structured markdown report (do NOT write to disk):
|
|
|
163
164
|
|
|
164
165
|
Based on findings:
|
|
165
166
|
- **If CRITICAL issues**: "Run `/docguard.fix --doc [name]` to resolve blocking issues"
|
|
167
|
+
- **If spec-related gaps**: "Run `/speckit.specify` to update specifications" or "/speckit.clarify to resolve ambiguities"
|
|
168
|
+
- **If architecture drift**: "Run `/speckit.plan` to realign implementation plan with codebase"
|
|
166
169
|
- **If only LOW/MEDIUM**: "Documentation is healthy. Consider `/docguard.fix` for polish"
|
|
170
|
+
- **If constitution missing**: "Run `/speckit.constitution` to establish project principles"
|
|
167
171
|
- **If all clean**: "Documentation is excellent. No action needed."
|
|
168
172
|
|
|
169
173
|
Ask: "Would you like me to fix the top N issues? (I'll show you what I plan to change before applying)"
|
|
@@ -6,9 +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.
|
|
9
|
+
version: 0.9.9
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-score
|
|
11
11
|
---
|
|
12
|
+
<!-- docguard:version: 0.9.9 -->
|
|
12
13
|
|
|
13
14
|
# DocGuard Score Skill
|
|
14
15
|
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
name: Publish to npm + PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
# ── Run tests first ──
|
|
12
|
+
test:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
strategy:
|
|
15
|
+
matrix:
|
|
16
|
+
node-version: [18, 20, 22]
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
with:
|
|
20
|
+
fetch-depth: 0
|
|
21
|
+
- uses: actions/setup-node@v4
|
|
22
|
+
with:
|
|
23
|
+
node-version: ${{ matrix.node-version }}
|
|
24
|
+
- name: Run Tests
|
|
25
|
+
run: npm test
|
|
26
|
+
- name: Guard (self-check)
|
|
27
|
+
run: node cli/docguard.mjs guard || [ $? -eq 2 ]
|
|
28
|
+
|
|
29
|
+
# ── Publish to npm ──
|
|
30
|
+
publish-npm:
|
|
31
|
+
needs: test
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
steps:
|
|
34
|
+
- uses: actions/checkout@v4
|
|
35
|
+
- uses: actions/setup-node@v4
|
|
36
|
+
with:
|
|
37
|
+
node-version: 20
|
|
38
|
+
registry-url: 'https://registry.npmjs.org'
|
|
39
|
+
|
|
40
|
+
- name: Sync version from tag
|
|
41
|
+
run: |
|
|
42
|
+
VERSION="${GITHUB_REF_NAME#v}"
|
|
43
|
+
npm version "$VERSION" --no-git-tag-version --allow-same-version
|
|
44
|
+
echo "Publishing version $VERSION"
|
|
45
|
+
|
|
46
|
+
- name: Publish
|
|
47
|
+
run: npm publish
|
|
48
|
+
env:
|
|
49
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
50
|
+
|
|
51
|
+
# ── Publish to PyPI ──
|
|
52
|
+
publish-pypi:
|
|
53
|
+
needs: test
|
|
54
|
+
runs-on: ubuntu-latest
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/checkout@v4
|
|
57
|
+
- uses: actions/setup-python@v5
|
|
58
|
+
with:
|
|
59
|
+
python-version: '3.12'
|
|
60
|
+
|
|
61
|
+
- name: Sync version from tag
|
|
62
|
+
run: |
|
|
63
|
+
VERSION="${GITHUB_REF_NAME#v}"
|
|
64
|
+
sed -i "s/^version = \".*\"/version = \"$VERSION\"/" pyproject.toml
|
|
65
|
+
echo "Publishing version $VERSION"
|
|
66
|
+
grep 'version' pyproject.toml
|
|
67
|
+
|
|
68
|
+
- name: Install build tools
|
|
69
|
+
run: pip install build twine
|
|
70
|
+
|
|
71
|
+
- name: Build
|
|
72
|
+
run: python -m build
|
|
73
|
+
|
|
74
|
+
- name: Publish
|
|
75
|
+
run: python -m twine upload dist/*
|
|
76
|
+
env:
|
|
77
|
+
TWINE_USERNAME: __token__
|
|
78
|
+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<!-- Sync Impact Report
|
|
2
|
+
Version change: 0.0.0 → 1.0.0
|
|
3
|
+
Modified principles: N/A (initial creation)
|
|
4
|
+
Added sections: Core Principles (7), Technology Constraints, Extension & Spec Kit Compliance, Governance
|
|
5
|
+
Removed sections: N/A
|
|
6
|
+
Templates requiring updates: ✅ constitution-template.md (reference only, not modified)
|
|
7
|
+
Follow-up TODOs: None
|
|
8
|
+
-->
|
|
9
|
+
|
|
10
|
+
# DocGuard Constitution
|
|
11
|
+
|
|
12
|
+
## Core Principles
|
|
13
|
+
|
|
14
|
+
### I. LLM-First, CLI-Second
|
|
15
|
+
|
|
16
|
+
DocGuard is built for AI coding agents. Every feature MUST be designed for LLM consumption first, with CLI as a secondary interface. Skills (behavior protocols) take priority over CLI commands (step-lists). When DocGuard detects an AI agent environment, it MUST surface skill-based instructions. CLI output MUST be machine-parseable (JSON mode) alongside human-readable text.
|
|
17
|
+
|
|
18
|
+
### II. Zero NPM Runtime Dependencies (NON-NEGOTIABLE)
|
|
19
|
+
|
|
20
|
+
DocGuard has zero `node_modules` at runtime. All Node.js functionality uses built-in modules only (`node:fs`, `node:path`, `node:child_process`, `node:test`, `node:url`, `node:readline`, `node:os`, `node:assert`). This maximizes portability, eliminates supply chain risk, and ensures instant `npx` usage. Dev dependencies are also zero — tests use `node:test`. DocGuard depends on spec-kit as a **framework convention** (`.specify/` directory structure, skill architecture, constitution pattern). This is an integration, not a code dependency. When the `specify` CLI is available, DocGuard MUST leverage it for initialization and skill management.
|
|
21
|
+
|
|
22
|
+
### III. Documentation as Source of Truth
|
|
23
|
+
|
|
24
|
+
Canonical-Driven Development means documentation drives code, not the other way around. DocGuard enforces this by validating code against `docs-canonical/` and detecting drift. Any deviation from canonical docs MUST be logged in `DRIFT-LOG.md` with `// DRIFT: reason` inline comments. The `docguard guard` command is the enforcement gate.
|
|
25
|
+
|
|
26
|
+
### IV. Validator Isolation
|
|
27
|
+
|
|
28
|
+
Each of the 19 validators is a pure, self-contained function. Validators receive `projectDir` and `config`, then return results. No validator may import another validator or depend on command-level logic. This ensures adding or modifying validators never breaks existing ones.
|
|
29
|
+
|
|
30
|
+
### V. AI as Author, CLI as Orchestrator
|
|
31
|
+
|
|
32
|
+
The CLI detects problems and generates structured prompts. The AI agent writes the actual documentation. DocGuard MUST NOT generate final documentation content itself — it provides research instructions, templates, and validation. The `fix`, `diagnose`, and `generate` commands produce AI-actionable output, not finished documents.
|
|
33
|
+
|
|
34
|
+
### VI. Safe Writes
|
|
35
|
+
|
|
36
|
+
All file write operations MUST use defensive patterns. Before overwriting any file, DocGuard creates backups. The `--force` flag is required to overwrite existing files. Init and setup commands skip files that already exist unless explicitly forced.
|
|
37
|
+
|
|
38
|
+
### VII. Spec Kit Extension Compliance
|
|
39
|
+
|
|
40
|
+
DocGuard is a community extension of GitHub Spec Kit. It MUST follow spec-kit conventions: `extension.yml` schema, skill architecture (`SKILL.md` files with YAML frontmatter), workflow hooks (`after_implement`, `before_tasks`, `after_tasks`), and the `.specify/` directory structure. DocGuard MUST always install spec-kit core skills alongside its own skills so users get the complete spec-driven development workflow.
|
|
41
|
+
|
|
42
|
+
## Technology Constraints
|
|
43
|
+
|
|
44
|
+
- **Language**: JavaScript (ES Modules only, no CommonJS)
|
|
45
|
+
- **Runtime**: Node.js ≥ 18 (for native `node:test` and ES module support)
|
|
46
|
+
- **Dependencies**: None. Zero. Ever. This is a hard constraint.
|
|
47
|
+
- **Distribution**: npm (`docguard-cli`) + PyPI (`docguard`)
|
|
48
|
+
- **Testing**: `node:test` + `node:assert` (built-in, no framework)
|
|
49
|
+
- **Extension**: VS Code Extension API for editor integration
|
|
50
|
+
- **Config**: `.docguard.json` for project-level customization
|
|
51
|
+
- **Profiles**: starter, standard, enterprise compliance levels
|
|
52
|
+
- **Output**: Text (human) + JSON (machine) dual output for all commands
|
|
53
|
+
|
|
54
|
+
## Extension & Spec Kit Compliance
|
|
55
|
+
|
|
56
|
+
- DocGuard MUST declare all skills, scripts, hooks, and commands in `extension.yml`
|
|
57
|
+
- DocGuard MUST bundle spec-kit core skills so users don't need a separate install
|
|
58
|
+
- All 4 DocGuard skills (`docguard-guard`, `docguard-fix`, `docguard-review`, `docguard-score`) MUST follow spec-kit skill architecture: YAML frontmatter with `name`, `description`, `compatibility`, `metadata`
|
|
59
|
+
- Workflow hooks MUST be optional (never force execution)
|
|
60
|
+
- The `ensureSkills()` function MUST auto-detect and install both DocGuard skills AND spec-kit core skills
|
|
61
|
+
- DocGuard MUST detect agent environment (LLM vs CLI) and adapt its output accordingly
|
|
62
|
+
|
|
63
|
+
## Governance
|
|
64
|
+
|
|
65
|
+
This constitution supersedes all ad-hoc practices. Amendments require:
|
|
66
|
+
1. Documentation of the change in `DRIFT-LOG.md` if deviating
|
|
67
|
+
2. Update this constitution with a version bump
|
|
68
|
+
3. Update `CHANGELOG.md` with the change
|
|
69
|
+
4. All PRs MUST pass `docguard guard` before merge
|
|
70
|
+
|
|
71
|
+
Versioning follows semantic versioning:
|
|
72
|
+
- **MAJOR**: Principle removal or backward-incompatible redefinition
|
|
73
|
+
- **MINOR**: New principle added or materially expanded guidance
|
|
74
|
+
- **PATCH**: Clarification, wording, typo fix
|
|
75
|
+
|
|
76
|
+
**Version**: 1.0.0 | **Ratified**: 2026-03-17 | **Last Amended**: 2026-03-17
|
|
@@ -7,6 +7,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.9.9] - 2026-03-17
|
|
11
|
+
|
|
12
|
+
### Added — Extension-First Architecture & Spec-Kit Integration Gate
|
|
13
|
+
|
|
14
|
+
#### Spec-Kit Integration Gate
|
|
15
|
+
- **`ensureSpecKit()`** — Runs on every command. Auto-initializes spec-kit when `specify` CLI is available. Shows a prominent yellow-box reminder every time when spec-kit is not installed (persistent, no dismiss).
|
|
16
|
+
- **`detectAIAgent(projectDir)`** — Maps 12 filesystem signals to spec-kit `--ai` flag values: `.cursor/` → `cursor-agent`, `.claude/` or `CLAUDE.md` → `claude`, `.gemini/` → `gemini`, `.agents/` → `agy` (Antigravity), `.github/copilot-instructions.md` → `copilot`, `.windsurf/` → `windsurf`, `.codex/` → `codex`, `.roo/` → `roo`, `.amp/` → `amp`, `.kiro/` → `kiro-cli`, `.tabnine/` → `tabnine`. Falls back to `--ai generic` when no agent detected.
|
|
17
|
+
- **Strong init push** — `docguard init` now shows a prominent red-bordered box when spec-kit is missing, listing exactly what users miss: 9 AI skills, constitution, SDD workflow, agent detection. Provides both `uv` and `pip` install commands.
|
|
18
|
+
- **Guard footer reminder** — `docguard guard` shows a 1-line spec-kit install nudge after results when not initialized.
|
|
19
|
+
- **Skill auto-update** — `ensureSkills()` now compares installed SKILL.md `docguard:version` against package version. Automatically overwrites stale skills on DocGuard update.
|
|
20
|
+
|
|
21
|
+
#### LLM-First Output
|
|
22
|
+
- **`detectAgentMode(projectDir)`** — Returns `'llm'` or `'cli'` based on filesystem signals and `.specify/init-options.json`. All adaptive commands check this.
|
|
23
|
+
- **`diagnose.mjs`** — All `FIX_INSTRUCTIONS` now include `llmCommand` fields (e.g., `/docguard.fix --doc architecture`). Issue collection propagates `llmCommand` to output. Remediation plan, verification checklist, and debate prompts all adapt to agent mode.
|
|
24
|
+
- **`guard.mjs`** — "Next step" hint now shows `/docguard.diagnose` in LLM mode.
|
|
25
|
+
- **`init.mjs`** — Next steps show skill commands (`/docguard.guard`, `/docguard.fix`) in LLM mode, CLI commands (`docguard diagnose`) in CLI mode.
|
|
26
|
+
- **`setup.mjs`** — Next steps adapt to agent mode.
|
|
27
|
+
|
|
28
|
+
#### Spec-Kit Skill Chaining
|
|
29
|
+
- **`docguard-guard` SKILL.md** — Now chains to `/speckit.specify`, `/speckit.plan`, `/speckit.clarify`, and checks `constitution.md`.
|
|
30
|
+
- **`docguard-review` SKILL.md** — Offers spec-kit skills for specification-level issues.
|
|
31
|
+
- **`extension.yml`** — Declares `framework: spec-kit` and `specify` as optional tool.
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
- **`npx docguard guard`** → `npx docguard-cli guard` — The npm package name is `docguard-cli`, not `docguard`. Fixed in `hooks.mjs`, `setup.mjs`, `fix.mjs`, `docguard.mjs` (pre-existing bug).
|
|
35
|
+
- **Hardcoded `--ai agy`** → Dynamic `detectAIAgent()` — `init.mjs` and `setup.mjs` no longer hardcode Antigravity as the agent.
|
|
36
|
+
- **`llmCommand` never propagated** — `collectIssues()` in `diagnose.mjs` was not copying `llmCommand` from `FIX_INSTRUCTIONS` to issue objects, so LLM-first fix hints silently fell back to CLI commands.
|
|
37
|
+
- **Debate prompt not LLM-aware** — `outputDebatePrompt()` now receives `agentMode` and adapts verification commands.
|
|
38
|
+
- **Basic-tier checklist hardcoded** — Verification checklist for basic-tier agents now adapts to LLM/CLI mode.
|
|
39
|
+
- **Stale "Zero dependencies" doc comments** — Updated 6 files to "Zero NPM runtime dependencies" matching the constitution.
|
|
40
|
+
- **Platform-aware `--script`** — `specify init` now uses `--script ps` on Windows, `--script sh` on Unix.
|
|
41
|
+
|
|
42
|
+
### Changed
|
|
43
|
+
- **Constitution** — Principle II amended from "Zero Dependencies" to "Zero NPM Runtime Dependencies" (spec-kit is a framework convention, not a code dependency).
|
|
44
|
+
- **SKILL.md metadata** — All 4 skills updated from `0.9.5`/`0.9.8` to `0.9.9`. Added `docguard:version` comment for auto-update mechanism.
|
|
45
|
+
- **`ensure-skills.mjs`** — Full rewrite: 6 exports (`ensureSkills`, `ensureSpecKit`, `detectAgentMode`, `detectAIAgent`, `getDetectedAgent`, `isSpecKitAvailable`, `isSpecKitInitialized`).
|
|
46
|
+
- **22 files changed**, +567/−203 lines.
|
|
47
|
+
|
|
10
48
|
## [0.9.6] - 2026-03-14
|
|
11
49
|
|
|
12
50
|
### Added — Enterprise AI Skills Architecture
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docguard-cli
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.9
|
|
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
|
|
@@ -46,6 +46,8 @@ Description-Content-Type: text/markdown
|
|
|
46
46
|
- [Templates](#-templates)
|
|
47
47
|
- [AI Agent Support](#-ai-agent-support)
|
|
48
48
|
- [Slash Commands](#-slash-commands)
|
|
49
|
+
- [Examples](#-examples)
|
|
50
|
+
- [Testing](#-testing)
|
|
49
51
|
- [CI/CD Integration](#%EF%B8%8F-cicd-integration)
|
|
50
52
|
- [File Structure](#-file-structure)
|
|
51
53
|
- [Configuration](#%EF%B8%8F-configuration)
|
|
@@ -68,6 +70,39 @@ DocGuard is an official [GitHub Spec Kit](https://github.com/github/spec-kit) co
|
|
|
68
70
|
|
|
69
71
|
📖 **[Philosophy](PHILOSOPHY.md)** · 📋 **[CDD Standard](STANDARD.md)** · ⚖️ **[Comparisons](COMPARISONS.md)** · 🗺️ **[Roadmap](ROADMAP.md)**
|
|
70
72
|
|
|
73
|
+
### Architecture
|
|
74
|
+
|
|
75
|
+
```mermaid
|
|
76
|
+
graph TD
|
|
77
|
+
CLI["CLI Entry<br/>docguard.mjs"] --> Commands["Commands (15)"]
|
|
78
|
+
Commands --> guard["guard"]
|
|
79
|
+
Commands --> generate["generate"]
|
|
80
|
+
Commands --> score["score"]
|
|
81
|
+
Commands --> diagnose["diagnose"]
|
|
82
|
+
Commands --> setup["setup wizard"]
|
|
83
|
+
Commands --> other["diff · init · fix · trace<br/>agents · hooks · badge · ci · watch"]
|
|
84
|
+
|
|
85
|
+
guard --> Validators["Validators (19)"]
|
|
86
|
+
generate --> Scanners["Scanners (4)<br/>routes · schemas · doc-tools · speckit"]
|
|
87
|
+
score --> Scoring["Weighted Scoring<br/>8 categories"]
|
|
88
|
+
diagnose --> Validators
|
|
89
|
+
diagnose --> AIPrompts["AI-Ready<br/>Fix Prompts"]
|
|
90
|
+
|
|
91
|
+
Validators --> Output["Output"]
|
|
92
|
+
Scanners --> Output
|
|
93
|
+
Scoring --> Output
|
|
94
|
+
Output --> Terminal["Terminal"]
|
|
95
|
+
Output --> JSON["JSON"]
|
|
96
|
+
Output --> Badge["Badge"]
|
|
97
|
+
|
|
98
|
+
style CLI fill:#2d5016,color:#fff
|
|
99
|
+
style Validators fill:#1a3a5c,color:#fff
|
|
100
|
+
style Scanners fill:#1a3a5c,color:#fff
|
|
101
|
+
style Output fill:#5c3a1a,color:#fff
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
> **Distribution**: Node.js core (npm) · Python wrapper (PyPI) · GitHub Action (`action.yml`) · Spec Kit Extension (ZIP)
|
|
105
|
+
|
|
71
106
|
---
|
|
72
107
|
|
|
73
108
|
## ⚡ Quick Start
|
|
@@ -359,6 +394,44 @@ For advanced users and CI/CD pipelines, DocGuard includes bash scripts with `--j
|
|
|
359
394
|
|
|
360
395
|
---
|
|
361
396
|
|
|
397
|
+
## 📁 Examples
|
|
398
|
+
|
|
399
|
+
Three real-world projects to see DocGuard in action:
|
|
400
|
+
|
|
401
|
+
| Example | Scenario | What You'll See |
|
|
402
|
+
|---------|----------|----------------|
|
|
403
|
+
| [01-express-api](examples/01-express-api/) | Node.js API with **zero docs** | Cold-start: `generate` → instant coverage |
|
|
404
|
+
| [02-python-flask](examples/02-python-flask/) | Python app with **drifted docs** | Drift detection: catch when docs lie |
|
|
405
|
+
| [03-spec-kit-project](examples/03-spec-kit-project/) | Full CDD + Spec Kit | Gold standard: what maturity looks like |
|
|
406
|
+
|
|
407
|
+
See [examples/README.md](examples/README.md) for step-by-step instructions.
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## 🧪 Testing
|
|
412
|
+
|
|
413
|
+
### Test Suite
|
|
414
|
+
|
|
415
|
+
```bash
|
|
416
|
+
npm test # 33 tests across 18 describe blocks
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
Covers all 15 CLI commands, project type detection, compliance profiles, JSON output format, and help completeness.
|
|
420
|
+
|
|
421
|
+
### CI Matrix
|
|
422
|
+
|
|
423
|
+
| Node.js | OS | Status |
|
|
424
|
+
|---------|-----|--------|
|
|
425
|
+
| 18 | ubuntu-latest | ✅ |
|
|
426
|
+
| 20 | ubuntu-latest | ✅ |
|
|
427
|
+
| 22 | ubuntu-latest | ✅ |
|
|
428
|
+
|
|
429
|
+
### Self-Validation (Dogfooding)
|
|
430
|
+
|
|
431
|
+
DocGuard runs its own `guard`, `score`, `diff`, `diagnose`, and `badge` commands against itself in CI — ensuring the tool passes its own checks.
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
362
435
|
## ⚙️ CI/CD Integration
|
|
363
436
|
|
|
364
437
|
### GitHub Actions
|
|
@@ -386,7 +459,7 @@ npx docguard-cli hooks --type pre-commit
|
|
|
386
459
|
### GitHub Marketplace
|
|
387
460
|
|
|
388
461
|
```yaml
|
|
389
|
-
- uses: raccioly/docguard@v0.9.
|
|
462
|
+
- uses: raccioly/docguard@v0.9.7
|
|
390
463
|
with:
|
|
391
464
|
command: guard
|
|
392
465
|
fail-on-warning: true
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
- [Templates](#-templates)
|
|
23
23
|
- [AI Agent Support](#-ai-agent-support)
|
|
24
24
|
- [Slash Commands](#-slash-commands)
|
|
25
|
+
- [Examples](#-examples)
|
|
26
|
+
- [Testing](#-testing)
|
|
25
27
|
- [CI/CD Integration](#%EF%B8%8F-cicd-integration)
|
|
26
28
|
- [File Structure](#-file-structure)
|
|
27
29
|
- [Configuration](#%EF%B8%8F-configuration)
|
|
@@ -44,6 +46,39 @@ DocGuard is an official [GitHub Spec Kit](https://github.com/github/spec-kit) co
|
|
|
44
46
|
|
|
45
47
|
📖 **[Philosophy](PHILOSOPHY.md)** · 📋 **[CDD Standard](STANDARD.md)** · ⚖️ **[Comparisons](COMPARISONS.md)** · 🗺️ **[Roadmap](ROADMAP.md)**
|
|
46
48
|
|
|
49
|
+
### Architecture
|
|
50
|
+
|
|
51
|
+
```mermaid
|
|
52
|
+
graph TD
|
|
53
|
+
CLI["CLI Entry<br/>docguard.mjs"] --> Commands["Commands (15)"]
|
|
54
|
+
Commands --> guard["guard"]
|
|
55
|
+
Commands --> generate["generate"]
|
|
56
|
+
Commands --> score["score"]
|
|
57
|
+
Commands --> diagnose["diagnose"]
|
|
58
|
+
Commands --> setup["setup wizard"]
|
|
59
|
+
Commands --> other["diff · init · fix · trace<br/>agents · hooks · badge · ci · watch"]
|
|
60
|
+
|
|
61
|
+
guard --> Validators["Validators (19)"]
|
|
62
|
+
generate --> Scanners["Scanners (4)<br/>routes · schemas · doc-tools · speckit"]
|
|
63
|
+
score --> Scoring["Weighted Scoring<br/>8 categories"]
|
|
64
|
+
diagnose --> Validators
|
|
65
|
+
diagnose --> AIPrompts["AI-Ready<br/>Fix Prompts"]
|
|
66
|
+
|
|
67
|
+
Validators --> Output["Output"]
|
|
68
|
+
Scanners --> Output
|
|
69
|
+
Scoring --> Output
|
|
70
|
+
Output --> Terminal["Terminal"]
|
|
71
|
+
Output --> JSON["JSON"]
|
|
72
|
+
Output --> Badge["Badge"]
|
|
73
|
+
|
|
74
|
+
style CLI fill:#2d5016,color:#fff
|
|
75
|
+
style Validators fill:#1a3a5c,color:#fff
|
|
76
|
+
style Scanners fill:#1a3a5c,color:#fff
|
|
77
|
+
style Output fill:#5c3a1a,color:#fff
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
> **Distribution**: Node.js core (npm) · Python wrapper (PyPI) · GitHub Action (`action.yml`) · Spec Kit Extension (ZIP)
|
|
81
|
+
|
|
47
82
|
---
|
|
48
83
|
|
|
49
84
|
## ⚡ Quick Start
|
|
@@ -335,6 +370,44 @@ For advanced users and CI/CD pipelines, DocGuard includes bash scripts with `--j
|
|
|
335
370
|
|
|
336
371
|
---
|
|
337
372
|
|
|
373
|
+
## 📁 Examples
|
|
374
|
+
|
|
375
|
+
Three real-world projects to see DocGuard in action:
|
|
376
|
+
|
|
377
|
+
| Example | Scenario | What You'll See |
|
|
378
|
+
|---------|----------|----------------|
|
|
379
|
+
| [01-express-api](examples/01-express-api/) | Node.js API with **zero docs** | Cold-start: `generate` → instant coverage |
|
|
380
|
+
| [02-python-flask](examples/02-python-flask/) | Python app with **drifted docs** | Drift detection: catch when docs lie |
|
|
381
|
+
| [03-spec-kit-project](examples/03-spec-kit-project/) | Full CDD + Spec Kit | Gold standard: what maturity looks like |
|
|
382
|
+
|
|
383
|
+
See [examples/README.md](examples/README.md) for step-by-step instructions.
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## 🧪 Testing
|
|
388
|
+
|
|
389
|
+
### Test Suite
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
npm test # 33 tests across 18 describe blocks
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
Covers all 15 CLI commands, project type detection, compliance profiles, JSON output format, and help completeness.
|
|
396
|
+
|
|
397
|
+
### CI Matrix
|
|
398
|
+
|
|
399
|
+
| Node.js | OS | Status |
|
|
400
|
+
|---------|-----|--------|
|
|
401
|
+
| 18 | ubuntu-latest | ✅ |
|
|
402
|
+
| 20 | ubuntu-latest | ✅ |
|
|
403
|
+
| 22 | ubuntu-latest | ✅ |
|
|
404
|
+
|
|
405
|
+
### Self-Validation (Dogfooding)
|
|
406
|
+
|
|
407
|
+
DocGuard runs its own `guard`, `score`, `diff`, `diagnose`, and `badge` commands against itself in CI — ensuring the tool passes its own checks.
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
338
411
|
## ⚙️ CI/CD Integration
|
|
339
412
|
|
|
340
413
|
### GitHub Actions
|
|
@@ -362,7 +435,7 @@ npx docguard-cli hooks --type pre-commit
|
|
|
362
435
|
### GitHub Marketplace
|
|
363
436
|
|
|
364
437
|
```yaml
|
|
365
|
-
- uses: raccioly/docguard@v0.9.
|
|
438
|
+
- uses: raccioly/docguard@v0.9.7
|
|
366
439
|
with:
|
|
367
440
|
command: guard
|
|
368
441
|
fail-on-warning: true
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
| Version | Supported |
|
|
6
6
|
|---------|-----------|
|
|
7
|
-
| 0.
|
|
8
|
-
| < 0.
|
|
7
|
+
| 0.9.x | ✅ Current |
|
|
8
|
+
| < 0.9 | ❌ Not supported |
|
|
9
9
|
|
|
10
10
|
## Reporting a Vulnerability
|
|
11
11
|
|
|
12
12
|
If you discover a security vulnerability in DocGuard, please report it responsibly:
|
|
13
13
|
|
|
14
14
|
1. **Do NOT** open a public GitHub issue for security vulnerabilities
|
|
15
|
-
2. **
|
|
15
|
+
2. **Report via** [GitHub Security Advisories](https://github.com/raccioly/docguard/security/advisories/new) (private, preferred)
|
|
16
16
|
3. Include:
|
|
17
17
|
- Description of the vulnerability
|
|
18
18
|
- Steps to reproduce
|