AtomUI.Cli is the command-line entry point for the AtomUI ecosystem. It is distributed as a NuGet-powered .NET Tool and can be used from local development environments, CI pipelines, scripts, and agent workflows through dotnet atomui ....
AtomUI.Cli focuses on everyday engineering workflows for AtomUI projects: looking up control and package metadata, generating component usage notes, diagnosing project environments, assisting migrations, initializing project configuration, and exposing MCP integration for agent-based tooling. It is designed as a stable command runtime for the AtomUI ecosystem, not as a collection of ad hoc scripts.
- Installed and invoked as a .NET Tool for terminals, CI pipelines, scripts, and automation workflows.
- Provides knowledge lookup for controls, packages, design tokens, semantic parts, demos, and changelogs.
- Provides project environment checks, diagnostics, usage scanning, linting, and migration analysis.
- Supports setup, init, add, and upgrade workflows with explicit write boundaries.
- Provides stable JSON output, error codes, exit codes, and stdout/stderr behavior for agents and scripts.
- Uses GenericHost, dependency injection, and AtomUI.Modularity to organize application lifecycle, module dependencies, and command contributions.
- Follows an AOT-first and trimming-friendly design, avoiding assembly scanning on runtime hot paths.
The repository is being developed around the 1.0 release line. The current implementation includes the core application host, modular runtime, command pre-parsing, on-demand module activation, command dispatching, output abstractions, error-code infrastructure, and the first implemented commands.
After the package is published to NuGet, install it as a global .NET Tool:
dotnet tool install -g AtomUI.CliThen check the version and command help:
dotnet atomui --version
dotnet atomui help
dotnet atomui help infoFor local development, run the entry project directly:
dotnet run --project src/AtomUI.Cli/AtomUI.Cli.csproj -- helpThe public command surface is described in docs/commands.
| Group | Capabilities |
|---|---|
| Knowledge | Look up controls, control metadata, docs, demos, tokens, semantic parts, packages, and changelogs. |
| Project analysis | Inspect environments, diagnose projects, scan control usage, run lint checks, and generate migration analysis. |
| Setup | Initialize configuration, add packages or products, and upgrade the CLI or project dependencies. |
| Integration | Show help, print version information, and start the MCP server. |
Every command follows the shared error-code, exit-code, output, and JSON serialization rules documented in the error-code standard.
AtomUI.Cli is composed of a lightweight entry project and a hosted runtime:
src/AtomUI.Cli: .NET Tool entry project.src/AtomUI.Cli.Abstractions: command, output, diagnostic, result, and error contracts.src/AtomUI.Cli.Hosting: application host, command catalogs, parsers, dispatcher, output writers, and core module.src/AtomUI.Cli.Modularity: CLI-specific module and command contribution contracts.tests/AtomUI.Cli.Tests: core runtime behavior tests.
See the architecture design and module design for details.
The repository pins its .NET SDK through global.json. Common commands:
dotnet build AtomUICli.slnx
dotnet test AtomUICli.slnx
dotnet pack src/AtomUI.Cli/AtomUI.Cli.csproj --configuration ReleaseBefore submitting changes, run:
git diff --checkCopyright (c) 2018-2026 Qinware Technologies Co., Ltd. All rights reserved.
AtomUI.Cli is licensed under the GNU Lesser General Public License v3.0 only. See LICENSE for details.