Angular 21+ static design catalog for reusable project landing page directions. The deployed site is meant for two audiences:
- people open the visual design URLs to compare styles
- AI agents open the markdown brief URLs under
/assets/design/*.mdto understand how to adapt a selected design in another Angular project
This repository is not a CMS, dashboard, or client-specific website. It is a prerendered catalog of reusable visual directions.
/cafe-bakery- coffee shops, bakeries, pastry venues, breakfast cafes/cozy-family- family restaurants, casual dining, guest houses/fine-dining- chef-led restaurants and tasting menu venues/modern-minimal- contemporary hospitality with restrained UI/classic-elegant- premium traditional restaurants and private events/traditional-local- national cuisine, ethnic cafes, family inns/event-banquet- wedding venues, banquet halls, conference spaces/boutique-hotel- design hotels, guesthouses, city stays/resort-spa- wellness hotels, spa resorts, retreats/rustic-farmhouse- farm-to-table venues and countryside stays/luxury-dark- high-end lounges, private venues, luxury restaurants
The catalog has a public selector brief for AI agents that need to choose a design before implementing:
/assets/design/index.md
Every design also has a public markdown brief:
/assets/design/cafe-bakery.md
/assets/design/cozy-family.md
/assets/design/fine-dining.md
/assets/design/modern-minimal.md
/assets/design/classic-elegant.md
/assets/design/traditional-local.md
/assets/design/event-banquet.md
/assets/design/boutique-hotel.md
/assets/design/resort-spa.md
/assets/design/rustic-farmhouse.md
/assets/design/luxury-dark.md
The catalog landing page copies full URLs using the current browser origin, including the selector brief URL, so the same code works after deploying this project to another domain.
- Open the deployed catalog.
- Pick a visual direction by opening a design route.
- If the design is already known, copy the design-specific AI brief URL from the catalog card.
- If the AI should choose the design, give it
/assets/design/index.md. - Tell the agent to adapt the target Angular 21+ project using the selected design brief and the target project's own content.
The brief is guidance, not code to copy directly. The target project should keep its own routing, content model, assets, metadata, and business details.
Catalog metadata and design entries live in:
src/app/design-catalog.ts
Update this file when adding, renaming, or describing a design. Routes, navigation, footer links, metadata defaults, and landing cards should stay aligned with it.
When adding a design:
- Add a new entry to
designPages. - Add a lazy route in
src/app/app.routes.ts. - Create the page under
src/app/pages/<slug>/. - Create the AI brief at
src/assets/design/<slug>.md. - Update the selector brief at
src/assets/design/index.md. - Build and confirm the route is prerendered and markdown assets are copied.
- Angular 21
- TypeScript 5
- Angular SSR/prerender
- Tailwind CSS v4
- SCSS
- Zoneless Angular
@wawjs/ngx-coremetadata guard
The production build outputs:
dist/app/browser
dist/app/server
Static hosting should publish dist/app/browser.
- Use standalone components.
- Do not add NgModules.
- Use
ChangeDetectionStrategy.OnPush. - Use signals for local UI state.
- Use native control flow:
@if,@for,@switch. - Prefer Tailwind for layout, spacing, typography, sizing, responsive behavior, and common styling.
- Keep browser-only code guarded or event-only so prerender remains safe.
- Use
NgOptimizedImagefor static images when feasible.
Install dependencies:
npm installStart local development:
npm startBuild production output:
npm run buildRun the optional SSR server after building:
npm run serve:ssr:appGitHub Pages deployment is handled by:
.github/workflows/deploy.yml
The custom domain is configured in:
CNAME
If this catalog is copied to another repository or deployed to another domain, update:
CNAMEsrc/app/design-catalog.tscatalogMeta.productionOrigin- canonical and social URLs in
src/index.html - logo and favicon assets if the catalog brand changes
The copied AI brief URLs use the current browser origin at runtime, so no code change is required for that part.
src/
app/
design-catalog.ts
app.config.ts
app.routes.ts
app.routes.server.ts
layouts/
pages/
assets/
design/
index.md
*.md
favicon.png
logo.png
styles/
styles.scss
Use Tailwind utilities for most layout and UI work. Use component SCSS for design-specific art direction, complex selectors, and local visual systems.
Global tokens live in:
src/styles/_theme.scss
Global styles enter through:
src/styles.scss
The catalog is prerender-first. Keep every design route crawlable and give every route a specific title and description.
Global defaults are configured in:
src/app/app.config.ts
Seed metadata is configured in:
src/index.html
Route canonical URLs are handled by:
src/app/utils/route-seo.guard.ts
MIT