prodlint
[npm version]
[npm downloads]
[License: MIT]
Production readiness for vibe-coded apps.
Static analysis for vibe-coded apps. Flags the security, reliability, performance, and AI quality issues that Cursor, v0, Bolt, and Copilot create — hallucinated imports, missing auth, hardcoded secrets, unvalidated server actions, and more. Zero config, no LLM, 52 rules.
Why?
Vibe coding is the fastest way to build. Shipping fast means knowing your code is production-ready — not just that it compiles. Hardcoded secrets, hallucinated packages, missing auth, and XSS vectors pass type-checks and look correct — but they aren't ready for production.
prodlint checks what TypeScript and ESLint don't: whether your vibe-coded app is ready for production.
Install
Or install it:
52 Rules across 4 Categories
Security (27 rules)
Reliability (11 rules)
Performance (6 rules)
AI Quality (8 rules)
Smart Detection
prodlint avoids common false positives:
- AST parsing — Babel-based analysis for 14 rules (imports, catch blocks, redirects, redirects in try/catch, SSRF, path traversal, JWT, HTML injection, hydration, transactions, env leaks, loops, SQL, route handlers) with regex fallback
- Monorepo support — npm/yarn/pnpm workspace dependencies resolved automatically
- Framework awareness — Prisma, Drizzle, Supabase, Knex, and Sequelize whitelists prevent false SQL injection flags
- Middleware detection — Clerk, NextAuth, Supabase middleware (
middleware.ts, or proxy.ts on Next.js 16) detected — auth findings downgraded
- Block comment awareness — patterns inside
/* */ are ignored
- Path alias support —
@/, ~/, and tsconfig paths aren't flagged as hallucinated imports
- Route exemptions — auth, webhook, health, and cron routes are exempt from auth/rate-limit checks
- Test/script file awareness — lower severity for non-production files
- Fix suggestions — findings include actionable
fix hints with remediation code
Scoring
Each category starts at 100. Deductions per finding:
Diminishing returns: after 30 points deducted in a category, further deductions are halved; after 50, quartered.
Weighted overall: security 40%, reliability 30%, performance 15%, ai-quality 15%. Floor at 0. Exit code 1 if any critical findings exist.
GitHub Action
Add to .github/workflows/prodlint.yml:
Posts a score breakdown as a PR comment, and fails the build when the scan finds critical
issues or the score is below threshold. Each release of the action runs its matching
prodlint version, so pinning the action (@v1, a version tag, or a commit SHA) also pins
the scanner.
SARIF + GitHub Code Scanning
Upload prodlint results to GitHub's Security tab:
Baseline for Existing Projects
Adopt prodlint gradually without drowning in pre-existing findings:
MCP Server
Use prodlint inside Cursor, Claude Code, or any MCP-compatible editor:
Claude Code:
Cursor / Windsurf:
prodlint-mcp is a thin launcher for the server built into prodlint. It's published with
every prodlint release, so it always runs the matching scanner.
Ask your AI: "Run prodlint on this project" and it calls the scan tool directly.
Both tools return a Markdown summary plus structured output (structuredContent matching
each tool's outputSchema), and both are marked read-only (readOnlyHint), which hosted
reviewers such as GitHub Copilot code review require before they call an MCP tool.
Site Score
Check any deployed website for AI agent-readiness — 14 checks covering emerging standards like llms.txt, TDMRep, AgentCard, AI-Disclosure, HTTP Signatures (RFC 9421), and more.
Or check your score interactively at prodlint.com/score.
For AI Tools
prodlint is designed specifically for AI-generated code patterns. Every rule checks for production issues that AI coding tools consistently create — not style nits.
Suppression
Suppress a single line:
Suppress an entire file (place at top):
Programmatic API
Badge
License
MIT