Thank you for your interest in contributing to Speed-Read! This document provides guidelines and instructions for contributing.
By participating in this project, you agree to abide by our Code of Conduct.
Before creating a bug report, please check existing issues to avoid duplicates. When creating a bug report, include:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Browser/environment information
- Sample files (if applicable and non-sensitive)
Feature requests are welcome! Please include:
- A clear description of the feature
- The problem it solves or use case it enables
- Any implementation ideas you have
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
npm test) - Run linting (
npm run lint) - Commit your changes with a descriptive message
- Push to your branch
- Open a Pull Request
- Keep PRs focused on a single change
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass
- Follow the existing code style
# Clone your fork
git clone https://github.com/YOUR_USERNAME/speed-read.git
cd speed-read
# Install dependencies
npm install
# Start development server
npm run dev
# Run tests
npm test
# Build for production
npm run buildspeed-read/
├── src/
│ ├── core/ # Core engine (validation, page controller)
│ ├── readers/ # Format-specific readers (EPUB, PDF, CBZ)
│ ├── components/ # Web Component
│ └── react/ # React wrapper
├── tests/ # Test files
├── docs/ # Documentation
└── demo/ # Demo site
Feel free to open an issue for any questions about contributing.