Skip to content

Latest commit

 

History

History
132 lines (101 loc) · 3.26 KB

File metadata and controls

132 lines (101 loc) · 3.26 KB

Contributing to ReRoute.dev

Thank you for your interest in contributing to ReRoute.dev! This document provides guidelines and instructions for contributing to the project.

Code of Conduct

By participating in this project, you agree to abide by our Code of Conduct.

How to Contribute

Reporting Bugs

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

Suggesting Features

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)

Pull Requests

  1. Fork the repository and create your branch from dev:

    git checkout dev
    git checkout -b feature/your-feature-name
  2. Make your changes:

    • Follow the existing code style
    • Write clear, descriptive commit messages
    • Add comments for complex logic
    • Update documentation as needed
  3. Test your changes:

    pnpm tauri dev  # Test in development
    pnpm tauri build  # Ensure it builds successfully
  4. Commit your changes:

    git commit -m "Add: description of your changes"

    Use conventional commit messages:

    • Add: for new features
    • Fix: for bug fixes
    • Update: for updates to existing features
    • Refactor: for code refactoring
    • Docs: for documentation changes
  5. Push to your fork:

    git push origin feature/your-feature-name
  6. Open a Pull Request:

    • Target the dev branch
    • Provide a clear description of your changes
    • Reference any related issues
    • Add screenshots for UI changes

Development Setup

  1. Clone your fork:

    git clone https://github.com/abdellatif-temsamani/reroute.dev.git
    cd reroute.dev
  2. Install dependencies:

    pnpm install
  3. Run the development server:

    pnpm tauri dev

Code Style

TypeScript/React

  • 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

Rust

  • Follow Rust naming conventions (snake_case for functions/variables, PascalCase for types)
  • Use rustfmt to format code
  • Add documentation comments for public functions
  • Handle errors explicitly

General

  • Keep functions small and focused
  • Write self-documenting code
  • Add comments for complex logic
  • Remove commented-out code before submitting

Project Structure

  • src/ - Frontend React/TypeScript code
  • src-tauri/src/ - Backend Rust code
  • src/components/ - React components
  • src/components/ui/ - UI primitives (Radix UI)

Testing

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

Questions?

If you have questions, feel free to:

  • Open a discussion in the repository
  • Open an issue with the question label
  • Contact the maintainers

Thank you for contributing to ReRoute.dev! 🎉