Setup Angular Web
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Scaffold a new Angular web application with ng new, then layer on this catalog’s standard toolchain: Vitest
coverage gates, ESLint (angular-eslint), Prettier, Stylelint for SCSS, Playwright e2e, Compodoc API docs, optional
Storybook, and Sonar wiring.
Purpose
iru-setup-angular-web bootstraps an Angular workspace with
npx -p @angular/cli@latest ng new <name> --standalone --style=scss --routing --skip-git --package-manager=npm
--defaults --ssr=false (Angular 22’s own defaults already give a zoneless, Vitest-backed, standalone-component
workspace) and then fills in everything that scaffold does not include out of the box: confirms angular.json’s
`test target uses @angular/build:unit-test with runner: vitest, adds coverageReporters and an 80%-lines
coverageThresholds gate, and installs a matching-major @vitest/coverage-v8 (the coverage collector ng new
does not bundle); ng add angular-eslint plus eslint-config-prettier; a .prettierignore next to the CLI’s own
.prettierrc; Stylelint 17 for SCSS (stylelint-config-standard-scss, with no-empty-source disabled to tolerate
the CLI’s 0-byte root stylesheet); Playwright via ng add playwright-ng-schematics (fixing the schematic’s own
hardcoded /MyApp/ title assertion); the catalog’s UI-contract test scaffolding (see
Building user interfaces) — a Playwright component-testing project using the
built-in mount() fixture against a component gallery served by a gallery configuration in angular.json,
@axe-core/playwright, a shared e2e/support/ui-screenshots.ts helper, a sample screen spec capturing
.ui-screenshots/ across left-to-right/right-to-left × light/dark with an accessibility check, and a .ui-quality.yml
at the repository root; Compodoc; optional Storybook; and, when sonar is not none,
sonar-project.properties pointing at the real coverage/<project>/lcov.info path. It is the Angular leaf of the
TypeScript/Node bootstrap pipeline, parallel to iru-setup-react-web, iru-setup-react-native-app, and
iru-setup-ionic-app.
Plugin
Shipped by the iru-typescript plugin of the ai-catalog marketplace (install with /plugin install iru-typescript@ai-catalog; see Plugins).
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
Pre-resolved parameters passed by an orchestrating skill (e.g. Setup TypeScript Repository)
as newline-separated |
None — if absent or unrecognized, every field is asked interactively. |
|
Yes (unless supplied via |
The Angular workspace/project name, e.g. |
None |
|
No |
Where to scaffold; |
|
|
Yes (unless supplied via |
Resolved via |
None — user must choose |
|
Yes (unless supplied via |
Not written into any Angular-generated file directly; recorded for `iru-check-license’s header generation once a license is chosen. |
None |
|
Yes (unless supplied via |
Whether the repository is open source; drives the |
None |
|
No |
|
|
|
No |
Whether to also scaffold Storybook ( |
|
|
No |
|
Resolved only when the |
|
No |
|
|
|
No |
|
|
|
No |
|
|
|
No |
|
|
Outputs
-
A scaffolded Angular workspace (
angular.json,package.json,src/) at the resolveddirectory. -
angular.json’s `testtarget configured for Vitest with coverage reporters and an 80%-lines threshold, plus@vitest/coverage-v8installed at the matchingvitestmajor. -
ESLint (
eslint.config.jsviaangular-eslint, extended witheslint-config-prettier), a.prettierignore, Stylelint (.stylelintrc.json) for SCSS, and reformatted CLI-generated files (npx prettier --write .). -
Playwright e2e (
playwright.config.ts,e2e/example.spec.tswith its title assertion corrected to the real project name). -
UI contract scaffolding (Step 10b):
.ui-quality.ymlat the repository root,e2e/support/ui-screenshots.ts(from the skill’sreference/ui-screenshots.ts), the gallery underplaywright/gallery/withtsconfig.gallery.jsonandgalleryconfigurations inangular.json, a samplesrc/app/app.story.ts, and component/screen specs undere2e/that write.ui-screenshots/captures and run axe at the configured level;@axe-core/playwrightand@types/nodeinstalled. -
Compodoc wired via a
docsnpm script producingdocs/api/. -
Optionally, a Storybook scaffold (
storybook: yes). -
sonar-project.propertiesat the repository root, only whensonariscloudorself-hosted. -
A report that opens by repeating the announced mode (from scratch or updating an existing setup), lists per owned artifact the action taken (created / updated / replaced / kept as is / removed) and each mismatch a kept artifact leaves with this run’s choices, the
visibilityused for Sonar and where it came from, what ran or was skipped by design, plus explicit warnings to review generated files, run Prettier if not already run, and install Playwright browser binaries beforeng e2e.
Execution flow
Dependencies
Invokes
None — iru-setup-angular-web is a leaf skill; it does not call any other skill in this catalog. It mentions
iru-check-license in prose (to generate a LICENSE file and backfill headers once a license is chosen) without
invoking it.
Invoked by
-
Setup TypeScript Repository — Step 5, flavor angular scaffold, via the
iru-isolated-skill-executoragent.
Source
SKILL.md on GitHub — the file this page was generated from.