-
Run npm install -g @angular/cli to install or update to the latest Angular CLI globally.
- In the update scenario, run
ng update @angular/core @angular/cli as well
-
Verify installation by running ng version and ensure the Angular CLI version is the latest available version.
-
Create a new project by running ng new <project-name> --zoneless and follow the prompts to set up the project with the desired configuration.
- Use
CSS for stylesheet format
- Do NOT enable server side rendering
- The
--zoneless flag configures the project without zone.js, enabling zoneless change detection
- If adding zoneless to an existing project instead, update
app.config.ts to use provideZonelessChangeDetection() and remove zone.js from the polyfills array in angular.json
-
Use the latest stable version of tailwindcss as a devDependency. Refer to the documentation at https://tailwindcss.com/docs.
-
To install run ng add tailwindcss and confirm any prompts. This is equivalent to doing the following (just here for your reference in case something goes wrong or needs to be fixed):
npm install -D tailwindcss @tailwindcss/postcss postcss
- Configure
.postcssrc.json with the following content:
{
"plugins": {
"@tailwindcss/postcss": {}
}
}
src/styles.css should contain @import "tailwindcss";
-
Set up Netlify deployment using the jeff-skill-angular-netlify skill.
-
Create .nvmrc at the repo root (not inside the Angular project directory if it is a subproject) with the current Node LTS major version (visit https://nodejs.org/en and look for the "LTS" badge):
<NODE_LTS>
-
Add an engines field to package.json and create .npmrc to enforce the Node version:
In package.json, add (replacing <NODE_LTS> with the current LTS major version):
"engines": {
"node": ">= <NODE_LTS>.0.0"
}
Create .npmrc in the same directory as package.json (npm does not traverse up beyond the package root):
engine-strict=true
With engine-strict=true, any npm command on the wrong Node version will error immediately instead of silently corrupting the lock file.
-
Configure the session-start hook using the session-start-hook skill so that Claude Code web sessions automatically install the current Node LTS version at container startup.