Use these pointers to apply modular rules to this project. Always load PACT.md, RULES.md, GLOSSARY.md, and docs/architecture/README.md first.
- Angular base and override: follow
rules/generative/language/angular/README.mdwith version specifics inrules/generative/language/angular/angular-20.rules.md. - TypeScript integration and client packaging:
rules/generative/language/typescript/README.md,rules/generative/frontend/jwebmp/client/README.md,rules/generative/frontend/jwebmp/typescript/README.md. - AgCharts wrapper rules: start at
rules/generative/frontend/jwebmp/agcharts/README.md, then applyangular-integration,options-and-styling, anddata-and-eventsas needed. - Component flow reference:
docs/architecture/sequence-initial-load.md,docs/architecture/sequence-data-update.md, anddocs/architecture/c4-component-agcharts.mdfor websocket listener naming and signal wiring.
- GuicedEE client alignment and module scanning:
rules/generative/backend/guicedee/README.md,rules/generative/backend/guicedee/client/README.md. - Reactive patterns (Mutiny/Vert.x):
rules/generative/backend/vertx/README.md; map togetInitialOptions()/getInitialData()flows shown in diagrams. - Fluent API CRTP setters:
rules/generative/backend/fluent-api/GLOSSARY.md— keep(J) thisreturns and avoid builders.
- Specification-Driven Design and TDD:
rules/generative/architecture/README.md,rules/generative/architecture/tdd/README.md. - Use diagrams under
docs/architecture/to anchor design changes and acceptance criteria; update sequences when flows change. - Acceptance checks (minimum):
- Initial options request returns a populated
AgChartOptionsand renders the chart (chartReadytrue). - Data channel delivers data without overwriting other options (merge behavior in
handleDataEvent). - Websocket listeners are registered once per component id; teardown unsubscribes and unregisters listeners.
- Initial options request returns a populated
- CI baseline:
rules/generative/platform/ci-cd/README.md; GitHub Actions provider specifics atrules/generative/platform/ci-cd/providers/github-actions.md. - Env/secrets:
rules/generative/platform/secrets-config/env-variables.md— reflected in.env.example(see Stage 4). - Observability starter:
rules/generative/platform/observability/README.md(adopt Log4j2 defaults when adding logging).
- Channels:
<componentId>Optionsand<componentId>Dataover EventBusService/websocket. - Server contract:
AgChart#getInitialOptions(): Uni<AgChartOptions<?>>(required),AgChart#getInitialData(): Uni<Object>(optional, may be null). - Payload shape: raw object or
{ out: [<payload>] }supported; options/data parsers normalize both. - Angular binding:
[options]="chartOptions()"withchartReady()guard; ag-charts-angular handles rendering.
- After implementing a change, update
IMPLEMENTATION.mdwith the module touched and link back to relevant guide and diagram.