Installation
Detailed setup guide for @ngaf/chat.
Requirements
@ngaf/chat uses Angular Signals, the input() function, and contentChildren(). Angular 20 or later is required.
Required for the build toolchain and package installation.
Install the package
marked is required for parsing assistant markdown. Beyond that: the chat components ship with their own design tokens and component-encapsulated styles. No PostCSS config, no global stylesheet import, no Tailwind required.
Peer Dependencies
@ngaf/chat declares the following peer dependencies:
| Package | Version | Required |
|---|---|---|
@angular/core | ^20.0.0 || ^21.0.0 | Yes |
@angular/common | ^20.0.0 || ^21.0.0 | Yes |
@angular/forms | ^20.0.0 || ^21.0.0 | Yes |
@ngaf/render | ^0.0.1 | Yes |
@ngaf/a2ui | ^0.0.1 | Yes |
@ngaf/partial-json | ^0.0.1 | Yes |
@json-render/core | ^0.16.0 | Yes |
@langchain/core | ^1.1.33 | Yes |
marked | ^15.0.0 || ^16.0.0 | Yes |
marked parses AI message content into HTML (headings, code blocks, tables, lists). It is a required peer; the library ships a defensive plain-text fallback for resilience, but the rendered output is unusable without marked installed.
Configure provideChat() (optional)
Add provideChat() alongside your agent provider to register CHAT_CONFIG for global chat configuration:
provideChat() is optional — chat components fall back to sensible defaults.
Theming
The chat ships with a complete light/dark token system. Three ways to customize:
1. Override a single token at app root
2. Force a theme via attribute
3. Deep override via the optional global stylesheet
See Theming for the full token reference.