Developer guide
This is the documentation for contributing to Webperf Core or integrating it into your own systems.
Getting started as a developer
- Fork the repository
- Clone your fork locally
- Follow the local install
- Run
python default.py --dependencyand check everything is in place - Read the contributing guide
Contents
-
How the code is organised and how a test runs from start to finish.
-
Code style, tests and how a pull request is received.
-
Extending Webperf Core yourself
When it's worth building a test of your own, and what it takes.
-
Contribute a new language or improve an existing one.
Development environment
- Python 3.13 or later. The regression tests run on 3.13; linting additionally runs on 3.10.
- Node.js 24 or later.
- Docker, required by the DNS test and handy for the rest.
Code quality
The project uses PyLint for Python and ESLint for JavaScript, and runs both in GitHub Actions on every change.
# Python
pip install pylint
pylint *.py
# JavaScript
npm run lint
Beyond linting there are per-test regression tests in .github/workflows/. They run a test against a known website and compare the result, so that a change in a shared helper doesn't quietly change the score of a different test.
Contact
- Slack: Webperf on Slack
- GitHub Issues: webperf_core/issues