.github/skills/igniteui-angular-testing/SKILL.md
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.
npx skillsauth add igniteui/igniteui-angular igniteui-angular-testingInstall 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 test commands for the main igniteui-angular library plus schematics, styles, and i18n suites.
npm install at the repo root.npm run build:schematics and npm run build:migrations when you specifically want to validate the compiled schematics or migrations output.npm run build:lib first, or at minimum npm run build:styles, because test:lib:perf loads dist/igniteui-angular/styles/igniteui-angular.css.projects/igniteui-angular/karma*.conf.js.coverage/.| Scenario | Command |
|---|---|
| All library tests (slow — runs everything) | npm run test:lib |
| Flat grid tests only | npm run test:lib:grid |
| Tree grid tests only | npm run test:lib:tgrid |
| Hierarchical grid tests only | npm run test:lib:hgrid |
| Pivot grid tests only | npm run test:lib:pgrid |
| All non-grid tests (components, directives, services) | npm run test:lib:others |
| Watch mode (re-runs on file changes, for dev loop) | npm run test:lib:watch |
| Performance tests | npm run test:lib:perf |
| Schematics + migrations | npm run test:schematics |
| Sass/style logic | npm run test:styles |
| i18n resource validation | npm run test:i18n |
test:lib:grid, test:lib:tgrid, test:lib:hgrid, or test:lib:pgrid).test:lib:others.test:lib:watch.test:schematics. Build first only if you also need to validate compiled output.build:lib or at least build:styles), then use test:lib:perf.test:styles.test:i18n.test:lib (full suite).| Config file | Used by |
|---|---|
| karma.conf.js | test:lib (all tests) |
| karma.grid.conf.js | test:lib:grid |
| karma.tree-grid.conf.js | test:lib:tgrid |
| karma.hierarchical-grid.conf.js | test:lib:hgrid |
| karma.pivot-grid.conf.js | test:lib:pgrid |
| karma.non-grid.conf.js | test:lib:others |
| karma.watch.conf.js | test:lib:watch |
| karma.test-perf.conf.js | test:lib:perf (performance) |
All configs are in projects/igniteui-angular/.
| Path | Purpose |
|---|---|
| projects/igniteui-angular/test-utils/ | Shared test helpers and utilities |
| projects/igniteui-angular/src/test.ts | Karma test entry point |
| coverage/ | Code coverage output |
igniteui-angular-build — Building the libraryigniteui-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 linting the core Ignite UI for Angular library. Covers the combined lint command (`lint:lib`), ESLint for TypeScript and templates, and Stylelint for Sass/SCSS styles. Use when an agent needs to run the main linters, fix lint errors, or understand the primary lint configuration. Do NOT use for building — use igniteui-angular-build instead. Do NOT use for running tests — use igniteui-angular-testing instead.