SolidOps.SubZero.Tool 1.3.14

dotnet tool install --global SolidOps.SubZero.Tool --version 1.3.14
                    
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.3.14
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=SolidOps.SubZero.Tool&version=1.3.14
                    
nuke :add-package SolidOps.SubZero.Tool --version 1.3.14
                    

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 \| app] Provision a self-hosted server and deploy containerised apps over SSH.
monitor <subcommand> Observe a live server over SSH (status, logs, env, health, resources, dashboard tunnel). Read-only.
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 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.

Monitor — monitor

Read-only observation of a live server. The SSH connection is resolved from config.secrets.json (Server.*), with --host/--user/--port overrides on every subcommand:

sub-zero monitor container-status        # docker ps (add -a for stopped)
sub-zero monitor logs --app myapp -f     # tail/follow container logs
sub-zero monitor env --app myapp         # printenv inside the app container
sub-zero monitor health                  # HTTP status of every configured app
sub-zero monitor resources               # df -h + docker system df + docker stats
sub-zero monitor tunnel netdata -o       # SSH tunnel to Netdata/Uptime Kuma + open browser

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.14 42 9/21/2026
1.3.13 82 9/14/2026
1.3.12 102 9/14/2026
1.3.11 86 9/14/2026
1.3.10 83 9/14/2026
1.3.9 81 9/14/2026
1.3.8 87 9/11/2026
1.3.7 107 8/26/2026
1.3.6 169 8/6/2026
1.3.5 101 8/6/2026
1.3.4 103 8/5/2026
1.3.3 96 8/5/2026
1.3.2 126 6/15/2026
1.3.1 117 6/10/2026
1.3.0 119 6/10/2026
1.2.4 131 6/10/2026
1.2.3 117 6/10/2026
1.2.2 113 6/3/2026
1.2.1 112 6/3/2026
1.2.0 108 6/3/2026