This repository is an Angular 21 HoReCa marketing site template that consumes base conventions,
AI guidance, and reusable defaults from the npm package @wawjs/ngx-default.
Treat this project as a prerender-first business website. The app owns its pages, routes, layouts,
business content, company profile, static assets, and bootstrap wiring. Reusable default feature
APIs must be imported from @wawjs/ngx-default.
- Stack: Angular 21, TypeScript 5, Angular SSR/prerender, Tailwind CSS, SCSS
- Package manager:
npm - Main goal: fast, clean, SEO-friendly HoReCa landing pages
- Primary output: prerendered static site from
dist/app/browser - Local app source:
src/ - App-owned data bridge and company profile:
src/app/feature/bootstrap/andsrc/app/feature/company/ - Reusable package:
@wawjs/ngx-default - Package guidance:
node_modules/@wawjs/ngx-default/ai/
After reading this file, load the package guidance from:
node_modules/@wawjs/ngx-default/ai/
The package is scoped. Use node_modules/@wawjs/ngx-default, not
node_modules/wawjs/ngx-default.
Start with node_modules/@wawjs/ngx-default/ai/onboarding.md, then open only the guides needed for
the task:
node_modules/@wawjs/ngx-default/ai/architecture.mdnode_modules/@wawjs/ngx-default/ai/code-style.mdnode_modules/@wawjs/ngx-default/ai/content-pages.mdnode_modules/@wawjs/ngx-default/ai/seo.mdnode_modules/@wawjs/ngx-default/ai/media.mdnode_modules/@wawjs/ngx-default/ai/tooling.mdnode_modules/@wawjs/ngx-default/ai/task-execution.mdnode_modules/@wawjs/ngx-default/ai/decisions/index.md
Read the decisions index when a task changes a long-lived convention, resolves an ambiguity likely to recur, or affects package-facing behavior.
Installed @wawjs/* packages may provide a package-level AI.md file at:
node_modules/@wawjs/<package>/AI.md
Before adding or changing code that uses one of these companion packages, read that package's
AI.md first.
Current companion package guides include:
node_modules/@wawjs/ngx-core/AI.mdnode_modules/@wawjs/ngx-translate/AI.mdnode_modules/@wawjs/ngx-ui/AI.md
- Treat this repo as a marketing website first, not as a complex application shell.
- Prefer simple, static, content-first pages over heavy abstractions.
- Preserve prerender compatibility by default.
- Keep changes small, clear, and easy to review.
- Prefer Tailwind for layout, spacing, typography, sizing, responsive behavior, and utility styling.
- Use local page content/config over new services unless reuse is real and repeated.
- Do not introduce CMS, API fetching, dashboards, or heavy state management unless explicitly requested.
Use these as defaults unless the local code or the task gives a concrete reason to do otherwise:
- Angular 21 modern patterns only.
- Standalone components are the default. Do not add NgModules for new work.
- Use
changeDetection: ChangeDetectionStrategy.OnPushon new or touched components. - Use signals for local UI state and derived state.
- Prefer native control flow (
@if,@for,@switch) in templates. - Use Angular bindings instead of manual DOM work.
- Use
NgOptimizedImagefor static images when feasible. - Keep browser-only code guarded so prerender remains safe.
This repo is a template. When a user asks to "change SEO", "rebrand the site", "prepare the template", or similar, do not stop at route meta only.
At minimum, inspect these surfaces and update the ones that still contain template values:
src/data/company/company.jsonfor shared company name, title, description, SEO defaults, and imagesrc/app/app.config.tsfor global metadata defaults that consume company datasrc/app/app.routes.tsfor per-pagedata.metaoverridessrc/index.htmlfor seed title/meta/canonical/social tags that should match the real projectsrc/assets/for replaceable brand assets such aslogo.pngandfavicon.pngCNAMEfor the production domainsrc/environments/environment.prod.tsforcompanyIdand any public runtime defaults that still point to template/demo values
Also check visible content so headings, hero copy, contacts, and CTA text stay aligned with the SEO metadata.