# 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.