Thank you for your interest in contributing to the Visual Regression Testing project! This guide will help you get started with contributing.
-
Fork the Repository
- Create a fork of the main repository
- Clone your fork locally
-
Set Up Development Environment
# Install dependencies npm install # Build TypeScript npm run build # Install Playwright browsers (required by Stagehand) npx playwright install --with-deps chromium
-
Run Tests
# Run all tests npm test # Run tests in watch mode npm test -- --watch # Run tests with UI npm run test:ui # Run tests with coverage npm run test:coverage
- Follow TypeScript best practices and ESLint rules (if configured)
- Use meaningful variable and function names
- Add JSDoc comments for all public functions and classes
- Keep functions focused and small
- Write unit tests for new features using Vitest
- Use TypeScript types and interfaces for better type safety
-
Create a Feature Branch
git checkout -b feature/your-feature-name
-
Make Your Changes
- Write clear commit messages
- Keep commits focused and atomic
- Reference issues in commit messages
-
Push Your Changes
git push origin feature/your-feature-name
-
Create a Pull Request
- Fill out the PR template
- Reference related issues
- Request reviews from maintainers
- Update documentation for new features
- Add examples where appropriate
- Keep documentation in sync with code
- Use clear and concise language
When reporting issues:
-
Bug Reports
- Describe the problem
- Provide steps to reproduce
- Include error messages
- Specify environment details
-
Feature Requests
- Describe the feature
- Explain the use case
- Suggest implementation
- Consider alternatives
-
Be Respectful
- Use inclusive language
- Be patient with others
- Value different perspectives
-
Be Helpful
- Answer questions
- Share knowledge
- Guide new contributors
-
Be Professional
- Stay on topic
- Be constructive
- Follow the code of conduct
If you need help:
- Check the documentation
- Search existing issues
- Ask in the community chat
- Contact maintainers
By contributing, you agree that your contributions will be licensed under the project's license.