MCPcopy
hub / github.com/GoogleChrome/lighthouse-ci

github.com/GoogleChrome/lighthouse-ci @v0.15.1 sqlite

repository ↗ · DeepWiki ↗ · release v0.15.1 ↗
784 symbols 1,809 edges 244 files 352 documented · 45%
README

Lighthouse CI

Overview

Lighthouse CI is a suite of tools that make continuously running, saving, retrieving, and asserting against Lighthouse results as easy as possible.

Quick Start

To get started with GitHub actions for common project configurations, add the following file to your GitHub repository. Follow the Getting Started guide for a more complete walkthrough and instructions on other providers and setups.

.github/workflows/ci.yml

name: CI
on: [push]
jobs:
  lighthouseci:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 18
      - run: npm install && npm install -g @lhci/cli@0.15.x
      - run: npm run build
      - run: lhci autorun

Features

  • Get a Lighthouse report alongside every PR.
  • Prevent regressions in accessibility, SEO, offline support, and performance best practices.
  • Track performance metrics and Lighthouse scores over time.
  • Set and keep performance budgets on scripts and images.
  • Run Lighthouse many times to reduce variance.
  • Compare two versions of your site to find improvements and regressions of individual resources.

Screenshot of the Lighthouse CI github app UI Screenshot of the Lighthouse CI server dashboard UI Screenshot of the Lighthouse CI assertion output Screenshot of the Lighthouse CI server diff UI

Documentation

If you're already familiar with continuous integration and have an existing process, start with Getting Started.

If you're not familiar with continuous integration, start with Introduction to CI.

Related Community Projects

A collection of projects using Lighthouse CI written by the community. If you're using Lighthouse CI in your open source project, open a PR to add it here!

  • Lighthouse CI GitHub Action - Automatically run Lighthouse CI on every PR with GitHub Actions, no infrastructure required.

  • Lighthouse CI Starter Example - A minimal example repo that you can use as a template when starting from scratch, offers a beginner-friendly quickstart guide using create-react-app.

  • Lighthouse CI Compare Action - A Lighthouse CI Github Action that compares the current commit run against the ancestor commit and creates an object with the differences and a Markdown table that you can use for different purposes.

Community Guides

A collection of unofficial blog posts, tutorials, and guides written by the community on using Lighthouse CI. If you've written up a guide to using Lighthouse CI in your project, open a PR to add it here!

NOTE: This is not official documentation. You're encouraged to familiarize yourself with Lighthouse CI and read through Getting Started before continuing.

Contributing

We welcome contributions to lighthouse-ci! Read our contributing guide to get started.

Extension points exported contracts — how you extend this code

Runner (Interface)
(no doc) [3 implementers]
types/collect.d.ts
AuditResult (Interface)
(no doc)
types/lighthouse.d.ts
AssertionOptions (Interface)
(no doc)
types/assert.d.ts
Options (Interface)
(no doc)
types/open.d.ts
Options (Interface)
(no doc)
types/wizard.d.ts
Project (Interface)
(no doc)
types/server.d.ts
Matchers (Interface)
(no doc)
types/jest.d.ts
BaseAuditDiff (Interface)
(no doc)
types/utils.d.ts

Core symbols most depended-on inside this repo

run
called by 59
packages/cli/src/cli.js
runCLI
called by 52
packages/cli/test/test-utils.js
auditGroupCountOfMedianLhr
called by 42
packages/server/src/api/statistic-definitions.js
getAllAssertionResults
called by 40
packages/utils/src/assertions.js
findAuditDiffs
called by 35
packages/utils/src/audit-diff-finder.js
print
called by 26
packages/cli/src/upload/upload.js
setBuildToken
called by 25
packages/utils/src/api-client.js
_sql
called by 24
packages/server/src/api/storage/sql/sql.js

Shape

Function 546
Method 165
Interface 45
Class 28

Languages

TypeScript100%

Modules by API surface

packages/utils/src/api-client.js45 symbols
packages/server/src/api/storage/sql/sql.js44 symbols
packages/server/src/api/storage/storage-method.js35 symbols
packages/utils/src/audit-diff-finder.js26 symbols
packages/utils/src/lodash.js21 symbols
packages/server/src/ui/hooks/use-api-data.jsx20 symbols
packages/utils/src/build-context.js18 symbols
packages/server/src/ui/routes/build-view/audit-detail/audit-detail-pane.stories.jsx17 symbols
packages/utils/src/budget.js16 symbols
packages/server/src/ui/components/plot.jsx15 symbols
packages/cli/src/upload/upload.js15 symbols
packages/server/test/test-utils.js14 symbols

Dependencies from manifests, versioned

@chialab/esbuild-plugin-html0.17.3 · 1×
@fontsource/material-icons4.4.5 · 1×
@fontsource/roboto4.4.5 · 1×
@fontsource/roboto-mono4.4.5 · 1×
@lhci/cli0.15.0 · 1×
@lhci/server0.15.0 · 1×
@lhci/utils0.1.0 · 1×
@storybook/addon-actions7.6.4 · 1×
@storybook/addon-links7.6.4 · 1×
@storybook/addon-storyshots7.6.4 · 1×
@storybook/addon-storyshots-puppeteer7.6.4 · 1×

Datastores touched

(mysql)Database · 1 repos
lighthouse_ci_testDatabase · 1 repos
lighthouse_ci_dbDatabase · 1 repos

For agents

$ claude mcp add lighthouse-ci \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact