Communitygithub.com

allianz/ng-aquila

Verwende dies, wenn du mit Aquila / Angular Brand Kit (ehemals Angular NDBX) Komponenten von @allianz/ng-aquila arbeitest. Deckt Imports, Nutzungsmuster, Formularverarbeitung, Grid-Layout und die Komponenten-API ab.

Was ist ng-aquila?

Diese Skill ist speziell für die Verwendung der Aquila (Open Source) / Angular Brand Kit (ehemals NDBX) Komponentenbibliothek von Allianz mit modernem Angular (v19+) optimiert. Sie stellt sicher, dass alle Imports und Nutzungsmuster korrekt und konsistent sind, z. B. durch die Verwendung von Standalone-Komponenten, Signals, der neuen Kontrollstruktur (`@if`, `@for`), `inject()` und Reactive Forms. Die Skill unterstützt Entwickler bei der Arbeit mit Formularfeldern (nx-formfield), Dropdowns, modalen Dialogen, dem 12-spaltigen Grid-System und einer Vielzahl weiterer UI-Komponenten. Sie bietet klare Regeln (z. B. `NxInputDirective` immer in `<nx-formfield>` einbetten, `type="button"` auf `nxButton` setzen) und eine umfassende Tabelle der am häufigsten verwendeten Komponenten und ihrer Selektoren. Die Skill ist für Claude Code und ähnliche KI-Agenten konzipiert, die mit dem Angular-Brand-Kit von Allianz interagieren.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/allianz/ng-aquila/tree/HEAD/skills/aquila

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Aquila – Angular Brand Kit Komponentenbibliothek

Aquila (Open Source) / Angular Brand Kit (ehemals NDBX) ist die Allianz Design System Komponentenbibliothek für Angular. Verwende moderne Angular (v19+) Patterns: Standalone-Komponenten, Signals, neue Kontrollstruktur (@if, @for), inject(), etc.

Import-Regeln

Aquila-Komponenten sind Standalone. Importiere die Komponente direkt:

import { NxButtonComponent } from '@allianz/ng-aquila/button';
import { NxFormfieldComponent } from '@allianz/ng-aquila/formfield';
import { NxInputDirective } from '@allianz/ng-aquila/input';

@Component({
  imports: [NxButtonComponent, NxFormfieldComponent, NxInputDirective],
})

Import-Pfad-Muster: @allianz/ng-aquila/{component-name}

Aquila-spezifische Regeln

  • Verwende NxInputDirective niemals ohne <input nxInput> in <nx-formfield> zu wrappen
  • Nutze <nx-error nxFormfieldError> für Validierungsmeldungen innerhalb von Formularfeldern
  • Setze immer type="button" auf <button nxButton>, um versehentliches Absenden des Formulars zu verhindern
  • Bevorzuge Reactive Forms mit Aquila-Formularkomponenten
  • Verwende keine Inline-CSS-Styles; verlasse dich auf das integrierte Styling von Aquila

Formularfeld mit Validierung (Reactive Forms)

<form [formGroup]="form">
  <nx-formfield label="E-Mail">
    <input nxInput formControlName="email" type="email" />
    @if (form.controls.email.errors) {
      <nx-error nxFormfieldError>Bitte gib eine gültige E-Mail-Adresse ein</nx-error>
    }
  </nx-formfield>
</form>

Dropdown

<nx-formfield label="Land">
  <nx-dropdown formControlName="country">
    <nx-dropdown-item value="DE">Deutschland</nx-dropdown-item>
    <nx-dropdown-item value="CH">Schweiz</nx-dropdown-item>
    <nx-dropdown-item value="AT">Österreich</nx-dropdown-item>
  </nx-dropdown>
</nx-formfield>

Modal-Dialog

import { NxDialogService } from '@allianz/ng-aquila/modal';

const modalRef = inject(NxDialogService).open(MyDialogComponent);
modalRef.afterClosed().subscribe(result => { /* Ergebnis verarbeiten */ });

Grid-System

12-spaltiges responsives Grid. nxCol akzeptiert bis zu 7 durch Komma getrennte Breakpoint-Werte in der Reihenfolge: tiny, small, medium, large, xlarge, 2xlarge, 3xlarge. Wenn weniger als 7 Werte angegeben werden, wiederholt sich der letzte für die restlichen Breakpoints (z. B. nxCol="12,8" → 12,8,8,8,8,8,8).

<div nxLayout="grid">
  <div nxRow>
    <div nxCol="12,12,6">Links</div>
    <div nxCol="12,12,6">Rechts</div>
  </div>
</div>

Am häufigsten verwendete Komponenten

KomponenteSelektor
formfieldnx-formfield
inputinput[nxInput]
buttonbutton[nxButton]
iconnx-icon
dropdownnx-dropdown
checkboxnx-checkbox
grid[nxLayout]
headline[nxHeadline]
copytext[nxCopytext]
linknx-link
accordionnx-accordion
popover[nxPopoverTriggerFor]
badgenx-badge
datefieldinput[nxDatefield]
modalnx-modal
messagenx-message
data-displaynx-data-display
table[nxHeaderCell]
tabsnx-tab
listul[nxList]
radio-togglenx-radio-toggle
tooltip[nxTooltip]
switchernx-switcher
spinnernx-spinner
paginationnx-pagination

Komponenten nach Anwendungsfall finden

  • Formular: autocomplete, checkbox, circle-toggle, code-input, datefield, dropdown, file-uploader, formfield, input, natural-language-form, phone-input, radio-toggle, rating, slider, switcher, timefield
  • Navigation: breadcrumb, header, menu, tabs, pagination
  • Tabelle: comparison-table, dynamic-table, table
  • Feedback: badge, indicator, message, modal, notification-panel, progress-stepper, progressbar, spinner, tooltip
  • Layout: accordion, card, footer, grid, sidepanel, small-stage, toolbar
  • Overlay: modal, overlay, popover
  • Medien: avatar, icon, image, video
  • Interaktion: action, button, link, page-search, signal-button
  • Auswahl: checkbox, circle-toggle, dropdown, radio-toggle, taglist

Detaillierte API

Die vollständige Komponenten-API (Inputs, Outputs, Methoden) findest du in der Komponentendokumentation im installierten Paket des Projekts: ormalerweise unter node_modules/@allianz/ng-aquila/mcp/generated/components/{component-name}.md oder einem ähnlichen Pfad, abhängig von der Projektkonfiguration. Fallback: Führe eine Glob-Suche mit **/mcp/generated/**/ durch.

Verwandte Skills