Thank you for your interest in contributing to Designer Feedback! This document provides guidelines for contributing to the project.
Before submitting a bug report:
- Check the existing issues to avoid duplicates
- Try to reproduce the issue in the latest version
- Gather relevant information (browser version, extension version, steps to reproduce)
When submitting a bug report, include:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected vs actual behavior
- Screenshots if applicable
- Browser and extension version
Feature suggestions are welcome! When proposing a feature:
- Check existing issues and discussions first
- Describe the problem your feature would solve
- Explain your proposed solution
- Consider alternative approaches
- Fork the repository
- Create a feature branch from
master - Make your changes
- Ensure tests pass
- Submit a pull request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/designer-feedback.git
cd designer-feedback
# Install dependencies
npm install
# Start development server
npm run devWe use Conventional Commits. Commit messages are validated via lefthook + commitlint.
Format: <type>(<scope>): <description>
Types: feat, fix, docs, style, refactor, test, chore
Examples:
feat(toolbar): add category filter dropdownfix(export): handle empty annotation listdocs: update installation instructions
- TypeScript: Strict mode enabled, no unused variables
- ESLint: Zero warnings enforced (
npm run lint) - Formatting: Consistent style via ESLint rules
Run checks before submitting:
npm run typecheck # TypeScript checking
npm run lint # ESLint (zero warnings enforced)
npm run test # Unit tests
npm run test:e2e # E2E tests (requires build)- Branch naming: Use descriptive names like
feature/annotation-exportorfix/marker-positioning - PR title: Follow conventional commit format
- Description: Explain what changes you made and why
- Tests: Add tests for new functionality
- Review: Address reviewer feedback
- Code follows the project style guidelines
- Self-reviewed my own code
- Added tests for new functionality
- All tests pass locally
- Updated documentation if needed
Key directories:
entrypoints/ # Extension entry points (background, content scripts)
components/ # React components
stores/ # Zustand state management
utils/ # Utility functions
types/ # TypeScript definitions
tests/ # E2E tests (Playwright)
If you have questions, feel free to open a discussion or reach out via issues.