Performance Audit
Web Vitals, stack detection, coverage, resource analysis, and actionable recommendations
perf-audit
browse perf-audit [url] [flags]Full performance audit: Core Web Vitals, LCP critical path, layout shift attribution, long task analysis, resource breakdown, render-blocking detection, image/font audit, DOM complexity, stack detection, third-party impact, JS/CSS coverage, correlation engine, and prioritized recommendations
Flags
--no-coverageSkip JS/CSS coverage collection (faster)--no-detectSkip framework/SaaS/infrastructure detection--jsonOutput as structured JSONFull audit on current page
$ browse perf-audit Core Web Vitals: TTFB 580ms good FCP 696ms good LCP 696ms good CLS 0.015 good TBT 599ms needs improvement LCP Analysis: Element: <img src='hero.webp'> Critical path: TTFB(580ms) -> CSS(styles.css) -> JS(vendor.js) -> LCP(696ms) Top Recommendations: 1. Add fetchpriority="high" to LCP image 2. Add font-display:swap to fallback fonts Audit completed in 13.2s
Audit a URL with JSON output
$ browse perf-audit https://example.com --jsonQuick audit without coverage
$ browse perf-audit --no-coverage --no-detectdetect
browse detectTech stack fingerprint: 108 frameworks (React, Vue, Angular, Next.js, Laravel, WordPress, Magento, etc.), 55 SaaS platforms (Shopify, Wix, Squarespace, etc.), infrastructure (CDN, protocol, compression, caching), DOM complexity, and third-party inventory
Detect tech stack
$ browse detect Stack: meta-framework Next.js (production), router: app, rsc: true css-framework Tailwind CSS Infrastructure: CDN: Amazon CloudFront Protocol: h2 (64%) Cache rate: 74% (134/180) DOM: 4,476 nodes, depth 23 Third-Party (4.4MB total): www.youtube.com 3.0MB 45 reqs video www.googletagmanager.com 331KB 3 reqs analytics
coverage
browse coverage <start|stop>JS/CSS code coverage analysis. Start collection, navigate pages, then stop to see per-file used/unused bytes sorted by waste
Collect coverage
$ browse coverage start browse goto https://example.com browse coverage stop JavaScript: vendor.js 680KB used: 218KB (32%) wasted: 462KB analytics.js 84KB used: 46KB (55%) wasted: 38KB CSS: styles.css 120KB used: 58KB (48%) wasted: 62KB Grand Total: 884KB used: 322KB (36%) wasted: 562KB
initscript
browse initscript <set|show|clear> [code]Inject JavaScript that runs before every page load via context.addInitScript(). Useful for mocking APIs, injecting polyfills, or setting up performance observers
Inject a pre-navigation script
$ browse initscript set "window.__TEST = true" Init script set. Will run before every page load.
Show current script
$ browse initscript showRemove script
$ browse initscript clear