v0.1.0 — DoD-Guard goes public
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-pluginsThen in any project:
/dod:init # detects stack, writes .dod-guard.json + DOD.md
/dod:verify # 30-second deterministic checkWhat'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 / TypeScript —
expect.toBeDefined(), mock-only assertions,expect.assertions(0), trivial snapshots, Nodeassert.ok(true), chai weak assertions,test.skipin 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)),TestXwith 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 -xclean on every shell script.claude plugin validatepasses for bothplugin.jsonandmarketplace.json.- The plugin's own source passes its own pipeline:
bash scripts/run-verification-pipeline.sh --skip-testsreturnsVERDICT: 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.jsonreference. - Examples — four end-to-end scenarios.
- Development — contributing, tests, style, release process.
Full changelog
See CHANGELOG.md.