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.
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.
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
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
- Fork the repo and create your branch from
main - Write code that follows our coding standards
- Add tests for any new functionality
- Ensure all tests pass with
dotnet test - Update documentation as needed
- Submit a pull request
- Install .NET 8.0 SDK
- Clone your fork
- Create a feature branch
- Make your changes
- Run tests
- Commit your changes
- 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
- Write unit tests for all new functionality
- Maintain or improve code coverage
- Integration tests for API endpoints
- Test edge cases and error scenarios
We use Conventional Commits. Format:
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: New featurefix: Bug fixdocs: Documentation only changesstyle: Changes that don't affect code meaningrefactor: Code change that neither fixes a bug nor adds a featureperf: Performance improvementtest: Adding missing testschore: 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
- Automated Checks: All PRs must pass CI/CD checks
- Code Review: At least one maintainer review required
- Testing: All tests must pass
- Documentation: Updates must include relevant documentation
Feel free to contact the maintainers or open a discussion on GitHub.
Thank you for contributing! 🎉