Contributing Guide
Thank you for your interest in contributing to the PageSpeed Insights MCP Server! We welcome contributions from the community.
Development Setup
-
Clone the repository:
-
Install dependencies:
-
Configure Environment: Create a
.envfile or export the required variables:
Development Workflow
Running Locally
To run the server in development mode with hot-reloading:
This uses tsx to run the TypeScript code directly.
Building
To build the project for production:
This compiles the TypeScript code to JavaScript in the dist/ directory.
Testing
We use Vitest for testing.
-
Run all tests:
-
Run tests with coverage:
Please ensure that any new features or bug fixes are accompanied by appropriate tests.
Code Style
We use ESLint and Prettier to maintain code quality.
-
Lint code:
-
Fix linting issues:
-
Format code:
Submitting a Pull Request
- Fork the repository.
- Create a new branch for your feature or fix:
git checkout -b feature/amazing-feature. - Commit your changes with clear messages.
- Push to your fork.
- Open a Pull Request against the
masterbranch.
Release Process
This project uses Semantic Release to automate versioning and publishing. Ensure your commit messages follow the Conventional Commits specification (e.g., feat: add new tool, fix: handle api error).