Contributing Guide
Welcome to contribute to the RushChat project!
Contributing Process Overview
IyBDb250cmlidXRpbmcgR3VpZGUKIyMgSG93IHRvIENvbnRyaWJ1dGUKLSBSZXBvcnQgQnVnCiAgLSBHaXRIdWIgSXNzdWUKICAtIERlc2NyaWJlIFByb2JsZW0KICAtIFJlcHJvZHVjdGlvbiBTdGVwcwogIC0gRW52aXJvbm1lbnQgSW5mbwotIFN1Ym1pdCBGZWF0dXJlIFJlcXVlc3QKICAtIEdpdEh1YiBJc3N1ZQogIC0gRmVhdHVyZSBEZXNjcmlwdGlvbgogIC0gVXNlIENhc2VzCiAgLSBJbXBsZW1lbnRhdGlvbiBQbGFuCi0gU3VibWl0IENvZGUKICAtIEZvcmsgUHJvamVjdAogIC0gQ3JlYXRlIEJyYW5jaAogIC0gU3VibWl0IENoYW5nZXMKICAtIFB1bGwgUmVxdWVzdAojIyBEZXZlbG9wbWVudCBQcm9jZXNzCi0gRm9yayBQcm9qZWN0CiAgLSBHaXRIdWIgRm9yawogIC0gQ2xvbmUgUmVwb3NpdG9yeQotIENyZWF0ZSBCcmFuY2gKICAtIGZlYXR1cmUveHh4CiAgLSBidWdmaXgveHh4Ci0gRGV2ZWxvcG1lbnQKICAtIFdyaXRlIENvZGUKICAtIEFkZCBUZXN0cwogIC0gVXBkYXRlIERvY3VtZW50YXRpb24KLSBTdWJtaXQKICAtIGdpdCBjb21taXQKICAtIGdpdCBwdXNoCiAgLSBDcmVhdGUgUFIKIyMgQ29kZSBTdGFuZGFyZHMKLSBSdXN0IENvZGUKICAtIHJ1c3RmbXQKICAtIGNsaXBweQotIEphdmFTY3JpcHQgQ29kZQogIC0gRVNMaW50CiAgLSBQcmV0dGllcgotIENvbW1pdCBNZXNzYWdlcwogIC0gQ2xlYXIgRGVzY3JpcHRpb24KICAtIExpbmsgSXNzdWU=
How to Contribute
Report Bug
- Submit Issue on GitHub
- Describe the problem
- Provide reproduction steps
- Provide environment information
Submit Feature Request
- Submit Issue on GitHub
- Describe feature requirements
- Explain use cases
- Discuss implementation plan
Submit Code
- Fork project
- Create feature branch
- Submit changes
- 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
- Create Pull Request on GitHub
- Describe changes
- 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