86 lines
1.8 KiB
Markdown
86 lines
1.8 KiB
Markdown
# Contributing to GitPulse
|
|
|
|
Thank you for your interest in contributing to GitPulse! This document provides guidelines and instructions for contributing.
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
- Rust 1.70 or later
|
|
- Cargo 1.70 or later
|
|
- Git
|
|
|
|
### Development Setup
|
|
|
|
1. Fork the repository on GitHub
|
|
2. Clone your fork locally:
|
|
```bash
|
|
git clone https://github.com/YOUR_USERNAME/gitpulse.git
|
|
cd gitpulse
|
|
```
|
|
|
|
3. Set up the development environment:
|
|
```bash
|
|
cargo build
|
|
cargo test
|
|
```
|
|
|
|
4. Create a branch for your changes:
|
|
```bash
|
|
git checkout -b feature/your-feature-name
|
|
```
|
|
|
|
## Coding Standards
|
|
|
|
### Code Style
|
|
|
|
- Follow Rust standard formatting with `cargo fmt`
|
|
- Run `cargo clippy` to check for common issues
|
|
- Ensure all warnings are resolved
|
|
|
|
### Documentation
|
|
|
|
- Add docstrings to all public functions and types
|
|
- Update README.md for user-facing changes
|
|
- Add inline comments for complex logic
|
|
|
|
### Testing
|
|
|
|
- Write unit tests for new functionality
|
|
- Ensure all tests pass before submitting
|
|
- Aim for meaningful test coverage
|
|
|
|
## Submitting Changes
|
|
|
|
1. Commit your changes with a clear commit message:
|
|
```bash
|
|
git commit -m "Add feature: brief description"
|
|
```
|
|
|
|
2. Push to your fork:
|
|
```bash
|
|
git push origin feature/your-feature-name
|
|
```
|
|
|
|
3. Create a Pull Request against the main branch
|
|
|
|
4. Address any feedback from reviewers
|
|
|
|
## Reporting Issues
|
|
|
|
When reporting issues, please include:
|
|
|
|
- A clear description of the problem
|
|
- Steps to reproduce the issue
|
|
- Expected behavior vs actual behavior
|
|
- System information (OS, Rust version, etc.)
|
|
- Any relevant error messages
|
|
|
|
## Code of Conduct
|
|
|
|
This project follows the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/). By participating, you are expected to uphold this code.
|
|
|
|
## Questions?
|
|
|
|
If you have questions, feel free to open an issue for discussion.
|