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

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

Back to resources index - Back to main README.md