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

1.8 KiB

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:

    git clone https://github.com/YOUR_USERNAME/gitpulse.git
    cd gitpulse
    
  3. Set up the development environment:

    cargo build
    cargo test
    
  4. Create a branch for your changes:

    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:

    git commit -m "Add feature: brief description"
    
  2. Push to your fork:

    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. By participating, you are expected to uphold this code.

Questions?

If you have questions, feel free to open an issue for discussion.