English | 中文 | 日本語 | Français | Español | العربية | 한국어 | Português | Русский | Deutsch
Instantly score how well your project is configured for AI coding assistants. One command. Zero config. Actionable results.
- 🎯 Why Vibe Check?
- 🚀 Quick Start
- 🔍 What It Checks
- ⚙️ Options
- 📈 How to Improve Your Score
- ❓ FAQ
- 🔗 See Also
- 🤝 Contributing
- 📄 License
AI coding assistants (Cursor, Claude Code, Copilot, Kimi Code) generate significantly better code when your project has proper configuration — rules files, TypeScript, testing, linting. But most projects are missing half of these.
Vibe Check scans your project in seconds and gives you a 0–100 score with specific recommendations.
| Grade | Score | Meaning |
|---|---|---|
| 🏆 S | 90–100 | Perfect — your project is a gold standard |
| ✨ A | 75–89 | Great — minor improvements possible |
| 👍 B | 60–74 | Good — a few gaps to fill |
| 🔧 C | 40–59 | Fair — significant room for improvement |
| 20–39 | Needs work — AI assistants are underperforming | |
| ❌ F | 0–19 | Poor — major configuration missing |
# No install required
npx @liangzhengtao/vibe-check
# Check a specific project
npx @liangzhengtao/vibe-check /path/to/project
# CI mode — fail the build if score < 70
npx @liangzhengtao/vibe-check --min-score 70
# JSON output for scripts
npx @liangzhengtao/vibe-check --json7 categories. Mutually exclusive checks (e.g., ESLint config formats) are grouped — only the best match counts.
| Category | Max | What's Checked |
|---|---|---|
| 🤖 AI Rules | 26 | .cursorrules, CLAUDE.md, AGENTS.md, Copilot, Windsurf, Cline |
| 📚 Documentation | 15 | README, CONTRIBUTING, CHANGELOG, docs/ |
| 🔒 Type Safety | 10 | tsconfig.json, types/, .d.ts files |
| 🧪 Testing | 6 | Jest/Vitest/Mocha/Cypress/Playwright + test directories |
| ✨ Code Quality | 10 | ESLint + Prettier (any format) + EditorConfig + Stylelint |
| 🔄 Git & CI/CD | 9 | GitHub Actions/GitLab CI + Husky + .gitignore |
| 📦 Dependencies | 8 | Lockfiles per language (JS, Python, Rust, Go) |
Total: 84 points → normalized to 0–100.
vibe-check [options] [directory]
Options:
-j, --json Output as JSON
-v, --verbose Show detailed per-check results
-m, --min-score Exit code 1 if score < N (CI mode)
--no-color Disable colors
-h, --help Display help
-V, --version Display version
# GitHub Actions
- name: Check AI-friendliness
run: npx @liangzhengtao/vibe-check --min-score 60 --json# GitLab CI
vibe-check:
script:
- npx @liangzhengtao/vibe-check --min-score 60# 1. Add AI rules (biggest impact — up to 26 points)
echo "# My Rules" > .cursorrules
echo "# My Rules" > CLAUDE.md
# 2. Add TypeScript (10 points)
npx tsc --init
# 3. Add ESLint + Prettier (10 points)
npm init @eslint/config
npm i -D prettier && echo {} > .prettierrc
# 4. Add a test framework (6 points)
npm i -D vitest
# 5. Add GitHub Actions CI (4 points)
mkdir -p .github/workflows
# create ci.yml
# 6. Add .gitignore (2 points)
npx gitignore nodeDoes this modify my project? No. Vibe-check is 100% read-only.
What languages does it support? All of them. It checks for universal tooling (TypeScript, ESLint, testing, CI) that works with any language.
Can I use this in CI?
Yes! npx @liangzhengtao/vibe-check --min-score 70 exits with code 1 if the score is below the threshold. Perfect for PR checks.
Why is my score lower than expected? Mutually exclusive items are grouped. Having 4 ESLint config files doesn't give more points than having 1 — only the format you actually use counts.
| Project | Description |
|---|---|
| agent-trace | Visualize and debug AI agent execution traces |
| ai-commit | npx @liangzhengtao/commit-ai — AI writes your commit messages |
| git-format | npx @liangzhengtao/git-format — Conventional commits, auto-formatted |
| awesome-ai-rules | 20 production AI coding rules |
See CONTRIBUTING.md. PRs welcome!