Skip to content

v0.2.0 — Hook Enforcement & Documenter

Latest

Choose a tag to compare

@dmytrogajewski dmytrogajewski released this 12 Jul 12:58
66af414

promptkit — Hook Enforcement & Documenter

Two additions since v0.1.0: the anti-MVP/MLP contract from the prompt-quality review is now mechanically enforced for Claude Code via hooks, and a new /documenter skill audits and authors open-source documentation against an evidence-based rubric.

Highlights

1. Claude Code hooks — the contract becomes mechanical

v0.1.0 wrote the rules (no stubs, no estimates, no premature checkboxes, no soft yields) as prose; models routinely ignore prose under pressure. promptkit now ships POSIX shell + jq hooks that refuse the tool call at the boundary. Emitted only when claude is in the agents list; other agents keep the textual rules.

  • no-stub-markers.sh (PreToolUse on Write|Edit|MultiEdit) — refuses code containing TODO, FIXME, XXX, HACK, MVP, MLP, unimplemented!(), NotImplementedError, "implement later", "for now", "as a first pass". Docs, specs, fixtures, and instruction templates are carved out.
  • no-estimates.sh (PreToolUse) — refuses estimation language (hours/days/story points/ETA), MVP/MLP scoping, "Phase N" / "vN scope", weekday/month references, and date-stamped artifact filenames in any artifact.
  • evidence-for-checkbox.sh (PreToolUse) — refuses to flip - [x] on roadmaps, FRDs, journeys, and run logs unless .claude/state/gates.json shows make lint and make test exited 0 after the last code write.
  • track-gates.sh (PostToolUse on Bash|Write|Edit|MultiEdit) — bookkeeping that feeds the checkbox gate: records gate exit codes and a monotonic sequence index.
  • finish-the-work.sh (Stop) — blocks soft yields while unchecked roadmap items remain.

If jq is missing, every hook degrades to allow-with-warning. See docs/hooks.md.

2. /documenter — OSS docs audit & authoring (new skill)

Audits a project's documentation against a composite rubric — Diátaxis quadrants, Standard README, Google/Microsoft style, Keep a Changelog + SemVer + Conventional Commits, MADR ADRs, docs CI (markdownlint/Vale/cspell/lychee), llms.txt, and OpenSSF Best Practices passing criteria — using OpenSSF MUST / SHOULD / SUGGESTED severities.

  • Audit mode writes specs/docs-audit/AUDIT-<scope>.md plus a roadmap-shaped PLAN-<scope>.md; authoring mode (/documenter <kind> [topic]) drafts one artefact at a time.
  • Never silently rewrites — when a target file exists, the draft lands at <path>.proposed.md until the user merges it.
  • Ecosystem-aware: Go / Rust / Zig overrides plug in godoc / rustdoc / zig build docs tooling and CI snippets.
  • Mixture-compatible: security / observability / durable mixtures append their own rubric rows.

See docs/documenter.md.

Breaking changes

None. Hooks are additive and emitted only for the claude agent; existing generated projects pick them up on the next promptkit update.

Full changelog: v0.1.0...v0.2.0