About Habit Hooks
This tool is a code quality coaching layer for AI coding agents. It runs your existing linters over the files in scope and replaces each raw rule violation with a short coaching guide the agent can act on. The premise is that agents ignore long rule documents and tend to game a bare linter score, for example by splitting branches into helper functions so a complexity number falls without the code getting simpler. Giving the agent a guided action instead of a metric is meant to produce genuine fixes.
It works as a pipeline. A sensors command runs the linters and emits findings, translating each tool's rule IDs into a tool independent smell key such as too many parameters or high complexity. A mapper command then groups findings by smell, renders the matching coaching guide and sets the exit code from severity. Supported languages are Python with ruff and deptry, TypeScript with eslint, knip and ts morph, PHP with phpmd, Java with pmd and Ruby with rubocop, plus a line count and duplication check for any language. Each is a separately installable plugin, and a project's own configuration for a wrapped tool always takes precedence.
Install is a single uv tool install command followed by an init command in your project, with GitHub, PyPI and documentation linked from the site. The site publishes a pre registered evaluation and the author's own list of what the judge can miss. No pricing is published.