Getting started
Desktop products on NuGet only
Prerequisites
- .NET SDK 10.0.100+ (
global.json) - GitHub CLI for GPR restore (
configure-gpr-user-nuget.ps1) - Desktop environment for Avalonia
Build
cd novolis-apps
..\novolis-governance\scripts\configure-gpr-user-nuget.ps1
dotnet restore
dotnet build --no-restoreInstall (Windows)
Download only from official GitHub Releases (Novolis-Platform/novolis-apps):
| Asset | Use |
|---|---|
| `BooksWriterStudioSetup-*-win-x64.exe` | **Books Writer Studio installer** |
| `BooksMobileSetup-*-win-x64.exe` | **Books Mobile installer** — `%LOCALAPPDATA%\Programs\Novolis\Books Mobile` |
| `BooksMobile-*-win-x64.zip` | Books Mobile portable |
| `DraftStudioSetup-*-win-x64.exe` | **Draft Studio installer** — `%LOCALAPPDATA%\Programs\Novolis\Draft Studio` |
| `DraftStudio-*-win-x64.zip` | Draft Studio portable |
| `SketchStudioSetup-*-win-x64.exe` | **Sketch Studio installer** — `%LOCALAPPDATA%\Programs\Novolis\Sketch Studio` |
| `SketchStudio-*-win-x64.zip` | Sketch Studio portable |
| `SinsOfACapitalismTycoonSetup-*-win-x64.exe` | **Sins of a Capitalism Tycoon installer** |
| `LiveStudioSetup-*-win-x64.exe` | **Live Studio installer** |
| `SHA256SUMS.txt` | SHA-256 hashes for all zip and setup exe files on each release |
Verify downloads
Before running the installer, verify the SHA-256 hash:
Get-FileHash .\DraftStudioSetup-*-win-x64.exe -Algorithm SHA256
# Compare with the matching line in SHA256SUMS.txt from the same releaseSmartScreen (unsigned installer)
Installers are not yet Authenticode-signed. Windows SmartScreen may show "Windows protected your PC" on first download. This is expected until code signing is added. To proceed: More info → Run anyway. Only install builds downloaded from the official releases page above.
New releases are created automatically when changes merge to main (see Merge workflow).
Build installer locally (requires Inno Setup 6 for the setup exe):
pwsh -File scripts/build-installer.ps1 -App All
# Single app:
pwsh -File scripts/build-installer.ps1 -App DraftStudio
# Skip Inno compile (publish + zip only):
pwsh -File scripts/build-installer.ps1 -App All -SkipInstallerDraft Studio
dotnet run --project src/DraftStudio
# Headless pipeline check (DSL → .cadjson → .cadphys.json):
dotnet run --project src/DraftStudio -- --smokeCommand-driven CAD-light: type Line(0,0,2,0), Circle(0,0,5), Spline(0,0,1,1,2,0), Box(1,1,1) in the command bar, or use Line / Circle / Rect / Spline tools (same commands). Toggle Draft (XZ plan canvas) and Model (Raylib orbit). Export Phys writes draft.cadphys.json.
- Workspace:
%LocalAppData%\Novolis\Draft Studio\default-workspace\draft.cadjson - Formats: cadjson.md
- Shortcuts:
Ctrl+Ssave,Ctrl+Z/Ctrl+Yundo/redo,Deldelete,Ffit,Esccancel tool,Enterfinish spline
Books Writer Studio
dotnet run --project src/BooksWriterStudioSketch Studio
dotnet run --project d:\novolis\novolis-apps\src\SketchStudio
dotnet run --project d:\novolis\novolis-apps\src\SketchStudio -- --smokeFreehand sketch studio (SketchControl) with full toolbar chrome. Hover tips + F1 shortcuts.
App docs (interconnected): `docs/sketch-studio/README.md`
| Guide | Topic |
|---|---|
| [getting-started](./sketch-studio/getting-started.html) | Install, run, first five minutes |
| [tools](./sketch-studio/tools.html) | Drawing tools |
| [shortcuts](./sketch-studio/shortcuts.html) | Keys + tooltips |
| [documents](./sketch-studio/documents.html) | `.sketchjson`, MRU, dirty close |
| [export](./sketch-studio/export.html) | PNG / SVG |
| [architecture](./sketch-studio/architecture.html) | Host vs Controls.Sketch |
Wire format: `sketchjson.md`
Installer / portable: SketchStudioSetup-*-win-x64.exe / SketchStudio-*-win-x64.zip → %LOCALAPPDATA%\Programs\Novolis\Sketch Studio.
Sins of a Capitalism Tycoon
dotnet run --project src/SinsOfACapitalismTycoon -- --mode headless
dotnet run --project src/SinsOfACapitalismTycoon -- --mode avaloniaCapitalist Simulator
dotnet run --project d:\novolis\novolis-apps\src\CapitalistSimulator -p:NovolisUseProjectReferences=true -- --mode avaloniaStarts with a stocked Corner Market in Metropolis and a coach card. Press Advance month, watch cash / P&L, then follow the coach.
Headless smoke (same starter store):
dotnet run --project d:\novolis\novolis-apps\src\CapitalistSimulator -p:NovolisUseProjectReferences=true -- --mode headless --days 36Full first-session walkthrough: `src/CapitalistSimulator/docs/gameplay.md`.
Live Studio
dotnet run --project src/LiveStudio/studio