Initial upload: GitPulse - Developer Productivity Analyzer CLI tool
This commit is contained in:
85
CONTRIBUTING.md
Normal file
85
CONTRIBUTING.md
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
# 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.
|
||||||
Reference in New Issue
Block a user