angular-app-setup
Creates an Angular 20 app directly in the current folder with strict defaults, deterministic non-interactive flags, and preflight safety checks. Use when the user asks to create, scaffold, or initialize Angular 20 in place and wants build/test verification.
Best use case
angular-app-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Creates an Angular 20 app directly in the current folder with strict defaults, deterministic non-interactive flags, and preflight safety checks. Use when the user asks to create, scaffold, or initialize Angular 20 in place and wants build/test verification.
Teams using angular-app-setup should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/angular-app-setup/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How angular-app-setup Compares
| Feature / Agent | angular-app-setup | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Creates an Angular 20 app directly in the current folder with strict defaults, deterministic non-interactive flags, and preflight safety checks. Use when the user asks to create, scaffold, or initialize Angular 20 in place and wants build/test verification.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Angular 20 App Setup Create a production-ready Angular 20 app directly in the current directory with strict defaults and explicit safety checks. ## Purpose Create a production-ready Angular 20 app directly in the current directory using strict defaults, while preventing unsafe scaffolding in the wrong folder. ## Use this skill when - The user asks to create, initialize, or scaffold an Angular app. - The user wants Angular 20 with strict TypeScript and minimal defaults. - The user wants to scaffold in the current folder (no nested app directory). ## Do not use this skill when - The user asks to add Angular into an existing non-empty project that should not be overwritten. - The user asks for a different Angular major version. - The user asks for a monorepo workspace strategy (Nx, multi-project workspace, custom builders). ## Required inputs Ask the user for the project name when it is not explicitly provided. Do not invent or infer a project name. If routing or standalone preference is not provided, keep CLI defaults and run non-interactively. ## Preflight safety checks (required) Before running `ng new`: 1. Confirm current directory is the intended app root. 2. List existing top-level files and classify folder safety using this allowlist: - Allowed for in-place scaffold without extra confirmation when these are the only entries: `.git`, `.gitignore`, `.gitattributes`, `README.md`, `LICENSE`, `LICENSE.md`. - Treat everything else as non-empty project state and require explicit confirmation before continuing. 3. Always treat existing Angular/workspace markers as high-risk and require explicit confirmation: - `angular.json`, `workspace.json`, `package.json`, `src/`, `projects/`, `tsconfig.json`. 4. If target major version is not 20, stop and ask whether to continue with Angular 20 or switch to a version-appropriate flow. 5. If `npx` is unavailable, stop and ask to install Node.js/npm before proceeding. ## Root directory rule Scaffold in the intended app root and keep all commands in that root. Use `--directory .` so Angular CLI writes into the current folder instead of creating a nested subfolder. If the current directory is not the intended app root, stop and ask the user to confirm or change directories before running scaffold commands. ## Scaffold command (baseline) Use this command from the target root: ```bash npx -y @angular/cli@20 new <project-name> --directory . --style=css --strict --skip-git --ai-config=none --defaults ``` Defaults: - Package manager: `npm` - Routing: Angular CLI default unless user specifies `--routing` or `--no-routing`. - Standalone: Angular CLI default unless user specifies `--standalone` or `--no-standalone`. - AI configuration: `none` unless user explicitly requests a supported value. ## Optional user-driven variants Apply only when user explicitly asks: - Change style extension (`--style=scss`, etc.). - Force routing on/off (`--routing` or `--no-routing`). - Change package manager (`--package-manager pnpm|yarn|bun|npm`). - Set `--ai-config` to a supported value from `reference.md`. - Override standalone mode (`--standalone` or `--no-standalone`). If the user requests an unsupported `--ai-config`, stop and ask for a supported value instead of guessing. ## Verification Run from app root: ```bash npm install ``` ```bash npm run build ``` ```bash npm run test -- --watch=false ``` If tests are not configured yet, report that clearly and provide the next fix step instead of claiming success. If build or tests fail, report the failing command and first actionable fix. ## Output contract After execution, report: 1. Exact command run. 2. Any prompts/flags chosen from defaults. 3. Build result. 4. Test result. 5. Files of interest created (for example: `angular.json`, `package.json`, `src/main.ts`). 6. Any follow-up action needed. 7. Whether the folder required explicit overwrite confirmation and what was confirmed. ## Acceptance checklist - Correctly triggers for Angular 20 setup requests. - Does not assume a project name. - Prevents unsafe generation in unintended folders. - Uses in-place scaffolding (`--directory .`). - Verifies with build and test commands. - Reports outcomes with concrete command/results summary. - Handles non-empty folder, unsupported flags, and missing tool prerequisites explicitly. ## Assistant Portability Rules - Use generic tool-language such as "assistant" and "workspace root"; do not assume a specific editor or agent runtime. - Prefer deterministic non-interactive commands and explicit flags over conversational defaults. - If blocked, report one concrete blocker and the exact next command or input required. ## Reference [Angular 20 documentation](reference.md) ## Tips - Prefer `npx -y @angular/cli@20` over global `ng` to avoid version drift. - Always confirm folder intent when any non-scaffold files are present. - Keep `--directory .` in every in-place scaffold command to avoid accidental nested folders. - Do not infer project names from directory names; ask explicitly when missing. - Keep `--ai-config=none` unless the user asks for a supported alternative. - Use `npm run build` before tests to catch configuration issues faster. - When `npm run test -- --watch=false` hangs in CI-like shells, add `--browsers=ChromeHeadless` only if the project already supports it.
Related Skills
angular-best-practices
Angular performance optimization and best practices guide. Use when writing, reviewing, or refactoring Angular code for optimal performance, bundle size, and rendering efficiency.
ai-sdk-setup
Install the Vercel AI SDK with AI Elements components. Build a streaming chat interface with the useChat hook.
agent-angular-architect
Expert Angular architect mastering Angular 15+ with enterprise patterns. Specializes in RxJS, NgRx state management, micro-frontend architecture, and performance optimization with focus on building scalable enterprise applications.
setup-design-system
Initialize the design system or create new UI components with accessibility, Tailwind/shadcn integration, and documentation. Use when setting up the initial design system, adding component categories, or creating complex UI components that need design review.
asyncredux-setup
Initialize, setup and configure AsyncRedux in a Flutter app. Use it whenever starting a new AsyncRedux project, or when the user requests.
worktree-setup
Automatically invoked after `git worktree add` to create data/shared symlink and data/local directory. Required before starting work in any new worktree.
setup-asdlc
Initialize a repository for ASDLC adoption with AGENTS.md and directory structure
sentry-setup-ai-monitoring
Setup Sentry AI Agent Monitoring in any project. Use this when asked to add AI monitoring, track LLM calls, monitor AI agents, or instrument OpenAI/Anthropic/Vercel AI/LangChain/Google GenAI. Automatically detects installed AI SDKs and configures the appropriate Sentry integration.
agent-setup
Configure AI coding agents like Cursor, GitHub Copilot, or Claude Code with project-specific patterns, coding guidelines, and MCP servers for consistent AI-assisted development.
agent-canvas-setup
Dependency checker and installer for agent-canvas, agent-eyes, and canvas-edit skills. Use BEFORE running any canvas skill for the first time, or when canvas skills fail with import/browser errors. Triggers on "setup agent canvas", "install canvas dependencies", "canvas not working", "playwright not found", or any setup/installation request for canvas skills.
academic-course-setup-automator
When the user needs to set up multiple academic courses in a learning management system (Canvas/LMS) from structured data sources. This skill automates the entire workflow extracting course schedules from emails/attachments, matching instructors from CSV files, creating courses, enrolling teachers, publishing announcements with class details, uploading syllabi, enabling resource sharing for instructors teaching multiple courses, and publishing all courses. Triggers include course schedule setup, Canvas/LMS administration, academic term preparation, instructor assignment, syllabus distribution, and multi-course management.
setup-workflow
Initial setup workflow for claude-pilot plugin - directory creation, statusline configuration, documentation sync, GitHub star request