Thank you for your interest in contributing to SVN Path Copy! This document provides guidelines and information for contributors.
Please read and follow our Code of Conduct.
Before creating a bug report, please check existing issues to avoid duplicates.
When reporting a bug, include:
- Description: Clear description of the problem
- Steps to Reproduce: Detailed steps to reproduce the issue
- Expected Behavior: What you expected to happen
- Actual Behavior: What actually happened
- Environment: Windows version, .NET version, SVN client version
- Screenshots: If applicable
Feature requests are welcome! Please include:
- Use Case: Describe the problem you're trying to solve
- Proposed Solution: Your idea for the feature
- Alternatives: Any alternatives you've considered
- Fork the repository
- Create a feature branch from
main - Make your changes
- Write or update tests as needed
- Ensure all tests pass
- Update documentation if needed
- Submit a pull request
- Windows 10/11
- .NET 10 SDK
- .NET Framework 4.8 Developer Pack
# Install dependencies and build
dotnet restore
dotnet builddotnet testShell extensions require special handling for testing:
- Build the ShellExtension project
- Use SharpShell's Server Manager to install/uninstall
- Restart Explorer after registration changes
- Use C# 12 features where appropriate
- Use file-scoped namespaces
- Enable nullable reference types
- Follow Microsoft's C# Coding Conventions
PascalCasefor public members, types, namespacescamelCasefor local variables, parameters_camelCasefor private fieldsIprefix for interfaces- Descriptive names over abbreviations
- XML documentation for all public APIs
- Inline comments for complex logic
- Update README.md for user-facing changes
Follow the Conventional Commits specification:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation onlystyle: Code style changesrefactor: Code refactoringtest: Adding/updating testschore: Maintenance tasks
Examples:
feat(shell): add keyboard shortcut support
fix(config): handle missing registry key gracefully
docs: update installation instructions
Feel free to open an issue for any questions about contributing.