.github/skills/igniteui-angular-build/SKILL.md
Quick-reference for building the core Ignite UI for Angular library and related packages. Covers the full production build (`build:lib`), individual partial builds (styles, extras, migrations, schematics, i18n, elements), and the combined build-all command. Use when an agent needs to compile the library, produce a dist output, or verify that code changes compile cleanly. Do NOT use for running tests — use igniteui-angular-testing instead. Do NOT use for linting — use igniteui-angular-linting instead.
npx skillsauth add igniteui/igniteui-angular igniteui-angular-buildInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Quick-reference card for the core library and related build commands in this repository.
npm install at the repo root before any build command.npm run build
Runs all sub-builds in sequence (library, elements, schematics, migrations, i18n, extras). Use this when you need a complete publishable output or before running the full CI pipeline locally. Check package.json for the exact sequence.
npm run build:lib
This is the primary build command. It does two things:
ng build igniteui-angular --configuration production — compiles the library with ng-packagr using Angular Package Format. Uses ng-package.prod.json (production config).npm run build:styles — runs node scripts/build-styles.mjs to compile and bundle Sass themes into distributable CSS.Output: dist/igniteui-angular/
build:lib| Command | What it does |
|---|---|
| npm run build:styles | Compiles Sass themes only (scripts/build-styles.mjs). Already included in build:lib. |
| npm run build:extras | Builds the extras package and then runs extras migrations. |
| npm run build:schematics | Copies and compiles ng add schematics (projects/igniteui-angular/schematics/). |
| npm run build:migrations | Copies and compiles ng update migration schematics (projects/igniteui-angular/migrations/). |
| npm run build:i18n | Compiles the i18n package (projects/igniteui-angular-i18n/). |
| npm run build:elements | Builds the Angular Elements package + bundling + style copy. |
| npm run build:docs | Generates TypeDoc + SassDoc documentation. |
build:schematics — after editing files under projects/igniteui-angular/schematics/.build:migrations — after editing files under projects/igniteui-angular/migrations/. Required before running test:schematics.build:extras — after editing the extras package or when validating the full root build flow.build:i18n — after changing i18n resource strings.build:elements — when working on the Angular Elements wrapper.| Path | Purpose |
|---|---|
| projects/igniteui-angular/ | Library source root |
| projects/igniteui-angular/ng-package.prod.json | Production ng-packagr config |
| projects/igniteui-angular/ng-package.json | Dev ng-packagr config (preserves dest) |
| dist/igniteui-angular/ | Build output |
| scripts/build-styles.mjs | Sass theme compilation script |
igniteui-angular-testing — Running testsigniteui-angular-linting — Linting code and stylestools
Generates and customizes Ignite UI for Angular themes including color palettes, typography, elevations, and component-level styles using the Sass theming system and the igniteui-theming MCP server. Use when users ask to theme, restyle, or style Ignite UI components, change colors or the color palette, switch between light and dark themes, create or apply a global theme, customize typography or elevation shadows, adjust spacing, sizing, or roundness, or configure per-component design tokens. Do NOT use for component behavior, APIs, or data binding — use igniteui-angular-components or igniteui-angular-grids instead.
tools
Provides guidance on all Ignite UI for Angular data grid types (Flat Grid, Tree Grid, Hierarchical Grid, Grid Lite, Pivot Grid) including setup, column configuration, sorting, filtering, selection, editing, grouping, summaries, toolbar, export, paging, remote data, and state persistence. Use when users ask about grids, tables, data grids, tabular data display, cell editing, batch editing, row selection, column pinning, column hiding, grouping rows, pivot tables, tree-structured data, hierarchical data, master-detail views, or exporting grid data. Do NOT use for non-grid UI components (forms, dialogs, navigation, charts) — use igniteui-angular-components instead. Do NOT use for theming or styling — use igniteui-angular-theming instead.
tools
Covers all non-grid Ignite UI for Angular UI components: application scaffolding and setup, form controls (inputs, combos, selects, date/time pickers, calendar, checkbox, radio, switch, slider), layout containers (tabs, stepper, accordion, splitter, navigation drawer), data-display components (list, tree, card, chips, carousel, paginator, progress indicators, chat), feedback overlays (dialog, snackbar, toast, banner), directives (button, icon button, button group, ripple, tooltip, drag-and-drop), Dock Manager, Layout Manager, Tile Manager, and Charts. Use when users ask about any Ignite UI Angular component that is NOT a data grid — such as forms, dropdowns, pickers, dialogs, navigation, lists, trees, cards, charts, or initial project setup. Do NOT use for data grids, tables, or tabular data — use igniteui-angular-grids instead. Do NOT use for theming or styling — use igniteui-angular-theming instead.
development
Quick-reference for running Ignite UI for Angular test suites. Covers the full test run (`test:lib`), grid-specific suites (grid, tree-grid, hierarchical-grid, pivot-grid), non-grid tests, watch mode, and auxiliary test suites (schematics, styles, i18n). Use when an agent needs to run, select, or understand the test infrastructure. Do NOT use for building — use igniteui-angular-build instead. Do NOT use for linting — use igniteui-angular-linting instead.