vibe-test
Test coverage for vibe-coded apps that actually matters. vibe-test reads your app, classifies it by type and deployment risk, and generates
Open source Repository Open in the app JSON README (API)
About
Test coverage for vibe-coded apps that actually matters. vibe-test reads your app, classifies it by type and deployment risk, and generates tests proportional to that risk — not a boilerplate dump, not a pass/fail meter. It catches the broken harnesses other tools assume away: runners that silently report 0%, missing test binaries, coverage cherry-picked over a fraction of your files. Seven commands cover audit, generate, fix, coverage, gate, and posture, and the handoff artifacts (test plan, runbook, CI stub) survive uninstalling the plugin. JS/TS today.
Details
- Kind
- Plugins
- Topic
- Cloud & DevOps
- Publisher
- estevanhernandez-stack-ed
- Origin
- marketplace
- Category
- ferramentas
- Last push
- 2026-07-10T03:34:00Z
- Repository state
- ativo
- Language
- TypeScript
- Added
- 2026-08-30 01:48:58
- Updated
- 2026-08-30 01:48:58
- Origin id
estevanhernandez-stack-ed/vibe-test/vibe-test
README
<p align="center"> <img src="assets/brand/icon.svg" width="120" alt="vibe-test mark"> <img alt="Vibe Test — honest coverage for vibe-coded apps" src="https://626labs.dev/assets/brand/plugins/vibe-test-banner-1500x500.png" /> </p> # Vibe Test **Reads a vibe-coded app, classifies it by maturity and risk, and generates the tests it actually needs — and catches the broken harnesses every other test tool assumes away.** [](https://github.com/estevanhernandez-stack-ed/vibe-test/tags) ## What it does Vibe-coded apps don't fail because they lack tests — they fail because nobody told the AI what "correct" means beyond "it runs." Vibe Test reads the application that exists, infers what correct means from the code's own behavior, and generates tests proportional to the app's maturity and deployment risk. The report doubles as a teaching surface — not a dump of boilerplate, and not a pass/fail coverage meter. - **Classifies your app by type and maturity tier.** A static site, an SPA, a full-stack app with a database, and a multi-tenant SaaS need different test levels. The classifier reads your routes, components, data models, and integrations, then tells you which levels your app needs — not what's missing for 100% coverage, what's missing for *your* situation. - **Generates tests proportional to deployment risk.** Smoke (does it even start?), behavioral (does it do what it should?), edge case (does it survive the unexpected?), and integration (do the pieces fit?) — prioritized by the tier the classifier assigns, so a prototype doesn't get over-tested and a payment API doesn't get under-tested. - **Measures coverage honestly — no cherry-picked denominators.** It uses `c8 --all` to count every source file, not just the ones a test happens to touch. A backend that reports 88% but only measures 3 of 43 files is really at ~6%, and Vibe Test says so. - **Catches the broken harnesses every other test tool assumes away.** A vitest forks-pool timeout that silently reports a false 0%. A `package.json` script that calls a binary nobody installed. A coverage command quietly scoped to a handful of files. These are detected and remediated as a first-class capability, not a happy accident. ## How it works Two npm packages live in this repo as a pnpm workspace: - **`packages/vibe-test/`** — the Claude Code plugin (`@esthernandez/vibe-test`). The classification prose, generation reasoning, and reporter narrative live in SKILL files (the agent layer); deterministic primitives — AST walk, `c8` shell-out, harness detection, state I/O, CLI parsing — live in `src/`. That agent-heavy split keeps classification fresh as models improve and keeps self-evolution cheap. - **`packages/vibe-test-cli/`** — the deterministic CLI (`@esthernandez/vibe-test-cli`) for CI and automation. Ships `audit`, `coverage`, `gate`, and `posture` — no LLM, no API key, just reproducible pass/fail and reports for your pipeline. The plugin surface adds `generate` and `fix` on top, where the LLM does the work the deterministic CLI can't. State is layered: a builder testing profile and session memory under `~/.claude/plugins/data/vibe-test/`, and per-project test state under `<project>/.vibe-test/`. ## Validated on WeSeeYouAtTheMovies — three real findings reproduced live on the real codebase: a broken `test:coverage` command (vitest forks-pool timeout returning a false 0%), a backend script referencing an uninstalled binary, and a coverage report scoped to 3 of 43 source files (the cherry-picked denominator). Real-app validation is the bar, not the exception. ## Install **Stable (recommended) — as a Claude Code plugin via the marketplace:** ```text /plugin marketplace add estevanhernandez-stack-ed/vibe-plugins /plugin install vibe-test@vibe-plugins ``` **Canary — track this repo's `main`:** ```text /plugin install vibe-test@estevanhernandez-stack-ed/vibe-test ``` **CLI via npm (CI / automation, no plugin needed):** ```bash npm install -g @esthernandez/vibe-test-cli vibe-test audit --cwd . # scan, classify, write the report vibe-test gate --ci # audit + coverage + threshold check; exit 0 pass, 1 breach, 2 tool error ``` ## Development ```bash pnpm install # installs deps across both packages pnpm build # builds both packages pnpm type-check # runs tsc --noEmit across both pnpm test # runs vitest across both ``` Requires Node 20+ and pnpm 9+. ## Promotion to stable The aggregated marketplace (`vibe-plugins`) pins this plugin to a tag. To promote a canary release to stable: 1. Work lands on this repo's `main`. 2. Tag a release (this plugin uses the `vibe-test-vX.Y.Z` tag form) and push the tag. 3. Update the `ref` field for `vibe-test` in `vibe-plugins/.claude-plugin/marketplace.json`. 4. Commit and push the marketplace repo. Stable-channel users see the change after step 4. ## Links - **Thesis + framework:** [`packages/vibe-test/framework.md`](./packages/vibe-test/framework.md) - **Full documentation:** [`packages/vibe-test/docs/`](./packages/vibe-test/docs/) - **CHANGELOG:** [`packages/vibe-test/CHANGELOG.md`](./packages/vibe-test/CHANGELOG.md) ## Part of the Vibe ecosystem Part of the **[Vibe Plugins](https://github.com/estevanhernandez-stack-ed/vibe-plugins)** marketplace from [626 Labs](https://626labs.dev) — foundations and process pillars for AI-assisted creation. ```text /plugin marketplace add estevanhernandez-stack-ed/vibe-plugins ``` ## License MIT — *Imagine Something Else.*