Skip to content

Contributing Guide

Welcome to contribute to the RushChat project!

Contributing Process Overview

How to Contribute

Report Bug

  1. Submit Issue on GitHub
  2. Describe the problem
  3. Provide reproduction steps
  4. Provide environment information

Submit Feature Request

  1. Submit Issue on GitHub
  2. Describe feature requirements
  3. Explain use cases
  4. Discuss implementation plan

Submit Code

  1. Fork project
  2. Create feature branch
  3. Submit changes
  4. Create Pull Request

Development Process

1. Fork Project

# Fork to your GitHub account
# Then clone
git clone https://github.com/your-username/RustChat.git
cd RustChat

2. Create Feature Branch

git checkout -b feature/your-feature-name

3. Development

  • Write code
  • Add tests
  • Update documentation

4. Submit Changes

git add .
git commit -m "Describe your changes"
git push origin feature/your-feature-name

5. Create Pull Request

  1. Create Pull Request on GitHub
  2. Describe changes
  3. Wait for code review

Code Standards

Rust

  • Use cargo fmt for formatting
  • Use cargo clippy for checking
  • Add necessary comments

JavaScript

  • Use ESLint
  • Use Prettier
  • Follow React Hooks rules

Commit Messages

Use clear commit messages:

feat: Add new feature
fix: Fix bug
docs: Update documentation
style: Code formatting
refactor: Refactoring
test: Add tests
chore: Build/tools

Testing

Backend Testing

cd server-rust
cargo test

Frontend Testing

cd client
npm test