SolidOps.SubZero.Tool
1.3.14
dotnet tool install --global SolidOps.SubZero.Tool --version 1.3.14
dotnet new tool-manifest
dotnet tool install --local SolidOps.SubZero.Tool --version 1.3.14
#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 toSubZero.Tool.Archiveand 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}}.
Links
- Repository: https://github.com/SolidOps/burgr
- Author: Damien Lechat — Solid Ops
| 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. |
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 |