ngstarter - Angular Starter Template
A code-standards-first Angular 21 starter template. ESLint, Prettier, Stylelint, commit conventions, and pre-commit hooks - pre-configured. Firebase auth, guards, and interceptors included.
AngularTypeScriptStarter TemplateOpen SourceDeveloper ToolsFirebase
Overview
ngstarter is a code-standards-first Angular 21 starter template designed to reduce initial setup time.
Key Features
- Strict TypeScript Configuration - Strict type safety enabled
- Modern Angular 21 - Standalone components, signals, and lazy loading
- Firebase Authentication - Google Sign-In with guards and interceptors pre-configured
- Testing Setup - Jest configured and ready for unit tests
- Code Quality Tools - ESLint, Prettier, Stylelint, Husky, lint-staged, and commitlint
- Commit Conventions - Enforced conventional commits via commitlint
- Reactive Data Fetching -
httpResourcefor signal-based HTTP requests with built-in loading/error states
Motivation
After setting up several Angular projects, I noticed the same patterns emerging:
- Configuring TypeScript, ESLint, Prettier, and Stylelint to work together
- Setting up testing infrastructure that actually encourages writing tests
- Creating folder structures that scale as the project grows
- Wiring up authentication with proper guards and interceptors
ngstarter tries to address these by providing a starting point that developers can clone and build on.
Technical Highlights
Architecture
The template follows a straightforward architecture with separation of concerns:
- Standalone components - Modern Angular patterns throughout
- Shared module - Reusable UI components and layout components
- Core services - Authentication, guards, and HTTP interceptors
- Firebase integration - Environment-based configuration with secure setup
Developer Experience
- Strict linting rules (ESLint + Stylelint) that catch bugs early
- Pre-commit hooks via Husky ensuring code quality
- Pre-configured VS Code settings and recommended extensions
- pnpm for fast, disk-efficient package management
Quick Start
git clone https://github.com/vldmoraru/ngstarter.git my-app
cd my-app
pnpm install
cp .env.example .env
# Add your Firebase config to .env
pnpm start