Anarchitecture Bricks Docs

Repository documentation hub for packages, guides, and generated references.

Design/UI Systems Guide

Intent

This guide defines the cross-stack design and UI system model for Anarchitecture Bricks. It explains how to consume @anarchitects/* packages so design contracts, composition APIs, and runtime layouts stay consistent across domains and applications.

Contract ownership for DTOs and domain models is defined in the canonical TS Contracts Guide.

System Layers

The UI system is layered and should be adopted in order:

  1. @anarchitects/common-angular-design
  2. @anarchitects/common-angular-ui-composition
  3. @anarchitects/common-angular-ui-primitives
  4. @anarchitects/common-angular-ui-layouts
  5. Domain UI slices (@anarchitects/forms-angular/ui, @anarchitects/auth-angular/ui)

Domain orchestration should still follow Angular layering: ui <- feature -> state -> data-access.

Backend support should still follow Nest layering: presentation -> application <- infrastructure.

Token and Theme Model

Use token and theme contracts from @anarchitects/common-angular-design as the primary extension mechanism:

Example:

.anx-root[data-anx-theme='brand-a'] {
  --anx-sys-color-primary: #0f766e;
  --anx-sys-color-accent: #0ea5e9;
  --anx-layout-content-max-width: 72rem;
}

Composition Contracts

Use @anarchitects/common-angular-ui-composition for stable projection contracts:

Example:

<anarchitects-ui-card>
  <h3 anxSlot="header">Summary</h3>
  <p anxSlot="content">Rendered with stable slot contracts.</p>
  <div anxSlot="footer">
    <button anxSlot="actions">Continue</button>
  </div>
</anarchitects-ui-card>

Primitive Contracts

Use @anarchitects/common-angular-ui-primitives for reusable, non-domain visual building blocks:

Layout Runtime Contracts

Use @anarchitects/common-angular-ui-layouts when runtime layout selection is required:

Domain Integration Matrix

Domain Package Role Design/UI System Integration
@anarchitects/forms-angular Dynamic form/list/detail flows Consumes shared composition, primitives, and layout runtime contracts
@anarchitects/auth-angular Auth feature orchestration and domain UI Uses shared design tokens/primitives and contract-safe state composition
@anarchitects/forms-nest Forms API/service backend Must preserve contract stability used by frontend layouts and form rendering
@anarchitects/auth-nest Auth lifecycle backend Must preserve contract stability used by frontend state/feature and policy flows

Cookbook Patterns

Anti-Patterns

Adoption Checklist