Loading...
Loading...
Manages spartan/ui, the Angular UI library - adding, composing, fixing, debugging, and styling UI with the Brain (headless primitives) and Helm (styled) layers. Provides project context, component APIs, and usage examples. Applies when working with spartan/ui, @spartan-ng/brain, @spartan-ng/helm, the @spartan-ng/cli generators, or any Angular project with a components.json file. Also triggers for "spartan init", "add a spartan component", or "set up spartan/ui".
npx skill4agent add spartan-ng/spartan spartan@spartan-ng/brain@spartan-ng/helmnx.jsonnpx nx g @spartan-ng/cli:<generator>pnpm nx g ...angular.jsonnx.jsonng g @spartan-ng/cli:<generator>npx nx g @spartan-ng/cli:info --json # Nx
ng g @spartan-ng/cli:info --json # Angular CLIworkspaceTypenxangular-cliconfig.componentsPathlibs/uiconfig.importAlias@spartan-ng/helmconfig.generateAslibraryentrypointversions@spartan-ng/brain@spartan-ng/cliiconLibrary@ng-iconstailwindCssFileinstalledComponentsavailableComponentscomponents.json@spartan-ng/cli:initcomponents.jsonuicli.mdinstalledComponentsavailableComponentsspartan_components_listspartan_components_gethttps://www.spartan.ng/components/<name>mcp.mdvariantsizebg-primary text-primary-foregroundbg-blue-500rules/styling.mdrules/styling.mdhlm()gap-*space-*size-*rules/forms.mdhlmFieldhlmFieldSethlmFieldLegend<fieldset><legend>hlm-toggle-grouprules/composition.mdhlm-tabs-listAlertEmptySkeletonBadgeSeparatorSpinnerrules/icons.md<ng-icon name="lucide...">provideIconssizerules/brain-vs-helm.mdcli.mdinituiui-themehealthcheckinfomigrate-*registry.mdcomponents.jsoncustomization.mdhlm-tailwind-preset.cssui-thememcp.md@spartan-ng/mcp<!-- Buttons: use variant/size inputs, not custom classes -->
<button hlmBtn variant="destructive" size="lg">Delete</button>
<!-- Icon in a button: ng-icon -->
<button hlmBtn size="icon" variant="ghost">
<ng-icon name="lucideTrash" />
</button>
<!-- Loading state: compose a spinner, there is no isLoading input -->
<button hlmBtn [disabled]="loading()">
@if (loading()) {
<hlm-spinner />
} Save
</button>
<!-- Layout: gap, not space-* ; size-* when width == height -->
<div class="flex items-center gap-2">
<span hlmBadge variant="secondary">beta</span>
</div>| Need | Component(s) |
|---|---|
| Action / button | |
| Text/number input | |
| Choice input | |
| Toggle 2-7 options | |
| Form layout/validation | |
| Data display | |
| Navigation | |
| Overlays | |
| Menus | |
| Feedback | |
| Layout/containers | |
| Empty states | |
| Dates | |
| Icons | |
| Typography | |
@spartan-ng/cli:info --json:init:ui:uicomponents.jsoninstalledComponentshttps://www.spartan.ng/components/<name>mcp.mdnpx nx g @spartan-ng/cli:ui --name=<component>ng g @spartan-ng/cli:ui --name=<component>--name*ImportsHlmDialogImportsimports<ng-icon>provideIcons(...)rules/icons.md@spartan-ng/cli:healthcheck# Initialize (creates components.json, wires Tailwind + preset)
npx nx g @spartan-ng/cli:init
ng g @spartan-ng/cli:init
# Project context as JSON
npx nx g @spartan-ng/cli:info --json
# Add components (interactive, or pass --name)
npx nx g @spartan-ng/cli:ui
npx nx g @spartan-ng/cli:ui --name=dialog
# Generate theme variables
npx nx g @spartan-ng/cli:ui-theme
# Scan + auto-fix deprecated APIs/imports after an upgrade
npx nx g @spartan-ng/cli:healthcheck --autoFix