Siget is a clean, minimal Angular 21 application starter template designed to give developers a solid, opinionated foundation without unnecessary complexity. Built with Angular’s modern standalone components paradigm, it ships with a pre-configured testing setup via Vitest, client-side routing through Angular Router, SCSS for styling, and a strict TypeScript configuration — everything you need to start building a production-ready Angular application from day one.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/kevinrodriguezmorales/siget/llms.txt
Use this file to discover all available pages before exploring further.
Angular 21 Standalone Components
Uses Angular’s modern standalone component model — no
NgModule boilerplate. Components declare their own imports directly, keeping code co-located and easy to navigate.Vitest for Unit Testing
Powered by Vitest
^4.0.8 via @angular/build:unit-test, offering a fast, Vite-native test runner with a Jest-compatible API and first-class TypeScript support.Angular Router
Includes
@angular/router ^21.2.0 pre-wired through provideRouter in the application config. The routes array is empty and ready for you to populate with your application’s navigation.SCSS Styling
Angular CLI is configured to generate all component styles in SCSS by default (
inlineStyleLanguage: scss). A global styles.scss entry point is included for project-wide styles.Strict TypeScript
The base
tsconfig.json enables strict, noImplicitOverride, noImplicitReturns, noFallthroughCasesInSwitch, strictTemplates, and strictInjectionParameters for maximum type safety.Prettier
Prettier
^3.8.1 is included as a dev dependency, keeping code formatting consistent across the project without any extra setup.Angular 21 Standalone Components
Angular’s standalone components model, stable since Angular 15 and the default since Angular 17, removes the need forNgModule declarations entirely. Each component is self-contained — it declares the other components, directives, and pipes it depends on in its own imports array. Siget embraces this model from the start: the root App component imports only what it needs (RouterOutlet) and is bootstrapped directly via bootstrapApplication.
This approach leads to smaller, more tree-shakeable bundles, simpler dependency graphs, and a more intuitive mental model for component ownership.
Key Dependencies
Siget is kept intentionally lean. The runtime dependencies are limited to the Angular platform itself and RxJS:| Package | Version | Role |
|---|---|---|
@angular/core | ^21.2.0 | Core Angular framework, signals API |
@angular/router | ^21.2.0 | Client-side routing |
@angular/common | ^21.2.0 | Common directives and pipes |
@angular/forms | ^21.2.0 | Template and reactive forms support |
@angular/platform-browser | ^21.2.0 | Browser platform bootstrap |
rxjs | ~7.8.0 | Reactive programming primitives |
vitest ^4.0.8 and jsdom ^28.0.0 power the test environment, prettier ^3.8.1 handles formatting, and typescript ~5.9.2 is the compiler.
Siget uses
"packageManager": "npm@10.9.0" in package.json. It is recommended to use npm 10.9.0 or later to ensure lockfile compatibility and consistent installs across environments.Signals
The rootApp component demonstrates Angular’s built-in reactivity primitive — signals. The component title is declared as protected readonly title = signal('siget'), showcasing the signal() API from @angular/core as the encouraged way to manage local reactive state in Angular 21, instead of relying solely on RxJS subjects.
What’s Next
With the concepts covered, jump straight into getting the project running locally.Quickstart
Clone the repo, install dependencies, and have a running Angular 21 dev server in under two minutes.