{"_id":"@darrenjcoxon/vibeoptimise","_rev":"5-f283916d52f1c446880eb5b664513bf9","name":"@darrenjcoxon/vibeoptimise","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@darrenjcoxon/vibeoptimise","version":"1.0.0","keywords":["optimisation","optimization","performance","dead-code","unused-code","duplication","circular-dependencies","bundle-size","code-quality","ai","vibe-coding","claude","cursor","copilot","knip","jscpd","madge","depcheck","eslint","regex","codebase","cleanup","refactor"],"author":{"name":"Darren Coxon"},"license":"MIT","_id":"@darrenjcoxon/vibeoptimise@1.0.0","maintainers":[{"name":"darrenjcoxon","email":"darren@coxon.ai"}],"homepage":"https://github.com/darrenjcoxon/vibeoptimise#readme","bugs":{"url":"https://github.com/darrenjcoxon/vibeoptimise/issues"},"bin":{"vibeoptimise":"dist/cli.js"},"dist":{"shasum":"efea4f0fbb4f9c7189f5f30741fcc5a1f0b047cb","tarball":"https://registry.npmjs.org/@darrenjcoxon/vibeoptimise/-/vibeoptimise-1.0.0.tgz","fileCount":34,"integrity":"sha512-Ela0U12wAW39ywkHULongHp2x3KQcPY+UK97/r29JJMwCJNxwPgqL3MZ5+5q97rAwE06Zh3wpRKvkSeXZmzEoA==","signatures":[{"sig":"MEUCIDq0870UOzLGLFHqxvGmXeBSg6XZ44GMiN35dmnfjgHlAiEAvHME7DJ/aC/FGOScmflwsMrIN7CVEPtG9XS+9vXyWzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131359},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"darrenjcoxon","email":"darren@coxon.ai"},"repository":{"url":"git+https://github.com/darrenjcoxon/vibeoptimise.git","type":"git"},"_npmVersion":"10.9.4","description":"🚀 VibeOptimise — The ultimate codebase optimisation scanner. Find dead code, duplication, circular deps, bundle bloat & more. Get OPTIMISE.md for AI agents to fix everything.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^8.0.1","glob":"^10.3.0","chalk":"^5.3.0","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/vibeoptimise_1.0.0_1770547905629_0.029969453400377377","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@darrenjcoxon/vibeoptimise","version":"1.0.1","keywords":["optimisation","optimization","performance","dead-code","unused-code","duplication","circular-dependencies","bundle-size","code-quality","ai","vibe-coding","claude","cursor","copilot","knip","jscpd","madge","depcheck","eslint","regex","codebase","cleanup","refactor"],"author":{"name":"Darren Coxon"},"license":"MIT","_id":"@darrenjcoxon/vibeoptimise@1.0.1","maintainers":[{"name":"darrenjcoxon","email":"darren@coxon.ai"}],"homepage":"https://github.com/darrenjcoxon/vibeoptimise#readme","bugs":{"url":"https://github.com/darrenjcoxon/vibeoptimise/issues"},"bin":{"vibeoptimise":"dist/cli.js"},"dist":{"shasum":"8634eb65ba8bc0a27e4288d71a51e8554e3ab7c5","tarball":"https://registry.npmjs.org/@darrenjcoxon/vibeoptimise/-/vibeoptimise-1.0.1.tgz","fileCount":34,"integrity":"sha512-Axvz++DsUm8ORqcGWnHLY6ijG01A7zp71fb9efp8KZxIrU6tP9Em3BBxV3SOkmI5D1zqPTcwW3uITP8LNU/g3A==","signatures":[{"sig":"MEQCIBfwiUEzOjpKc+NPKBy/MB2WKaOtXYsFUpWZ6cqPUbzdAiAjLxGGuP3mwWE3zTj1j6wAaO8T4OTmMFuQE0w2YyRhpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136860},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"darrenjcoxon","email":"darren@coxon.ai"},"repository":{"url":"git+https://github.com/darrenjcoxon/vibeoptimise.git","type":"git"},"_npmVersion":"10.9.4","description":"🚀 VibeOptimise — The ultimate codebase optimisation scanner. Find dead code, duplication, circular deps, bundle bloat & more. Get OPTIMISE.md for AI agents to fix everything.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^8.0.1","glob":"^10.3.0","chalk":"^5.3.0","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/vibeoptimise_1.0.1_1770548803563_0.7547094688013181","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@darrenjcoxon/vibeoptimise","version":"1.0.3","keywords":["optimisation","optimization","performance","dead-code","unused-code","duplication","circular-dependencies","bundle-size","code-quality","ai","vibe-coding","claude","cursor","copilot","knip","jscpd","madge","depcheck","eslint","regex","codebase","cleanup","refactor"],"author":{"name":"Darren Coxon"},"license":"MIT","_id":"@darrenjcoxon/vibeoptimise@1.0.3","maintainers":[{"name":"darrenjcoxon","email":"darren@coxon.ai"}],"homepage":"https://github.com/darrenjcoxon/vibeoptimise#readme","bugs":{"url":"https://github.com/darrenjcoxon/vibeoptimise/issues"},"bin":{"vibeoptimise":"dist/cli.js"},"dist":{"shasum":"a9b85e16de890617007c99e8f83ad2adc4419d08","tarball":"https://registry.npmjs.org/@darrenjcoxon/vibeoptimise/-/vibeoptimise-1.0.3.tgz","fileCount":36,"integrity":"sha512-TtO3nEbAFAjDzBZWJvZItw74lSZ8yi324FOtLU6RkErCXfBLIvVrSOaM+vFfHi1ilfbEuAdz1rv9ff4P8erg/g==","signatures":[{"sig":"MEUCIQDtK3gFr4zvGZjCxe7UcwKgL1s8jdqgPXedOY2vP/z8cQIgS8NrRTGLescIvq2fBQ9DZsTmy4hAwbhYt5EaDPZ9LR8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145706},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"darrenjcoxon","email":"darren@coxon.ai"},"repository":{"url":"git+https://github.com/darrenjcoxon/vibeoptimise.git","type":"git"},"_npmVersion":"10.9.4","description":"🚀 VibeOptimise — The ultimate codebase optimisation scanner. Find dead code, duplication, circular deps, bundle bloat & more. Get OPTIMISE.md for AI agents to fix everything.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^8.0.1","glob":"^10.3.0","chalk":"^5.3.0","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/vibeoptimise_1.0.3_1770549601880_0.9387530343549364","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@darrenjcoxon/vibeoptimise","version":"1.0.4","keywords":["optimisation","optimization","performance","dead-code","unused-code","duplication","circular-dependencies","bundle-size","code-quality","ai","vibe-coding","claude","cursor","copilot","knip","jscpd","madge","depcheck","eslint","regex","codebase","cleanup","refactor"],"author":{"name":"Darren Coxon"},"license":"MIT","_id":"@darrenjcoxon/vibeoptimise@1.0.4","maintainers":[{"name":"darrenjcoxon","email":"darren@coxon.ai"}],"homepage":"https://github.com/darrenjcoxon/vibeoptimise#readme","bugs":{"url":"https://github.com/darrenjcoxon/vibeoptimise/issues"},"bin":{"vibeoptimise":"dist/cli.js"},"dist":{"shasum":"a3002f9a87d62999fbf2453eaeebe88747737c02","tarball":"https://registry.npmjs.org/@darrenjcoxon/vibeoptimise/-/vibeoptimise-1.0.4.tgz","fileCount":36,"integrity":"sha512-1sfobWcwhI0LU3d7U6XrpPVk88PnHo2cwf8Kn+IjKw4T8haLUuqlloFuk0QJtCMqJx9QkFcMSZComRrZ5UdDOg==","signatures":[{"sig":"MEUCIEVkh7dMz5xsh80fTYlqBMkdKlnMtWaQPnPl2fKZe+QKAiEA8El95YxC/7KpFe4DrEwKD/KlXPNS/IlCtyNbYoYLuyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147613},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"darrenjcoxon","email":"darren@coxon.ai"},"repository":{"url":"git+https://github.com/darrenjcoxon/vibeoptimise.git","type":"git"},"_npmVersion":"10.9.4","description":"🚀 VibeOptimise — The ultimate codebase optimisation scanner. Find dead code, duplication, circular deps, bundle bloat & more. Get OPTIMISE.md for AI agents to fix everything.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^8.0.1","glob":"^10.3.0","chalk":"^5.3.0","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/vibeoptimise_1.0.4_1770550366473_0.49414942679782903","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@darrenjcoxon/vibeoptimise","version":"1.0.5","description":"🚀 VibeOptimise — The ultimate codebase optimisation scanner. Find dead code, duplication, circular deps, bundle bloat & more. Get OPTIMISE.md for AI agents to fix everything.","main":"dist/index.js","types":"dist/index.d.ts","type":"module","bin":{"vibeoptimise":"dist/cli.js"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","dev":"tsc --watch"},"keywords":["optimisation","optimization","performance","dead-code","unused-code","duplication","circular-dependencies","bundle-size","code-quality","ai","vibe-coding","claude","cursor","copilot","knip","jscpd","madge","depcheck","eslint","regex","codebase","cleanup","refactor"],"author":{"name":"Darren Coxon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/darrenjcoxon/vibeoptimise.git"},"engines":{"node":">=18.0.0"},"dependencies":{"chalk":"^5.3.0","commander":"^12.0.0","ora":"^8.0.1","glob":"^10.3.0","knip":"^5.0.0","jscpd":"^4.0.0","madge":"^8.0.0","depcheck":"^1.4.0","source-map-explorer":"^2.5.0","typescript":"^5.3.0"},"devDependencies":{"@types/node":"^20.11.0","typescript":"^5.3.3"},"_id":"@darrenjcoxon/vibeoptimise@1.0.5","bugs":{"url":"https://github.com/darrenjcoxon/vibeoptimise/issues"},"homepage":"https://github.com/darrenjcoxon/vibeoptimise#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-LoHx6ixEYdK7lXWSXqUVx3YqSQES4+dH1iAC7bXqGiJVdxdeOQYzsTiapjl4iNGR78VDdz5HVDmNWhmsG2xdqA==","shasum":"a837d08e0f733f056478e926c24a1892e80ee1c6","tarball":"https://registry.npmjs.org/@darrenjcoxon/vibeoptimise/-/vibeoptimise-1.0.5.tgz","fileCount":36,"unpackedSize":147690,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCMouLcUVPs78HzqwJB9T5E8ZJJtp4HUhX2aN6u5nNEgQIgYmSgshCTC5l6hhH7iBZCKkWMtkFCbqRqtJylyqvXJZo="}]},"_npmUser":{"name":"darrenjcoxon","email":"darren@coxon.ai"},"directories":{},"maintainers":[{"name":"darrenjcoxon","email":"darren@coxon.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vibeoptimise_1.0.5_1770552284854_0.26054351093029027"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-08T10:51:45.510Z","modified":"2026-02-08T12:04:45.122Z","1.0.0":"2026-02-08T10:51:45.796Z","1.0.1":"2026-02-08T11:06:43.726Z","1.0.3":"2026-02-08T11:20:02.042Z","1.0.4":"2026-02-08T11:32:46.625Z","1.0.5":"2026-02-08T12:04:44.988Z"},"bugs":{"url":"https://github.com/darrenjcoxon/vibeoptimise/issues"},"author":{"name":"Darren Coxon"},"license":"MIT","homepage":"https://github.com/darrenjcoxon/vibeoptimise#readme","keywords":["optimisation","optimization","performance","dead-code","unused-code","duplication","circular-dependencies","bundle-size","code-quality","ai","vibe-coding","claude","cursor","copilot","knip","jscpd","madge","depcheck","eslint","regex","codebase","cleanup","refactor"],"repository":{"type":"git","url":"git+https://github.com/darrenjcoxon/vibeoptimise.git"},"description":"🚀 VibeOptimise — The ultimate codebase optimisation scanner. Find dead code, duplication, circular deps, bundle bloat & more. Get OPTIMISE.md for AI agents to fix everything.","maintainers":[{"name":"darrenjcoxon","email":"darren@coxon.ai"}],"readme":"# 🚀 VibeOptimise\n\n**The ultimate codebase optimisation scanner for AI-assisted development.**\n\nScan your codebase for dead code, duplication, circular dependencies, bundle bloat, inefficient queries, and more — then get an AI-actionable `OPTIMISE.md` for Claude Code, Cursor, or any AI agent to fix everything.\n\n> **By the creator of [Vibeguard](https://www.npmjs.com/package/@darrenjcoxon/vibeguard)** — the security scanner for vibe coders.\n\n## Quick Start\n\n```bash\nnpx @darrenjcoxon/vibeoptimise\n```\n\nThat's it. Run it from the root of any JS/TS project.\n\n## What It Scans\n\nVibeOptimise runs **10 parallel scanners** that cover every dimension of codebase efficiency:\n\n| # | Scanner | What It Finds | Tool |\n|---|---------|---------------|------|\n| 1 | **Knip** | Unused files, exports, dependencies, types | [knip](https://knip.dev) |\n| 2 | **JSCPD** | Copy/pasted code blocks across the codebase | [jscpd](https://jscpd.dev) |\n| 3 | **Madge** | Circular dependencies & orphaned modules | [madge](https://github.com/pahen/madge) |\n| 4 | **Depcheck** | Unused & missing npm packages | [depcheck](https://github.com/depcheck/depcheck) |\n| 5 | **BundlePhobia** | Heavy deps with lighter alternatives | [bundlephobia](https://bundlephobia.com) |\n| 6 | **ESLint Perf** | Import cycles, barrel file bloat, unused imports | [eslint](https://eslint.org) |\n| 7 | **Source Map Explorer** | Bundle composition analysis | [source-map-explorer](https://github.com/danvk/source-map-explorer) |\n| 8 | **Regex Safety** | ReDoS-vulnerable patterns & catastrophic backtracking | Built-in |\n| 9 | **CSS Efficiency** | Unused CSS, duplicate selectors, !important overuse | Built-in |\n| 10 | **Query Efficiency** | N+1 patterns, unbounded queries, overfetching | Built-in |\n\n## Output: OPTIMISE.md\n\nThe report is structured for AI agents to work through systematically:\n\n```markdown\n# OPTIMISE.md — Codebase Optimisation Report\n\n## 🔴 Critical — Immediate Performance Impact\n- Circular dependencies causing bundle bloat\n- ReDoS-vulnerable regex patterns\n- N+1 query patterns\n\n## 🟠 High — Significant Optimisation Opportunities\n- Unused dependencies (12 packages, ~45MB savings)\n- Unbounded database queries\n\n## 🟡 Medium — Recommended Improvements\n- Duplicated code blocks (with file pairs + line ranges)\n- Heavy deps with lighter alternatives\n\n## 🔵 Low — Nice to Have\n- Unused exports, console.log statements\n- CSS shorthand opportunities\n```\n\n## Usage\n\n```bash\n# Scan current directory\nnpx @darrenjcoxon/vibeoptimise\n\n# Scan a specific project\nnpx @darrenjcoxon/vibeoptimise /path/to/project\n\n# Quiet mode — just generate the report\nnpx @darrenjcoxon/vibeoptimise --quiet\n\n# JSON output (for CI/CD integration)\nnpx @darrenjcoxon/vibeoptimise --json\n\n# Include test files in analysis\nnpx @darrenjcoxon/vibeoptimise --include-tests\n\n# Exclude specific patterns\nnpx @darrenjcoxon/vibeoptimise --exclude \"legacy/**\" \"vendor/**\"\n```\n\n## AI Agent Workflow\n\n1. Run `npx @darrenjcoxon/vibeoptimise`\n2. Feed `OPTIMISE.md` to your AI agent\n3. Tell it: *\"Read OPTIMISE.md and implement all fixes, starting from Critical\"*\n4. Re-run VibeOptimise to verify improvements\n\nWorks with **Claude Code**, **Cursor**, **GitHub Copilot**, **Windsurf**, and any AI coding assistant.\n\n## CI/CD Integration\n\nVibeOptimise exits with code 1 when critical or high findings exist — perfect for CI quality gates:\n\n```yaml\n# GitHub Actions\n- name: Check codebase optimisation\n  run: npx @darrenjcoxon/vibeoptimise --quiet\n```\n\n## ORM Support\n\nThe Query Efficiency scanner understands:\n- **Supabase** — `.from()` without `.select()` or `.limit()`\n- **Prisma** — Unbounded `findMany()`, deeply nested includes\n- **Drizzle** — Queries without `.limit()`\n- **Mongoose** — `find({})` without limit, missing `.lean()`\n- **Raw SQL** — `SELECT *`, missing `LIMIT`\n\n## Companion Tool: Vibeguard\n\nUse VibeOptimise alongside [Vibeguard](https://www.npmjs.com/package/@darrenjcoxon/vibeguard) for complete coverage:\n\n```bash\nnpx @darrenjcoxon/vibeguard      # Security scanning → FIXES.md\nnpx @darrenjcoxon/vibeoptimise   # Optimisation scanning → OPTIMISE.md\n```\n\n## License\n\nMIT — Free for everyone. Built for the vibe coding community. 🤙\n\n**Made by [Darren Coxon](https://github.com/darrenjcoxon)**\n","readmeFilename":"README.md"}