maksit-dapr/CONTRIBUTING.md
2026-06-28 11:37:38 +02:00

2.9 KiB
Raw Permalink Blame History

Contributing to MaksIT.Dapr

Thank you for your interest in contributing to MaksIT.Dapr.

Getting Started

  1. Fork the repository.
  2. Clone your fork locally.
  3. Create a feature branch.
  4. Implement and test your changes.
  5. 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

  1. Ensure build and tests pass.
  2. Update README.md if behavior or usage changed.
  3. Update CHANGELOG.md under the target version.
  4. 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 utils/ (synced from maksit-repoutils via Update-RepoUtils). Product-specific settings are in each engines scriptSettings.json.

Run tests and coverage badges

pwsh -File .\utils\engines\test\Invoke-TestEngine.ps1

Or double-click utils\Invoke-TestEngine.bat.

Configuration: utils/engines/test/scriptSettings.json

Release package

Builds, tests, packs, and publishes to NuGet and GitHub release flows.

pwsh -File .\utils\engines\release\Invoke-ReleasePackage.ps1

Or double-click utils\Invoke-ReleasePackage.bat.

Prerequisites:

  • Docker Desktop (for Linux test validation)
  • GitHub CLI (gh)
  • environment variable NUGET_MAKS_IT
  • environment variable GITHUB_MAKS_IT_COM

Configuration: utils/engines/release/scriptSettings.json

Update repo utilities

Refreshes utils/ from maksit-repoutils while preserving local scriptSettings.json files.

pwsh -File .\utils\tools\Update-RepoUtils\Update-RepoUtils.ps1

Or double-click utils\Update-RepoUtils.bat.

Force amend tagged commit

Amends the latest tagged commit and force-pushes updated branch and tag.

pwsh -File .\utils\tools\Force-AmendTaggedCommit\Force-AmendTaggedCommit.ps1
pwsh -File .\utils\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.