SawKing.DotsKit.Tool
2.8.0
dotnet tool install --global SawKing.DotsKit.Tool --version 2.8.0
dotnet new tool-manifest
dotnet tool install --local SawKing.DotsKit.Tool --version 2.8.0
#tool dotnet:?package=SawKing.DotsKit.Tool&version=2.8.0
nuke :add-package SawKing.DotsKit.Tool --version 2.8.0
dotskit
dotskit is the command-line tool of DotNetSolutionKit,
the dotnet new template of .NET microservice solutions. It makes a solution with the template, adds services
to it and flags to its services, and upgrades it to a newer version of the template. Where the team and the
template changed the same file, it merges the two the way git merges branches.
Documentation, in English and Russian: dotskit.sawking.tech
Install
dotnet tool install -g SawKing.DotsKit.Tool
dotskit X.Y.Z generates with the template X.Y.Z, which it installs from NuGet into a hive of its own;
the template installed with dotnet new install is left as it is.
Commands
# in an empty folder: a solution with its first service
dotskit new -N MyCompany -P MyProduct -S Orders
# in the solution: one more service, with the solution's names, database and deployment
dotskit new -S Billing --Storage true
# in the solution: a flag for a service it has
dotskit new -S Orders --MongoDB true
# in a solution made with the template alone: describe it in its manifest
dotskit init
# in a solution: bring it to the tool's version of the template
dotskit upgrade
Every command shows the files it will change and why, and asks before writing; --yes writes without asking.
It writes all files or none, then builds the solution. A conflict is marked
<<<<<<< solution / >>>>>>> template and the command exits with 2.
What a solution was made from is kept in .dotskit/manifest.json: commit it with the solution.
The template works without the tool; this package is the way to keep a solution up with it.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.8.0 | 49 | 10/28/2026 |
dotskit keeps a solution up with the template, keeping the team's changes.
- A solution keeps up with the template: dotskit adds services and flags to it and upgrades it to a new version, keeping the team's changes.
- A service generated into a solution adds itself to All.sln.
- Email by flag, with a sandbox that keeps a test stand from mailing real people.
- MongoDB by flag, beside the main database.
- Containers run on a read-only filesystem.
- The test servers start with one command, the same on a developer's machine as in CI.
- Coverage on demand, with a report per service.
- The solution is generated with --Solution; -M false still works.
- The template answers to the short name dotskit too: dotnet new dotskit.
How to update a solution generated from an earlier version: https://github.com/sawking-tech/DotNetSolutionKit/blob/v2.8.0/docs/getting-started/upgrading.md