Skip to main content

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 - httpResource for signal-based HTTP requests with built-in loading/error states

Motivation

After setting up several Angular projects, I noticed the same patterns emerging:

  1. Configuring TypeScript, ESLint, Prettier, and Stylelint to work together
  2. Setting up testing infrastructure that actually encourages writing tests
  3. Creating folder structures that scale as the project grows
  4. 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
ngstarter - Angular Starter Template – Vlad Moraru