# NeoUI -- CLI Tools & Build Commands ## Package Management ```bash # Install styled components (includes Primitives + all icon libraries) dotnet add package NeoUI.Blazor --version 3.6.3 # Headless primitives only (custom design systems) dotnet add package NeoUI.Blazor.Primitives --version 3.6.3 # Icon libraries (included transitively with NeoUI.Blazor) dotnet add package NeoUI.Icons.Lucide --version 3.0.0 dotnet add package NeoUI.Icons.Heroicons --version 3.0.0 dotnet add package NeoUI.Icons.Feather --version 3.0.0 # Project template dotnet new install NeoUI.Blazor.Templates ``` ## Project Template CLI ```bash # Create new NeoUI Blazor app dotnet new neoui -n MyApp # With specific interactivity mode dotnet new neoui -n MyApp -in Server # Blazor Server dotnet new neoui -n MyApp -in WebAssembly# Blazor WASM dotnet new neoui -n MyApp -in Auto # InteractiveAuto (default, two-project) # Empty layout (no demo pages) dotnet new neoui -n MyApp --empty # List all template options dotnet new neoui --help ``` ## Build & Run ```bash dotnet build # Builds project (also runs npm install + Tailwind CSS if configured) dotnet run# Starts dev server at https://localhost:5001 dotnet watch # Hot-reload dev mode dotnet publish # Publish for deployment ``` ## CSS Build (Tailwind CSS v4 -- optional) ```bash npm install # Install Tailwind and dependencies npm run build:css # One-time CSS compilation npm run watch:css # Watch mode for development ``` The NeoUI project template pre-configures the .csproj to auto-run the CSS build on `dotnet build`: ```xml ``` ## Testing ```bash dotnet test # Run all tests dotnet test --filter "Category=Unit" ``` ## NuGet Pack & Publish (library authors) ```bash dotnet pack -c Release dotnet nuget push bin/Release/*.nupkg --api-key $NUGET_API_KEY --source https://api.nuget.org/v3/index.json ``` ## Useful dotnet CLI Tips ```bash dotnet list package --outdated # Check for newer package versions dotnet restore # Restore NuGet packages dotnet clean # Clean build outputs dotnet format# Format code (requires dotnet-format tool) ```