← Back
Real Deep Audit — unedited

sumitvairagar/bettervibe-feedback-board-messy

The same app, vibe-coded badly on purpose — same feature, opposite quality.

sumitvairagar/bettervibe-feedback-board-messy
1 source files scanned · TypeScript
Analyzed with BetterVibe heuristics · jscpd · secretlint · semgrep
19/100
F — high risk

🔍 What this audit covered

22 checks · 6 areas

The same tools professional engineers and security teams run — we read your code, we never run it.

BetterVibe checks
Tests, type safety, structure, CI, docs & handoff
jscpd
Copy-pasted / duplicated code (token-based clone detection)
secretlint
Leaked secrets — API keys, tokens, DB connection strings, private keys
Semgrep
Security vulnerabilities (SAST) — injection & unsafe patterns
🧪 Test Coverage · 5🔐 Security · 4🏗️ Architecture & Maintainability · 6🔁 Repetition (DRY) · 1⚙️ CI / CD · 2📄 Documentation & Handoff · 4
🧪
Test Coverage
0 of 5 passing · 5 to fix
0%

Tests are what stop a new feature from silently breaking an old one — the #1 cause of the vibe-code 'day 90' collapse.

  • You have no automated tests

    Fix: Add a test runner (Vitest for JS/TS) and write tests for your core logic first — the parts that would hurt most if they broke (payments, auth, data saving).

  • No test framework is set up

    Fix: Install Vitest (`npm i -D vitest`) and add a `test` script to package.json.

  • You're not measuring test coverage

    Fix: Enable coverage in your test config (Vitest: add a `coverage` block) and run it.

  • No minimum coverage is enforced

    Fix: Set a coverage threshold (e.g. 80%) in your test config so the build fails if it drops.

  • There's no runnable test command

    Fix: Add `"test": "vitest run"` to your package.json scripts.

This is exactly what you get — on your repo, free.

Audit my repo — free →