gitextract_cbkm4aqd/ ├── .agent/ │ └── rules/ │ └── coding.md ├── .claude-plugin/ │ ├── marketplace.json │ └── plugin.json ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── 01-bug.yml │ │ ├── 02-feature.yml │ │ ├── 03-task.yml │ │ └── config.yml │ ├── dependabot.yml │ └── workflows/ │ ├── conventional-commit.yml │ ├── pre-release.yml │ ├── presubmit.yml │ ├── publish-to-npm-on-tag.yml │ ├── release-please.yml │ └── run-tests.yml ├── .gitignore ├── .mcp.json ├── .nvmrc ├── .prettierignore ├── .prettierrc.cjs ├── .release-please-manifest.json ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── docs/ │ ├── cli.md │ ├── debugging-android.md │ ├── design-principles.md │ ├── slim-tool-reference.md │ ├── tool-reference.md │ └── troubleshooting.md ├── eslint.config.mjs ├── gemini-extension.json ├── package.json ├── puppeteer.config.cjs ├── release-please-config.json ├── rollup.config.mjs ├── scripts/ │ ├── append-lighthouse-notices.ts │ ├── count_tokens.ts │ ├── eslint_rules/ │ │ ├── check-license-rule.js │ │ └── local-plugin.js │ ├── eval_gemini.ts │ ├── eval_scenarios/ │ │ ├── console_test.ts │ │ ├── emulation_test.ts │ │ ├── emulation_userAgent_test.ts │ │ ├── emulation_viewport_test.ts │ │ ├── fix_webpage_issues_test.ts │ │ ├── frontend_snapshot_test.ts │ │ ├── input_parallel_test.ts │ │ ├── input_test.ts │ │ ├── isolated_context_test.ts │ │ ├── lighthouse_a11y_test.ts │ │ ├── lighthouse_best_practices_test.ts │ │ ├── navigation_test.ts │ │ ├── network_test.ts │ │ ├── page_focus_keyboard_test.ts │ │ ├── page_id_routing_test.ts │ │ ├── performance_test.ts │ │ ├── select_page_test.ts │ │ └── snapshot_test.ts │ ├── generate-cli.ts │ ├── generate-docs.ts │ ├── post-build.ts │ ├── prepare.ts │ ├── test.mjs │ ├── tsconfig.json │ ├── update-lighthouse.ts │ ├── verify-npm-package.mjs │ └── verify-server-json-version.ts ├── server.json ├── skills/ │ ├── a11y-debugging/ │ │ ├── SKILL.md │ │ └── references/ │ │ └── a11y-snippets.md │ ├── chrome-devtools/ │ │ └── SKILL.md │ ├── chrome-devtools-cli/ │ │ ├── SKILL.md │ │ └── references/ │ │ └── installation.md │ ├── debug-optimize-lcp/ │ │ ├── SKILL.md │ │ └── references/ │ │ ├── elements-and-size.md │ │ ├── lcp-breakdown.md │ │ ├── lcp-snippets.md │ │ └── optimization-strategies.md │ └── troubleshooting/ │ └── SKILL.md ├── src/ │ ├── DevToolsConnectionAdapter.ts │ ├── DevtoolsUtils.ts │ ├── McpContext.ts │ ├── McpPage.ts │ ├── McpResponse.ts │ ├── Mutex.ts │ ├── PageCollector.ts │ ├── SlimMcpResponse.ts │ ├── WaitForHelper.ts │ ├── bin/ │ │ ├── chrome-devtools-cli-options.ts │ │ ├── chrome-devtools-mcp-cli-options.ts │ │ ├── chrome-devtools-mcp-main.ts │ │ ├── chrome-devtools-mcp.ts │ │ ├── chrome-devtools.ts │ │ └── cliDefinitions.ts │ ├── browser.ts │ ├── daemon/ │ │ ├── client.ts │ │ ├── daemon.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── devtools.d.ts │ ├── formatters/ │ │ ├── ConsoleFormatter.ts │ │ ├── IssueFormatter.ts │ │ ├── NetworkFormatter.ts │ │ └── SnapshotFormatter.ts │ ├── index.ts │ ├── issue-descriptions.ts │ ├── logger.ts │ ├── polyfill.ts │ ├── telemetry/ │ │ ├── ClearcutLogger.ts │ │ ├── WatchdogClient.ts │ │ ├── flagUtils.ts │ │ ├── metricUtils.ts │ │ ├── persistence.ts │ │ ├── types.ts │ │ └── watchdog/ │ │ ├── ClearcutSender.ts │ │ └── main.ts │ ├── third_party/ │ │ ├── LIGHTHOUSE_MCP_BUNDLE_THIRD_PARTY_NOTICES │ │ ├── devtools-formatter-worker.ts │ │ ├── index.ts │ │ └── lighthouse-devtools-mcp-bundle.js │ ├── tools/ │ │ ├── ToolDefinition.ts │ │ ├── categories.ts │ │ ├── console.ts │ │ ├── emulation.ts │ │ ├── extensions.ts │ │ ├── input.ts │ │ ├── lighthouse.ts │ │ ├── memory.ts │ │ ├── network.ts │ │ ├── pages.ts │ │ ├── performance.ts │ │ ├── screencast.ts │ │ ├── screenshot.ts │ │ ├── script.ts │ │ ├── slim/ │ │ │ └── tools.ts │ │ ├── snapshot.ts │ │ └── tools.ts │ ├── trace-processing/ │ │ └── parse.ts │ ├── types.ts │ ├── utils/ │ │ ├── ExtensionRegistry.ts │ │ ├── files.ts │ │ ├── keyboard.ts │ │ ├── pagination.ts │ │ ├── string.ts │ │ └── types.ts │ └── version.ts ├── tests/ │ ├── DevtoolsUtils.test.ts │ ├── McpContext.test.js.snapshot │ ├── McpContext.test.ts │ ├── McpResponse.test.js.snapshot │ ├── McpResponse.test.ts │ ├── PageCollector.test.ts │ ├── browser.test.ts │ ├── cli.test.ts │ ├── daemon/ │ │ ├── client.test.ts │ │ └── utils.test.ts │ ├── e2e/ │ │ ├── chrome-devtools.test.ts │ │ └── telemetry.test.ts │ ├── formatters/ │ │ ├── ConsoleFormatter.test.js.snapshot │ │ ├── ConsoleFormatter.test.ts │ │ ├── IssueFormatter.test.js.snapshot │ │ ├── IssueFormatter.test.ts │ │ ├── NetworkFormatter.test.ts │ │ ├── snapshotFormatter.test.js.snapshot │ │ └── snapshotFormatter.test.ts │ ├── index.test.js.snapshot │ ├── index.test.ts │ ├── server.ts │ ├── setup.ts │ ├── snapshot.ts │ ├── telemetry/ │ │ ├── ClearcutLogger.test.ts │ │ ├── WatchdogClient.test.ts │ │ ├── flagUtils.test.ts │ │ ├── metricUtils.test.ts │ │ ├── persistence.test.ts │ │ └── watchdog/ │ │ └── ClearcutSender.test.ts │ ├── third_party_notices.test.js.snapshot │ ├── third_party_notices.test.ts │ ├── tools/ │ │ ├── console.test.js.snapshot │ │ ├── console.test.ts │ │ ├── emulation.test.ts │ │ ├── extensions.test.ts │ │ ├── fixtures/ │ │ │ ├── extension/ │ │ │ │ ├── manifest.json │ │ │ │ └── popup.html │ │ │ ├── extension-side-panel/ │ │ │ │ ├── manifest.json │ │ │ │ ├── sidepanel.html │ │ │ │ └── sw.js │ │ │ └── extension-sw/ │ │ │ ├── manifest.json │ │ │ ├── popup.html │ │ │ └── sw.js │ │ ├── input.test.ts │ │ ├── lighthouse.test.js.snapshot │ │ ├── lighthouse.test.ts │ │ ├── memory.test.ts │ │ ├── network.test.js.snapshot │ │ ├── network.test.ts │ │ ├── pages.test.js.snapshot │ │ ├── pages.test.ts │ │ ├── performance.test.js.snapshot │ │ ├── performance.test.ts │ │ ├── screencast.test.ts │ │ ├── screenshot.test.ts │ │ ├── script.test.ts │ │ ├── slim/ │ │ │ ├── tools.test.js.snapshot │ │ │ └── tools.test.ts │ │ └── snapshot.test.ts │ ├── trace-processing/ │ │ ├── fixtures/ │ │ │ └── load.ts │ │ ├── parse.test.js.snapshot │ │ └── parse.test.ts │ └── utils.ts └── tsconfig.json