Go Claude Code Comment Checker banner
code-yeongyu code-yeongyu

Go Claude Code Comment Checker

Development community

Description

Multi-language comment detection hook for Claude Code. 100% vibe coded by Claude Opus 4.5.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

comment-checker

100% vibe coded. zero comments in my code, zero comments in yours.

**this entire repo - code, docs, readme, everything - was written by LLMs.** shoutout to claude opus 4.5.

A PostToolUse hook for Claude Code / OpenCode that yells at you when you write unnecessary comments.

Built with Rust + tree-sitter. Fast. Opinionated. No mercy.

why

comments are code smell. if your code needs comments to be understood, your code sucks.

this hook watches every `Write`, `Edit`, `MultiEdit` and screams when it detects comments.

exceptions exist. BDD comments (`# given`, `# when`, `# then`), linter directives (`# noqa`, `// @ts-ignore`), shebangs - these are fine. everything else? delete it. yes, even docstrings.

install

npm / bun

npm install -g @code-yeongyu/comment-checker
bun add -g @code-yeongyu/comment-checker

homebrew (macos/linux)

brew tap code-yeongyu/tap
brew install comment-checker

manual

grab binary from [releases](https://github.com/code-yeongyu/go-claude-code-comment-checker/releases).

setup

add to `~/.claude/settings.json` (or `.claude/settings.json` in your project):

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit|MultiEdit",
        "hooks": [
          {
            "type": "command",
            "command": "comment-checker"
          }
        ]
      }
    ]
  }
}

done. now claude will think twice before leaving `// TODO: fix later` in your code.

what it catches

// bad: unnecessary comment
x := 1 + 1  // adds one to one

// bad: todo that will never be done
// TODO: refactor this later

// bad: commented out code
// fmt.Println("debug")

what it allows

# given - BDD comments are fine
def test_something():
    # when
    result = do_thing()
    # then
    assert result == expected
# noqa: E501 - linter directives are fine
#!/usr/bin/env python - shebangs are fine

30+ languag