What is this?
July 31, 2026 · View on GitHub
This document describes the most useful development commands for this project.
The primary workflow is Docker-based and exposed through make targets.
If you are working inside a Dev Container, you can run the equivalent yarn
commands directly from the IDE terminal.
Table of Contents ᐞ
Recommended workflow ᐞ
For most users, these are the commands you will use most often:
make start
make bash
make lint
make fix
make stop
If you are using a Dev Container, open the project in the container and run the
same underlying tasks with yarn where appropriate.
Make commands ᐞ
Run make without arguments to see the current help output.
Container lifecycle ᐞ
make start # Start application in development mode
make start-immutable # Start development mode with `yarn install --immutable` in container entrypoint
make start-build # Start application in development mode and rebuild container
make start-production # Start application with the local production Angular configuration
make start-yarn # Run `yarn start` inside the running container
make start-yarn-prod # Run `yarn start-prod` inside the running container
make stop # Stop application containers
Shell access ᐞ
make bash # Open a bash shell inside the node container
make fish # Open a fish shell inside the node container
Linting and fixing ᐞ
make lint # Run TypeScript, SCSS, and Markdown linting
make lint-ts # Run Angular/TypeScript linting
make lint-scss # Run SCSS linting with stylelint
make lint-md # Run markdownlint for all tracked Markdown files
make fix # Run TypeScript, SCSS, and Markdown auto-fixes
make fix-ts # Run Angular/TypeScript lint fixes
make fix-scss # Run SCSS auto-fixes with stylelint
make fix-md # Run markdownlint auto fixes for tracked Markdown files
Translations ᐞ
make extract-translations # Extract translation keys from TS and HTML templates
make check-translations # Check for missing or out-of-sync translations
Maintenance utilities ᐞ
make update # Upgrade dependencies interactively with yarn
make generate-ssl-cert # Generate self-signed SSL certificates for local development
make check-action-updates # Check pinned GitHub Actions and available updates
make project-stats # Generate simple project statistics
make docker-kill-containers # Kill all running Docker containers on the host
make docker-remove-containers # Remove all Docker containers on the host
make docker-remove-images # Remove all Docker images on the host
Yarn version management ᐞ
The project pins Yarn in-repo for consistent development, CI, and Docker environments. Manage the pinned Yarn version with these commands:
make yarn-status # Show configured, active, and latest stable Yarn versions
make yarn-upgrade-check # Dry-run check for Yarn upgrade (no file changes)
make yarn-upgrade # Upgrade Yarn to latest stable version
make yarn-upgrade VERSION=4.17.0 # Upgrade Yarn to a specific version
make yarn-update VERSION=4.17.0 # Alternative upgrade approach (requires VERSION parameter)
make yarn-check-and-upgrade # Convenience workflow: check status, validate, then upgrade
make yarn upgrade VERSION=4.17.0 # Compatible alias for yarn-upgrade
For detailed documentation, see doc/YARN_UPDATE.md and doc/YARN_UPDATE_QUICK_REF.md.
Yarn commands ᐞ
The project defines scripts in package.json. These are
especially useful when you are already inside the container via make bash, or
when working in a Dev Container terminal.
This repository is pinned to Yarn 4. The project-managed release file is stored
under .yarn/releases/, so running yarn in the project root automatically
uses the pinned version.
Recommended verification after container startup:
yarn --version
yarn install --immutable
Commonly used scripts:
yarn install --immutable # Install dependencies exactly as declared in yarn.lock
yarn start # Start Angular development server with local SSL certificates
yarn start-prod # Start Angular using the local production configuration
yarn build # Create a development build
yarn build-prod # Create a production build
yarn test # Run unit tests
yarn lint:ts # Run Angular/TypeScript linting
yarn lint:scss # Run stylelint for SCSS files
yarn lint:md # Run markdownlint for all tracked Markdown files
yarn fix:ts # Auto-fix Angular/TypeScript lint issues
yarn fix:scss # Auto-fix SCSS lint issues
yarn fix:md # Auto-fix markdownlint issues in tracked Markdown files
yarn extract-translations # Extract translation keys
yarn check-translations # Validate translation files
yarn i18n:extract # Run Transloco key extraction
yarn i18n:find # Find translation key usage
yarn e2e # Run end-to-end tests
yarn up -i # Interactively update dependency versions (Yarn 4)
Examples ᐞ
Open a shell in the running container:
make bash
Run SCSS linting inside the container:
make bash
yarn lint:scss
Run the full lint suite from the host using the running container:
make lint
Check pinned GitHub Actions and available updates:
make check-action-updates
Print current GitHub Action pins as markdown:
make bash
bash scripts/check-action-updates.sh --current-pins-md
Rebuild and restart the development container:
make start-build
Start development mode with immutable dependency install:
make start-immutable
Check current Yarn version and status:
make yarn-status
Upgrade Yarn to the latest stable version:
make yarn-upgrade
Upgrade Yarn to a specific version with dry-run check first:
make yarn-upgrade-check # Validate without making changes
make yarn-upgrade VERSION=4.17.0 # Perform the upgrade
Run comprehensive Yarn validation and upgrade workflow:
make yarn-check-and-upgrade