Template
Introduces new skills for managing Entity Framework Core migrations and creating Architectural Decision Records (ADRs). These skills provide structured guidance for users to document architectural decisions and manage database migrations effectively. Co-authored-by: Copilot <copilot@github.com>
2.0 KiB
2.0 KiB
name, description, argument-hint
| name | description | argument-hint |
|---|---|---|
| new-release | Cut a new release: tag the appropriate commit, generate the changelog, and produce build artifacts. Use when: releasing a new version, tagging a release, publishing NuGet packages, preparing release artifacts. | Branch or commit to release from (default: current main) and the kind of release (stable, prerelease, hotfix) |
New Release
Versioning is GitVersion-driven (GitVersion.yml). Do not hand-pick versions — let GitVersion compute them from branch and tag history.
Versioning
| Branch | Label | Resulting version |
|---|---|---|
main |
— | MAJOR.MINOR.PATCH (stable) |
develop / dev / development |
beta |
MAJOR.MINOR.PATCH-beta.N |
release/*, hotfix/*, feature/* |
branch name | …-<branch>.N |
- Tags use the prefix
v(regex[vV]?also acceptsVor none). - Only changes under
src/,Directory.Packages.props, orGitVersion.ymlincrement the version. - Increments are suppressed for already-merged branches and already-tagged commits.
Procedure
- Sync.
git fetch --all --tags && git status— confirm clean. - Compute.
dotnet build -getProperty:Version— verify the value matches expectations. - Pack.
dotnet pack -c Release(or use the docker-buildpacktarget). Artifacts land inartifacts/nuget/. - Tag.
git tag -a v<version> -m "Release v<version>" && git push origin v<version>. - Publish packages to the configured feed.
- Create the GitHub release linked to the tag, using the generated changelog as notes.
For hotfixes: branch from the latest stable tag (git switch -c hotfix/<name> v<latest-stable>), follow the procedure, then back-merge into main and develop.
Guardrails
- Tags are immutable once pushed; never move or delete them.
- Never skip a
PATCH— ship a fix forward. - Do not edit
GitVersion.ymlto force a version. Address the underlying cause (missing tag, branch base, path filter, commit messages).