SolidOps.SubZero.Tool 1.2.4

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global SolidOps.SubZero.Tool --version 1.2.4
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local SolidOps.SubZero.Tool --version 1.2.4
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=SolidOps.SubZero.Tool&version=1.2.4
                    
nuke :add-package SolidOps.SubZero.Tool --version 1.2.4
                    

SubZero.Tool (sub-zero)

A unified .NET CLI tooling suite for Burgr projects: scaffolding, managing dependencies/versions, and setting up self-hosted servers.

dotnet tool install --global SolidOps.SubZero.Tool
sub-zero --help

Requires the .NET 10 SDK.


What it does

sub-zero automates the full lifecycle of a Burgr project from a single CLI:

  • Scaffold a complete DDD-layered project (Angular + .NET host + DDD layers + burgr YAML models) from embedded templates.
  • Provision a hardened Debian/Ubuntu server (Docker, nginx-proxy + Let's Encrypt, monitoring, firewall) and deploy containerised apps over SSH.
  • Manage dependencies and versions across a multi-project solution.

Most commands read a config.json from the working directory for the solution name, version, debug/local flags, project list, dependencies, and outputs. Commands that take parameters directly accept them as options.


Commands

Command Description
init-repo [path] Scaffold a full DDD-layered Burgr project from embedded templates.
publish [init-server \| init-app] Provision a self-hosted server and deploy containerised apps over SSH.
update [deps] Download/refresh dependencies and update dotnet tools / NuGet references.
version check Verify the version in config.json matches the build output.
model-to-yaml Convert a legacy C# model to the new burgr YAML model.

Run sub-zero <command> --help for the full option list of any command.


Scaffolding — init-repo

sub-zero init-repo ./my-app --project Mpc
sub-zero init-repo ./my-app --project Mpc --module Recipes --namespace Acme
Option Description
path Target directory (created if missing; defaults to the current directory).
--project, -p Project name in PascalCase. Defaults to the target folder name.
--module, -m Optional bounded-context namespace. Names become <Project>.<Module>.<Layer> and YAML stubs go into src/models/<Module>/. Re-run to add another bounded context.
--namespace, -n Root namespace prefix (defaults to SolidOps).
--force, -f Overwrite existing files (without it, existing files are skipped, so re-runs are safe).

Generates an Angular workspace (app + library), a .NET host, the DDD layer projects (Domain, Application, Contracts, Infrastructure, Presentation, Tests), burgr YAML model stubs, and the devops files (Dockerfile, docker-compose.yml, init-server.sh, deploy scripts) used by the publish server commands.

Publish — publish

Provision a self-hosted server and deploy containerised apps over SSH (files generated by init-repo under src/devops/subzero/):

# Provision a hardened server.
sub-zero publish init-server --host 1.2.3.4 --user admin

# Build a Docker image and deploy a containerised app (docker save | ssh docker load).
sub-zero publish init-app myapp

The former package/app publishing subcommands (package, app, local-package, ts, service, web, old) have been archived to SubZero.Tool.Archive and are no longer part of the CLI.

Dependencies & versioning

sub-zero update            # download/refresh dependency archives into dependencies/
sub-zero update deps       # update dotnet tools and NuGet references across *.csproj
sub-zero version check     # verify config.json version vs build output

Token replacement in templates

init-repo expands {{TOKEN}} placeholders in embedded templates. Common tokens: {{PROJECT}}, {{project}} (lowercase), {{MODULE}}, {{NAMESPACE}}, {{PREFIX}}, {{USER}}, {{DOMAIN}}.


Product 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.

Version Downloads Last Updated
1.3.1 42 6/10/2026
1.3.0 39 6/10/2026
1.2.4 53 6/10/2026
1.2.3 42 6/10/2026
1.2.2 92 6/3/2026
1.2.1 85 6/3/2026
1.2.0 88 6/3/2026