/faircopy

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.ts at the project root
  • faircopy and one or more adapters installed in the project