Thank you for your interest in contributing to ReRoute.dev! This document provides guidelines and instructions for contributing to the project.
By participating in this project, you agree to abide by our Code of Conduct.
If you find a bug, please open an issue with:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior vs. actual behavior
- Your operating system and version
- Any relevant error messages or logs
- Screenshots if applicable
We welcome feature suggestions! Please open an issue with:
- A clear description of the feature
- Use cases and why it would be useful
- Any potential implementation ideas (optional)
-
Fork the repository and create your branch from
dev:git checkout dev git checkout -b feature/your-feature-name
-
Make your changes:
- Follow the existing code style
- Write clear, descriptive commit messages
- Add comments for complex logic
- Update documentation as needed
-
Test your changes:
pnpm tauri dev # Test in development pnpm tauri build # Ensure it builds successfully
-
Commit your changes:
git commit -m "Add: description of your changes"Use conventional commit messages:
Add:for new featuresFix:for bug fixesUpdate:for updates to existing featuresRefactor:for code refactoringDocs:for documentation changes
-
Push to your fork:
git push origin feature/your-feature-name
-
Open a Pull Request:
- Target the
devbranch - Provide a clear description of your changes
- Reference any related issues
- Add screenshots for UI changes
- Target the
-
Clone your fork:
git clone https://github.com/abdellatif-temsamani/reroute.dev.git cd reroute.dev -
Install dependencies:
pnpm install
-
Run the development server:
pnpm tauri dev
- Use TypeScript for all new code
- Follow React best practices and hooks patterns
- Use functional components
- Prefer named exports
- Use meaningful variable and function names
- Follow Rust naming conventions (snake_case for functions/variables, PascalCase for types)
- Use
rustfmtto format code - Add documentation comments for public functions
- Handle errors explicitly
- Keep functions small and focused
- Write self-documenting code
- Add comments for complex logic
- Remove commented-out code before submitting
src/- Frontend React/TypeScript codesrc-tauri/src/- Backend Rust codesrc/components/- React componentssrc/components/ui/- UI primitives (Radix UI)
Before submitting a PR, ensure:
- The application builds without errors
- The application runs in development mode
- Your changes work on your platform
- No new linter errors are introduced
If you have questions, feel free to:
- Open a discussion in the repository
- Open an issue with the
questionlabel - Contact the maintainers
Thank you for contributing to ReRoute.dev! 🎉