Files
PSProxmox/CONTRIBUTING.md
2025-04-28 14:35:22 -04:00

2.8 KiB

Contributing to PSProxmox

Thank you for your interest in contributing to PSProxmox! This document provides guidelines and instructions for contributing.

Code of Conduct

By participating in this project, you agree to abide by the Code of Conduct.

How Can I Contribute?

Reporting Bugs

This section guides you through submitting a bug report. Following these guidelines helps maintainers understand your report, reproduce the behavior, and find related reports.

  • Use the bug report template when creating an issue
  • Include detailed steps to reproduce the problem
  • Describe the behavior you observed and what you expected to see
  • Include PowerShell and Proxmox VE version information

Suggesting Enhancements

This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.

  • Use the feature request template when creating an issue
  • Provide a clear and detailed explanation of the feature you want
  • Explain why this enhancement would be useful to most PSProxmox users

Pull Requests

  • Fill in the required template
  • Follow the C# and PowerShell style guides
  • Include tests for new features or bug fixes
  • Update documentation as needed
  • End all files with a newline

Development Workflow

  1. Fork the repository
  2. Create a new branch for your changes
  3. Make your changes
  4. Add or update tests as needed
  5. Run tests to ensure they pass
  6. Update documentation as needed
  7. Submit a pull request

Style Guides

Git Commit Messages

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line

C# Style Guide

  • Follow the Microsoft C# Coding Conventions
  • Use 4 spaces for indentation
  • Use camelCase for private fields and parameters
  • Use PascalCase for public/protected properties and methods
  • Add XML documentation comments for all public members

PowerShell Style Guide

Testing

  • Write tests for all new features and bug fixes
  • Run tests before submitting a pull request
  • Ensure all tests pass

Documentation

  • Update the README.md with details of changes to the interface
  • Update the CHANGELOG.md with details of changes
  • Update XML documentation comments for all public members
  • Update comment-based help for all cmdlets