Skip to content

v0.1.0 — DoD-Guard goes public

Choose a tag to compare

@atoslins atoslins released this 19 May 16:41
· 3 commits to main since this release

DoD-Guard v0.1.0

First public release.

Definition of Done as an executable barrier for Claude Code. Stops AI agents (and humans) from declaring tasks "done" while code is still half-baked.

Install

/plugin marketplace add https://github.com/atoslins/dod-guard
/plugin install dod-guard@dod-guard-local
/reload-plugins

Then in any project:

/dod:init        # detects stack, writes .dod-guard.json + DOD.md
/dod:verify      # 30-second deterministic check

What's in the box

Layer Count Examples
Detectors (bash + python, no LLM) 11 scripts stubs, TODOs, empty functions (AST), suspicious returns, test tautology, NotImpl markers, coverage delta, full-suite runner
Hooks 5 handlers SessionStart, PostToolUse (Edit + Bash), Stop with stop_hook_active loop prevention, SubagentStop
Adversarial subagents 7 completeness-auditor, test-quality-auditor, e2e-verifier, regression-hunter, adversarial-reviewer, claim-validator, final-judge
Slash commands 8 /dod:init, /dod:verify, /dod:audit, /dod:report, /dod:stubs, /dod:tests, /dod:checklist, /dod:confess
Skills 4 dod-enforcement, adversarial-verification, evidence-reporting, stub-detection-patterns
Templates 3 .dod-guard.json + DOD.md per stack (Node, Go, generic)

Language coverage in this release

  • Python — AST-based detectors for empty functions, suspicious returns, decorative tests.
  • JavaScript / TypeScriptexpect.toBeDefined(), mock-only assertions, expect.assertions(0), trivial snapshots, Node assert.ok(true), chai weak assertions, test.skip in diff, empty arrows.
  • Go — empty function detection, zero-value action returns, NewX() *X { return &X{} } uninitialized constructors, _ = err / _, _ = ... error-swallow, testify tautologies (assert.True(t, true), assert.Equal(t, x, x), assert.NoError(t, nil)), TestX with no assertion, t.Skip / t.Log("TODO..."), // nolint: markers.
  • Rust / Ruby / Bash — regex-based detection of empty bodies and todo!() / unimplemented!() markers.

Verification

The plugin verifies itself:

  • 94 test assertions across 4 suites (test-detectors.sh, test-hooks.sh, test-agents-syntax.sh, test-integration.sh).
  • shellcheck -x clean on every shell script.
  • claude plugin validate passes for both plugin.json and marketplace.json.
  • The plugin's own source passes its own pipeline: bash scripts/run-verification-pipeline.sh --skip-tests returns VERDICT: PASS, 0 issues.
  • GitHub Actions CI runs all of the above on every push and PR.

Documentation

  • README — overview, install, commands, language coverage.
  • Architecture — five-layer diagram + "Claude declares done" flow.
  • Customization.dod-guard.json reference.
  • Examples — four end-to-end scenarios.
  • Development — contributing, tests, style, release process.

Full changelog

See CHANGELOG.md.