11# Modulus CLI Reference
22
3- The Modulus CLI (` modulus ` ) is a command-line tool for creating, building, packaging, and managing Modulus modules.
3+ The Modulus CLI (` modulus ` ) is a command-line tool for creating, building, packaging, and managing Modulus projects ( modules and host apps) .
44
55## Installation
66
@@ -19,7 +19,7 @@ dotnet tool uninstall -g Agibuild.Modulus.Cli
1919
2020| Command | Description |
2121| ---------| -------------|
22- | ` modulus new ` | Create a new module project |
22+ | ` modulus new ` | Create a new project ( module or host app) |
2323| ` modulus build ` | Build the module project |
2424| ` modulus pack ` | Package the module for distribution |
2525| ` modulus install ` | Install a module |
@@ -30,7 +30,7 @@ dotnet tool uninstall -g Agibuild.Modulus.Cli
3030
3131## modulus new
3232
33- Create a new Modulus module project with all necessary files and structure.
33+ Create a new Modulus project with all necessary files and structure.
3434
3535### Syntax
3636
@@ -42,7 +42,7 @@ modulus new [<template>] -n <name> [options]
4242
4343| Argument | Required | Description |
4444| ----------| ----------| -------------|
45- | ` <template> ` | No | Template name: ` module-avalonia ` or ` module-blazor ` (default: ` module-avalonia ` ) |
45+ | ` <template> ` | No | Template name: ` avaloniaapp ` , ` blazorapp ` , ` module-avalonia ` , ` module-blazor ` (default: ` module-avalonia ` ) |
4646
4747### Options
4848
@@ -55,6 +55,8 @@ modulus new [<template>] -n <name> [options]
5555
5656### Templates
5757
58+ - ` avaloniaapp ` : Modulus host app (Avalonia)
59+ - ` blazorapp ` : Modulus host app (Blazor Hybrid / MAUI)
5860- ` module-avalonia ` : Modulus module (Avalonia)
5961- ` module-blazor ` : Modulus module (Blazor)
6062
@@ -64,6 +66,12 @@ modulus new [<template>] -n <name> [options]
6466# List templates
6567modulus new --list
6668
69+ # Create an Avalonia host app
70+ modulus new avaloniaapp -n MyApp
71+
72+ # Create a Blazor Hybrid (MAUI) host app
73+ modulus new blazorapp -n MyApp
74+
6775# Create an Avalonia module (default template)
6876modulus new -n MyModule
6977
@@ -76,10 +84,13 @@ modulus new -n MyModule --force
7684
7785### Generated Structure
7886
87+ #### Module project (module-avalonia / module-blazor)
88+
7989```
8090MyModule/
8191├── MyModule.sln
8292├── .gitignore
93+ ├── Directory.Build.props
8394├── extension.vsixmanifest
8495├── MyModule.Core/
8596│ ├── MyModule.Core.csproj
@@ -93,6 +104,54 @@ MyModule/
93104 └── MainView.axaml.cs
94105```
95106
107+ #### Host app project (avaloniaapp / blazorapp)
108+
109+ ```
110+ MyApp/
111+ ├── MyApp.sln
112+ ├── .gitignore
113+ ├── Directory.Build.props
114+ └── MyApp.Host.Avalonia/ (or MyApp.Host.Blazor)
115+ ├── appsettings.json
116+ └── ... host entrypoint + UI files ...
117+ ```
118+
119+ ** Notes:**
120+ - ` blazorapp ` is a ** MAUI** host template and typically requires ** Windows** to build.
121+
122+ #### Host app details
123+
124+ ** Avalonia host app (` avaloniaapp ` )**
125+
126+ - ** Project** : ` MyApp.Host.Avalonia/ `
127+ - ** Typical entrypoint** : ` Program.cs `
128+ - ** Typical UI** : ` App.axaml ` , ` MainWindow.axaml `
129+ - ** Build & run** :
130+
131+ ``` bash
132+ cd MyApp
133+ dotnet build -c Release
134+ dotnet run --project MyApp.Host.Avalonia -c Release
135+ ```
136+
137+ ** Blazor Hybrid (MAUI) host app (` blazorapp ` )**
138+
139+ - ** Project** : ` MyApp.Host.Blazor/ `
140+ - ** Typical entrypoint** : ` MauiProgram.cs ` + platform entry under ` Platforms/ `
141+ - ** Build prerequisites** :
142+ - Windows machine
143+ - .NET MAUI workload installed (for example: ` dotnet workload install maui ` )
144+ - ** Build & run** :
145+
146+ ``` bash
147+ cd MyApp
148+ dotnet build -c Release
149+ dotnet run --project MyApp.Host.Blazor -c Release
150+ ```
151+
152+ See also:
153+ - [ ` docs/host-app-development.md ` ] ( ./host-app-development.md )
154+
96155---
97156
98157## modulus build
@@ -217,8 +276,7 @@ modulus install <source> [options]
217276
218277Modules are installed to:
219278- ** Windows** : ` %APPDATA%\Modulus\Modules\{ModuleId}\ `
220- - ** macOS** : ` ~/Library/Application Support/Modulus/Modules/{ModuleId}/ `
221- - ** Linux** : ` ~/.local/share/Modulus/Modules/{ModuleId}/ `
279+ - ** macOS/Linux** : ` ~/.modulus/Modules/{ModuleId}/ `
222280
223281### Examples
224282
@@ -306,7 +364,7 @@ modulus list --verbose
306364# Installed Modules:
307365# MyModule v1.0.0
308366# ID: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
309- # Path: /Users/you/.local/share/Modulus /Modules/MyModule
367+ # Path: ~/.modulus /Modules/MyModule
310368# Installed: 2025-12-14 10:30:00
311369```
312370
@@ -324,11 +382,11 @@ modulus list --verbose
324382
325383| Variable | Description |
326384| ----------| -------------|
327- | ` MODULUS_HOME ` | Override default Modulus data directory |
385+ | ` MODULUS_CLI_DATABASE_PATH ` | Override CLI database path (primarily for tests/automation) |
386+ | ` MODULUS_CLI_MODULES_DIR ` | Override CLI modules directory (primarily for tests/automation) |
328387
329388## See Also
330389
331390- [ Getting Started] ( ./getting-started.md )
332391- [ Module Development Guide] ( ./module-development.md )
333- - [ Manifest Format] ( ./manifest-format.md )
334392
0 commit comments