Skip to main content
Vibrant provides three main commands for detecting AI-generated code patterns in your codebase.

vibrant [path]

Analyze files or directories for vibecode patterns.
vibrant .
vibrant src/
vibrant src/components/Button.tsx
path
string
default:"."
Path to analyze (file or directory). Defaults to current directory.

Options

The analyze command supports several options:
  • --format - Output format (pretty, compact, plan, json)
  • --ignore - Comma-separated patterns to ignore
  • --fix - Automatically fix problems
  • --ai - Enable AI-powered analysis
  • --provider - AI provider (openai, claude, gemini, ollama, openrouter)
  • --no-cache - Disable analysis cache
See Options for detailed information.

Examples

vibrant .

vibrant init

Create a vibrant.config.js configuration file in the current directory.
vibrant init
This command generates a configuration file with sensible defaults:
vibrant.config.js
module.exports = {
  // Directories to ignore during analysis
  ignore: ['node_modules', '.git', 'dist', '.next', 'build', 'coverage'],
  
  // Output format: 'pretty', 'compact' or 'plan'
  format: 'pretty',
  
  // AI Provider configuration (optional)
  // provider: 'openrouter', // 'openai' | 'claude' | 'gemini' | 'ollama' | 'openrouter'
};
If vibrant.config.js already exists, the command will skip creation and display a warning.

What gets configured

The init command sets up:
  • ignore - Common directories to exclude (node_modules, dist, build, etc.)
  • format - Default output format set to ‘pretty’
  • provider - Optional AI provider configuration (commented out by default)
After initialization, run vibrant . to start analyzing your code.

vibrant rules

List all available detection rules.
vibrant rules
This displays a formatted list of all rules with their severity levels and descriptions.

Output format

Available Rules

✖ no-explicit-any        Explicit use of the `any` type
✖ unimplemented-error    Incomplete code
✖ empty-function-body    Empty function bodies
✖ empty-catch-block      Empty catch blocks
✖ hardcoded-credentials  Hardcoded credentials in code
✖ no-sql-injection       SQL injection vulnerabilities
✖ no-unsafe-inner-html   Unsafe innerHTML usage
✖ no-await-in-loop       Await inside loops
✖ no-unreachable         Unreachable code
✖ use-isnan              Direct comparison with NaN
⚠ console-log-debugging  Console.log statements
Rules marked with ✖ are errors, while ⚠ indicates warnings.

Global options

These options work with all commands:
--version
flag
Display version number
vibrant --version
vibrant -V
--help
flag
Display help for command
vibrant --help
vibrant -h

Build docs developers (and LLMs) love