2.7 KiB
2.7 KiB
Contributing to MaksIT.Dapr
Thank you for your interest in contributing to MaksIT.Dapr.
Getting Started
- Fork the repository.
- Clone your fork locally.
- Create a feature branch.
- Implement and test your changes.
- Submit a pull request to
main.
Development Setup
Prerequisites
- .NET 8 SDK or later
- Git
- PowerShell 7+ (recommended for utility scripts)
Build
cd src
dotnet build MaksIT.Dapr.slnx
Test
cd src
dotnet test MaksIT.Dapr.Tests
Commit Message Format
Use:
(type): description
Commit Types
| Type | Description |
|---|---|
(feature): |
New feature or enhancement |
(bugfix): |
Bug fix |
(refactor): |
Refactoring without behavior change |
(chore): |
Maintenance tasks (dependencies, tooling, docs) |
Guidelines
- Use lowercase in the description.
- Keep it concise and specific.
- Do not end with a period.
Pull Request Checklist
- Ensure build and tests pass.
- Update
README.mdif behavior or usage changed. - Update
CHANGELOG.mdunder the target version. - Keep changes scoped and explain rationale in the PR description.
Versioning
This project follows Semantic Versioning:
- MAJOR: breaking API changes
- MINOR: backward-compatible features
- PATCH: backward-compatible fixes
Utility Scripts
Automation lives under src/ (synced from maksit-repoutils via Update-RepoUtils). Product-specific settings are in each engine’s scriptSettings.json.
Run tests and coverage badges
pwsh -File .\src\engines\test\Invoke-TestEngine.ps1
Configuration: src/engines/test/scriptSettings.json
Release package
Builds, tests, packs, and publishes to NuGet and GitHub release flows.
pwsh -File .\src\engines\release\Invoke-ReleasePackage.ps1
Prerequisites:
- Docker Desktop (for Linux test validation)
- GitHub CLI (
gh) - environment variable
NUGET_MAKS_IT - environment variable
GITHUB_MAKS_IT_COM
Configuration: src/engines/release/scriptSettings.json
Update repo utilities
Refreshes src/ from maksit-repoutils while preserving local scriptSettings.json files.
pwsh -File .\src\tools\Update-RepoUtils\Update-RepoUtils.ps1
Force amend tagged commit
Amends the latest tagged commit and force-pushes updated branch and tag.
pwsh -File .\src\tools\Force-AmendTaggedCommit\Force-AmendTaggedCommit.ps1
pwsh -File .\src\tools\Force-AmendTaggedCommit\Force-AmendTaggedCommit.ps1 -DryRun
Warning: this rewrites git history.
License
By contributing, you agree that your contributions are licensed under the terms in LICENSE.md.