Files
gitpulse/CONTRIBUTING.md
7000pctAUTO d86aea0bd9
Some checks failed
CI / release (push) Has been cancelled
CI / test (push) Has been cancelled
Initial upload: GitPulse - Developer Productivity Analyzer CLI tool
2026-02-04 15:45:16 +00:00

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.