The frontend project is the Angular frontend for Grimmory. It owns the browser application, component styling, client-side routing, stateful UI interactions, and the compiled bundle that is packaged into the current production image.
- Angular 21
- TypeScript
- PrimeNG + PrimeIcons
- Transloco for i18n
- Vitest for unit tests
- Angular ESLint
Use Justfile when possible. It is the primary frontend command surface for both humans and agents.
just # List frontend recipes
just install # Install or update dependencies for local development
just install-ci # Install dependencies exactly as CI does
just dev # Start the Angular dev server
just test # Run the frontend test suite
just check # Run the standard local verification pass
just lint # Run the frontend linter
just build # Build the production bundleThe repository root exposes the same recipes through the ui namespace:
just ui install
just ui install-ci
just ui dev
just ui test
just ui check
just ui lintcd frontend
just install
just devThe development server runs on port 4200 by default.
just build
just check
just test
just coverage
just lintThe production output is written to dist/grimmory/ and is consumed by the backend packaging flow when building the all-in-one production image.
Use just ci-check when you want the stricter CI-style flow from a clean install, including the severity-gated audit step.
- This project uses standalone Angular components.
- Dependency injection should use
inject(). - Styling uses SCSS.
- UI strings live in
src/i18n/. - The current production bundle is still packaged into the backend jar during the root Docker build.
Frontend-specific contributor rules and conventions live in CONTRIBUTING.md.