Contribute to Speed Doctor
Contributions of every size are welcome — bug fixes, new detectors, docs, design polish or ideas. Here's how to get set up and ship a great pull request.
Ways to help
- Report bugs or request features via GitHub issues.
- Improve detectors — add or tune rules in
packages/dom-analyzer. - Sharpen the docs or write guides.
- Polish the UI and accessibility.
- Triage issues and review open pull requests.
Local setup
Follow the documentation to get a working install, then:
- 1
Fork the repository and clone your fork.
terminalgit clone https://github.com/<your-fork>/Speed-Doctor.git cd Speed-Doctor pnpm install - 2
Create a branch with a descriptive name.
terminalgit checkout -b fix/oversized-image-threshold - 3
Make your change and keep it focused on one thing.
Before you push
Run the same checks CI runs, so your PR goes green the first time:
pnpm typecheck # types must pass
pnpm build # everything must build
pnpm lint # keep it cleanCoding standards
- TypeScript everywhere — the repo runs in strict mode; avoid
any. - Match the existing style — Prettier formats the codebase (
pnpm format). - Keep packages focused — detectors, engines and the DB layer stay independent.
- No secrets in code — configuration goes through environment variables only.
- Clear commit messages — describe the “why”, not just the “what”.
Opening the pull request
- 1
Push your branch and open a PR against
main. - 2
Fill in the PR template: what changed, why, and how you tested it.
- 3
Make sure CI checks (typecheck, build, CodeQL) pass.
- 4
Respond to review feedback — then a maintainer merges it. 🎉
Full details live in CONTRIBUTING.md and our Code of Conduct.
Say thanks
Not a coder? You can still help by starring the repository, sharing the project, or buying a coffee.