Free tool
CLAUDE.md linter
Claude Code reads your CLAUDE.md at the start of every session. Paste yours to find what makes it cost more than it earns: too many lines, rules too vague to follow, rules that contradict each other, and secrets that should never be committed. Everything runs in your browser.
Checked in your browser. Nothing is uploaded.
Report
Paste a CLAUDE.md, open a file, or try the example.
Keep the reasoning, not just the rules
CLAUDE.md tells Claude how to work. The VibeHub plugin keeps what it actually did: each Claude Code session saved with the commit it produced.
Set up the Claude Code pluginQuestions, answered.
- What does the CLAUDE.md linter check?
- Length, rules too vague to act on (such as 'write clean code' or 'handle errors properly'), contradictions (two package managers, tabs and spaces, or 'always X' next to 'never X'), duplicated rules, missing sections for commands, code style, and project structure, and secrets such as API keys, tokens, and connection-string passwords.
- Is my CLAUDE.md uploaded?
- No. The file is checked in your browser and never sent to VibeHub or anyone else. Secrets it finds are shown masked.
- How long should a CLAUDE.md be?
- There is no fixed limit. Claude Code loads the file into context at the start of every session, so every line costs tokens and competes with the rest for attention. The linter warns above 200 lines and flags files over 500. For each line, ask whether Claude would get something wrong without it.
- Does it follow @imports?
- No. CLAUDE.md can import other files with
@path/to/file, but the linter only sees the text you paste or open here. Check imported files separately. - Can I trust every finding?
- Treat them as suggestions. The checks are heuristics tuned to stay quiet when unsure, so they will miss some problems and occasionally flag a rule that is fine in context. Secret findings are the exception: rotate any real key that was ever committed.
Version the whole vibe.
The vb CLI, public vibes, and GitHub mirroring are free forever.