built by aktagon.com

Your agent says done. wrkgrd says built and passing.

Every commit passes your project's own build, lint, type check and tests. Every agent turn ends with a type check and lint that take seconds.

wrkgrd is a CLI that detects the stacks in your repo and runs the right build, test, and lint tools for each — cargo, go test, eslint, pytest. A commit runs all of them. An agent's end of turn runs only the type check and lint. Same tree, same verdict, same exit code.

Gate your build. · Run the tools you already have.

MIT cargo install --git https://github.com/aktagon/wrkgrd It gates its own commits, every push

01 For the agent wrangler

A broken build can't pass as done.

  • An agent finishes a task and reports success.
  • The code never compiled — the test was never run.
  • The commit lands, and CI finds it ten minutes later.

wrkgrd runs the real build and tests before the commit — and fails the gate like a red CI.

02 One contract, two readers

Built for humans and agents alike.

Every command emits --format json, keeps stdout a clean parseable stream, and returns documented exit codes. --harness wraps the verdict into an agent's hook contract — so an agent can't declare done while the build is red.

0  clean1  failures2  misuse

03 Every capability

One binary. From commit to CI.

verify

Run every detected stack's build and tests. Human output, or --format json for agents.

init

Write a starter wrkgrd.toml for the repo in one command.

rules

List the verification-tool catalog — every tool, its stack, and the command it runs.

features

Browse the capability catalog, including agent-harness integration.

hooks install

Wire wrkgrd into pre-commit, CI, or a Claude stop-hook.

docs

Print the end-user guide bundled with the binary.

Harness integrationavailable

Wrap verification results into an agent harness's hook contract via --harness.

Tool catalogavailable

Ontology-driven catalog of build/test/lint tools, per stack, listed by `wrkgrd rules`.

Config auditsavailable

Warn-only checks on weak config and missing hygiene files: lint/compiler strictness, formatter-hook presence, .gitignore/.dockerignore presence (never block).

MCP context-bloat auditplanned

Audit a project's MCP server tool definitions for context bloat.

Secret scanningavailable

Block a commit that stages a hardcoded secret — native scanner plus opt-in gitleaks, at the pre-commit hook.

Anchor coverageavailable

Block when a tier=code checklist anchor has no test titled for it — the code-tier brick of the family's provable-done gate.

Stdlib-only policyavailable

Warn when a stack's manifest declares a third-party runtime dependency — opt-in stdlib-only policy across rust/go/node/python/ruby (never blocks).

Link integrityavailable

Block a built site whose internal link points at a missing file, and warn on a `#fragment` no id matches — over generated HTML, offline.

Holdout tableavailable

Declare the holdout directory and read-only tests in `[holdout]`; `wrkgrd holdout --format json` prints them for an agent-harness hook, and a `pin` fails verify when a read-only test changes.

Bug regression testsavailable

Link each BUG and VULN record to tests named for its id: block a fixed record with no running test, and in CI require an open record's test to fail.

Skip unchangedavailable

Skip the stack build/test/lint commands when the code is unchanged since the last green run; the other checks still run.

Requirement testsavailable

Link each Implemented requirement to a test named after its four-part key, the document id plus the requirement id, such as `fn adr_033_wrk_150_…` or `TestAdr033Wrk150…`: warn per turn when it has none, and block in CI with `wrkgrd verify --reqs`.

Dependency cooldownavailable

Warn when the package manager's release-age cooldown (uv, npm, pnpm, Bun, Yarn, Bundler) is missing or under 14 days, or the client is too old to read it; shown to the agent at session start.

Install-script blockingavailable

Warn when npm, pnpm or Yarn runs every dependency's install scripts: the config turns blocking off, or the client is older than the first release that blocks them; shown to the agent at session start.

04 See it work

The 'done' your agent would otherwise have committed.

Before — no gate
After — wrkgrd verify

05 What it runs

Every stack. Every tool.

wrkgrd detects the stacks in your tree and runs the right build, test, and lint tools for each. Point it at a repo and every stack is verified with the tools it already uses.

Rust9 tools

Build, test, lint, and dead-code/unused-dep checks for Cargo projects.

Go9 tools

Build, vet, test, and error-handling checks for Go modules.

Node.js22 tools

Build, type-check, lint, test, and dead-code checks for Node projects.

Python7 tools

Test, lint, and dead-code checks for Python projects.

Ruby6 tools

Test and error-handling checks for Ruby projects.

Git20 tools

Repo-hygiene gates: commit messages, branch scope, secrets, release guard.

Docker1 tool

Container-hygiene checks for Docker projects.

Swift3 tools

Gate your build like you gate your deploys.

wrkgrd is free and MIT-licensed, forever. Part of the *grd family — ctxgrd lints your docs, wrkgrd verifies your code.