Skip to content

Latest commit

 

History

History
110 lines (77 loc) · 3.48 KB

File metadata and controls

110 lines (77 loc) · 3.48 KB

Contributing to PCMS Outlook Add-In

First off, thank you for considering contributing to PCMS Outlook Add-In! It's people like you that make this project such a great tool.

Code of Conduct

This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to support@pcms.com.

How Can I Contribute?

Reporting Bugs

Before creating bug reports, please check existing issues as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible.

Bug Report Template:

  • Description: Clear and concise description of the bug
  • Steps to Reproduce: List of steps to reproduce the behavior
  • Expected Behavior: What you expected to happen
  • Actual Behavior: What actually happened
  • Screenshots: If applicable
  • Environment: OS, .NET version, Outlook version

Suggesting Enhancements

Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:

  • Use Case: Why is this enhancement needed?
  • Proposed Solution: Describe the solution you'd like
  • Alternatives: Describe alternatives you've considered
  • Additional Context: Any other context or screenshots

Pull Requests

  1. Fork the repo and create your branch from main
  2. Write code that follows our coding standards
  3. Add tests for any new functionality
  4. Ensure all tests pass with dotnet test
  5. Update documentation as needed
  6. Submit a pull request

Development Process

Setting Up Development Environment

  1. Install .NET 8.0 SDK
  2. Clone your fork
  3. Create a feature branch
  4. Make your changes
  5. Run tests
  6. Commit your changes

Coding Standards

  • C# Coding Conventions: Follow Microsoft's C# Coding Conventions
  • Naming: Use meaningful and descriptive names
  • Comments: Write self-documenting code, add comments for complex logic
  • Methods: Keep methods small and focused on a single task
  • SOLID Principles: Follow SOLID principles in your design

Testing

  • Write unit tests for all new functionality
  • Maintain or improve code coverage
  • Integration tests for API endpoints
  • Test edge cases and error scenarios

Commit Guidelines

We use Conventional Commits. Format:

<type>(<scope>): <subject>

<body>

<footer>

Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation only changes
  • style: Changes that don't affect code meaning
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Performance improvement
  • test: Adding missing tests
  • chore: Changes to build process or auxiliary tools

Example:

feat(api): add user search endpoint

Added a new endpoint to search users by name or email.
Includes pagination support and filtering options.

Closes #123

Review Process

  1. Automated Checks: All PRs must pass CI/CD checks
  2. Code Review: At least one maintainer review required
  3. Testing: All tests must pass
  4. Documentation: Updates must include relevant documentation

Questions?

Feel free to contact the maintainers or open a discussion on GitHub.

Thank you for contributing! 🎉