Claude Code plugin
Block turn-end in Claude Code when lint errors exist.
The @faircopy/plugin package wires faircopy into Claude Code via a Stop hook. When Claude finishes a turn, faircopy runs on the modified files. If there are errors, the hook blocks the turn and feeds the diagnostics back so Claude can fix them before stopping.
Install
claude plugin marketplace add github.com/omniaura/faircopy
claude plugin install faircopy
Or configure manually in .claude/settings.json:
{
"hooks": {
"Stop": [
{
"hooks": [
{ "type": "command", "command": "npx faircopy hook-stop" }
]
}
]
}
}
What the plugin provides
Stop hook
Runs npx faircopy hook-stop when Claude ends a turn. If faircopy.config.ts is present and any .astro files changed with lint errors, the hook blocks the turn and returns the diagnostics.
faircopy skill
Auto-loaded when Claude is working on .astro files or marketing copy. Teaches Claude to run npx faircopy lint after writing prose and to fix every reported error before marking the task complete.
Requirements
faircopy.config.tsat the project rootfaircopyand one or more adapters installed in the project