Skip to content

paladini/vibe-code-detector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Vibe Code Detector


License: MIT Chrome Web Store Latest Release Manifest V3 PRs Welcome


Vibe Code Detector is an open-source browser extension that performs forensic analysis on any webpage to detect the AI tools, IDEs, and platforms used to build it. In the age of "Vibe Coding", every AI tool leaves a unique signature — this extension reads it.

What it detects

AI IDEs & Agents

Signatures from Cursor, Windsurf, Trae, Replit Agent, Devin, and Claude Code.

Generation Platforms

Markers from v0.dev, Lovable.dev, Bolt.new, Stackblitz, and Google AI Studio.

Structural Heuristics

  • Tailwind Density — high utility class ratio per element is a strong prompt-based styling indicator
  • Shadcn/Radix DNAdata-radix-* attributes combined with standard Shadcn CSS variables
  • Lucide Iconography — the default icon library for almost every AI code generator
  • Placeholder Patterns — generic texts and layouts left behind by AI prompts

Installation

For users (recommended)

  1. Install directly from the Chrome Web Store.

Alternative (manual install from GitHub release)

  1. Download the latest .zip from the Releases page.
  2. Unzip the file.
  3. In Chrome, go to chrome://extensions/ and enable Developer Mode.
  4. Click Load unpacked and select the unzipped folder.

From source

git clone https://github.com/paladini/vibe-code-detector.git
cd vibe-code-detector
npm install
npm run build

Then load the extension/ folder in Chrome as described above.

How it works

The detector runs a multi-layer heuristic scan on the active tab:

  1. Utility Density — calculates the ratio of Tailwind classes per DOM element
  2. Component Fingerprinting — identifies specific Radix/Shadcn attribute patterns
  3. IDE Signatures — scans for internal markers like __cursor or AI-generated comment blocks
  4. Platform Metadata — checks for generator tags and deployment-specific signatures

The final score is a weighted sum across all heuristics, producing a confidence verdict: Human, Likely AI, or Almost Certainly AI.

Architecture

File Purpose
src/lib/vibe-detector.ts Single source of truth for all heuristics and scoring logic
extension/content.js Plain-JS mirror of the detection logic (no ES module imports)
src/components/VibePopup.tsx Extension popup UI — contains no inline heuristic logic

extension/content.js must always be kept in sync with src/lib/vibe-detector.ts.

Development

npm run dev      # Start Vite dev server (App preview)
npm run build    # Build the Chrome extension into extension/
npm run lint     # Run ESLint

CI runs on every push via GitHub Actions. Releases can be published by:

  • bumping extension/manifest.json and package.json versions on main (the workflow automatically creates/updates the matching vX.Y.Z GitHub release),
  • pushing a version tag (v*.*.*), or
  • manually triggering the Release Extension workflow with an optional version input.

Published GitHub releases include the packaged extension zip and checksum, while the recommended user install path remains the Chrome Web Store listing:

git tag v1.0.1
git push origin v1.0.1

Contributing

New AI tools appear every week. Contributions to keep heuristics current are very welcome:

  • New heuristics — found a new tool's signature? Open a PR with examples.
  • Scoring refinements — help balance weights for better accuracy.
  • UI improvements — enhance the forensic aesthetic.

See CONTRIBUTING.md for full guidelines.

License

Distributed under the MIT License.


Built by Fernando Paladini · For a more transparent web.