Cxset 1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global Cxset --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local Cxset --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Cxset&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package Cxset --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Cxset
A .NET CLI tool for managing versions and changelogs across multiple projects in a repository.
Installation
From NuGet
dotnet tool install --global Cxset
From Source
cd Cxset
dotnet pack
dotnet tool install --global --add-source ./bin/Release Cxset
Uninstall
dotnet tool uninstall --global Cxset
Usage
Adding a Changeset
cxset add
This will:
- List all eligible
.csprojfiles (those with a<Version>element) - Prompt you to select which projects are affected (comma-separated numbers or
afor all) - Ask for the change type: patch, minor, or major
- Ask for a description of the changes (enter an empty line to finish)
A changeset file is created in .changes/ with the following format:
---
changeset: minor
timestamp: 2026-02-04T15:00:00Z
projects:
- src/MyProject/MyProject.csproj
- src/MyLibrary/MyLibrary.csproj
---
Added new feature X
Fixed bug Y
Publishing Changesets
cxset publish
This will:
- Read all pending changesets from
.changes/ - Determine the version bump based on the largest change type (major > minor > patch)
- Bump the version (stored in
.changes/.version, starting from0.0.0) - Update the
<Version>element in each affected.csprojfile - Append entries to
CHANGELOG.mdin each affected project's directory - Delete the processed changeset files
Version Bumping
| Change Type | Example |
|---|---|
| patch | 1.2.3 → 1.2.4 |
| minor | 1.2.3 → 1.3.0 |
| major | 1.2.3 → 2.0.0 |
When multiple changesets exist, the largest change type wins.
Project Structure
For a project to be eligible for version management, it must have a <Version> element in its .csproj file:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Version>1.0.0</Version>
</PropertyGroup>
</Project>
Files
| Path | Description |
|---|---|
.changes/*.md |
Pending changeset files |
.changes/.version |
Current version tracker |
{project}/CHANGELOG.md |
Per-project changelog |
Example Workflow
# Make some changes to ProjectA and ProjectB
git add .
# Record what changed
cxset add
# Select: 1, 2 (ProjectA and ProjectB)
# Type: 2 (minor)
# Description: Added user authentication
# Make more changes to just ProjectA
git add .
cxset add
# Select: 1 (ProjectA only)
# Type: 1 (patch)
# Description: Fixed login bug
# When ready to release
cxset publish
# Both projects get version bump (minor wins)
# ProjectA CHANGELOG has both entries
# ProjectB CHANGELOG has only the first entry
Requirements
- .NET 10.0 SDK or later
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.