Uh oh!
There was an error while loading. Please reload this page.
docs(ui-kit/angular): Angular v5 skills docs — LLM index + AI Integration Quick References (ENG-38204) - #475
Conversation
Adds ui-kit/angular/llms-angular-v5.mdx — a machine-readable, Angular-v5-scoped routing index of all 91 v5 pages as .md twins, for AI coding agents. Mirrors the shape of ui-kit/react/llms-react-v7.mdx (branch docs/react-v7-feature-guides). - Unlisted, NOT hidden: omitted from docs.json navigation so it never shows in the human sidebar, but still built, served as a .md twin, and indexed. Using `hidden: true` would auto-apply noindex and drop it from search + the global llms.txt, which defeats the purpose. docs.json is deliberately untouched. - Scoped to v5 only; the 2.0/, 3.0/ and v4/ trees are excluded so agents are never routed at dead API surfaces. - Angular-specific framing the React index has no equivalent for: kebab-case selectors, @input() rather than props, content-projection/TemplateRef rather than render props, and env config in src/environments/environment.ts. Also fixes four content defects surfaced while building the index: - api-reference/formatter-config-service.mdx, api-reference/ rich-text-editor-service.mdx and guides/rich-text-formatting.mdx shipped with NO frontmatter at all despite being in docs.json navigation, so they rendered untitled. Adds title/description per house style (see api-reference/chat-state-service.mdx) and drops the two leading H1s that would now duplicate the frontmatter title. - overview.mdx "AI Integration Quick Reference" listed peer deps as @cometchat/chat-sdk-javascript + dompurify, missing @cometchat/cards-angular@^1.0.0 which @cometchat/chat-uikit-angular@5.1.0 added. Verified against the published package. NOT fixed here, needs an owner decision: the same accordion claims Angular "v18, v19, v20, v21, v22" but the published peer range at 5.1.0 is @angular/core ">=17.0.0 <22.0.0" — v22 is excluded (install hard-fails with ERESOLVE) and v17 is supported but undocumented. Either the docs or the peer range is wrong; that is a support-policy call, not a typo. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
…ent pages Every value is read from the kit's own component declarations (@cometchat/chat-uikit-angular 5.1.0), so the accordion cannot drift from the shipped API — regenerate after a kit bump rather than hand-editing. Schema follows #466 but adapted for a UI component: its SDK rows (Key methods, Listeners registered) become Selector / Key inputs / Key outputs / View slots. Import and Selector are separate rows because the exported class name and the template selector differ, and confusing them is a known failure mode. Bubbles get different Mounting/Prerequisites/Constraints rows: the message list renders them when a matching message arrives, so telling an author to add one to imports[] would be wrong guidance. notification-feed.mdx is left untouched — its hand-authored accordion carries per-input types, defaults and automaticBehaviors that cannot be generated from type declarations, and a generated table would be a regression.
…dex (#446 shape) Follows the shape landed for React in #446. The point is what it removes: no prop dump, so an agent can scan the accordion and only read on if what it needs is listed. Props/Events/Customization become anchors into the page's own sections — all 99 verified to resolve. Adds rows that are not derivable from type declarations and are where composition actually goes wrong: Primary output, Stitching, Automatic behaviour (what the kit already does, so it is not hand-rolled). Authored for the 12 mountable surfaces; bubbles get the short form since you never mount them. Mechanical rows (component, selector, CSS root class, imports) come from the kit's own declarations and its stylesheets — 71 of 81 selectors have a verifiable root class. notification-feed.mdx preserved: its hand-authored accordion is richer than anything generatable here.
…customization Closes the 13 v5 pages that had none. 78 of 92 now carry one; 126 in-page anchors verified to resolve. api-reference (8): services are method surfaces, so these use the SDK-shaped schema — Injection, Key methods, Reactive state (signals vs observables) — with methods and signals read from the kit's class declarations. Purpose is authored: one line stating what the service is for is what lets an agent skip a 2,400-word page it does not need. guides + customization (5): task pages, so the schema is what the page teaches, its key symbols, and the trap it exists to prevent — e.g. state-management warns against holding a local selected field alongside ChatStateService, which is why the list stops highlighting the open row.
…built-in menu The props table said only 'Custom attachment options for the attachment menu', which does not say whether yours append to or replace the built-ins. That decides whether adding one option keeps image/video/audio/file or silently deletes them, so an agent had to read the shipped bundle to find out. Verified in 5.1.0: the composer pushes supplied options onto the built-in list. Adds the semantics to the props row plus a short section with a worked example, and points at the hide* inputs for removing a built-in instead.
The page documented the skills as React-only — prerequisites, targeting note, installer copy, dispatcher description, skills table and the compatibility matrix. The Angular pack ships 11 skills, so an Angular developer reading this concludes they are not supported. This file originates in #470; if that merges first, take its version and re-apply the Angular additions. /cli also resolves from #470.
- messagesRequestBuilder REPLACES the default builder, it does not merge. Supplying one silently drops the default limit/types/categories. - Unbound outputs leave a visible dead control; the thread-replies indicator renders and is clickable whether or not you wire it. - ThemeService follows the OS live, does NOT persist, and its listener overrides a manual toggle. Its docstrings claim localStorage it never writes, so the page documents the verified behaviour instead. - The layout recipes prescribed height:100vh with no overflow:hidden or min-height:0, which makes the whole page scroll. Fixed in all three.
raj-dubey1
left a comment
There was a problem hiding this comment.
Docs review — Angular v5 skills docs (ENG-38204)
Reviewed from the skills pack perspective: does this PR give the Angular skills the docs surface they depend on, and are the new/modified pages accurate?
✅ What's correct and solid
llms-angular-v5.mdx — well-structured 91-page index with 13 sections. The Angular-specific framing in the preamble (kebab-case selectors, @Input() vs props, src/environments/environment.ts vs .env, TemplateRef vs render props) is exactly what a skills pack needs when deciding whether to bake or fetch. "Unlisted not hidden" is the right choice — hidden: true would nuke search indexing. The "Hot path" section (bake the stable bits, fetch only for exhaustive props) mirrors the BAKE-VS-FETCH.md doctrine the skills use.
Framework recipe CSS fixes (angular-conversation.mdx) — 100dvh over 100vh + min-height: 0 + overflow: hidden explanation is correct and addresses the exact collapse failure the skills pack documents in its references/layout.md. The warning box makes it findable; this fix has been needed.
API service Quick References — FormatterConfigService, RichTextEditorService (+ frontmatter fixed), and the other service pages now have accurate Angular DI injection pattern (inject(FormatterConfigService) / providedIn: 'root'), correct class names, and correct imports. The missing frontmatter on those two pages was a live rendering bug.
Component Quick References landed so far (18 pages) — format is correct and Angular-consistent throughout:
(itemClick)notonItemClick— output binding syntax correct.- Class names with
Componentsuffix throughout — and the AI assistant (CometChatAIAssistantChat, not…ChatComponent) correctly has no suffix. This is the naming exception that breaks generators; having it explicitly in the Quick Reference is important. - "Add to
imports: []or it renders nothing, silently" — prominently placed on every component. The right call; this is the most common Angular integration failure. - The
cometchat-conversations.mdxStitching row:getConversationWith()+[activeConversation]+ChatStateServicepreference — accurate. (Note: the group-type discrimination — branching ongetConversationType()before binding[user]vs[group]— is not spelled out here, but it's handled in the full props table so that's fine for a quick reference.)
agent-skills.mdx compatibility table — @cometchat/cards-angular ^1.0.0 and dompurify ^3.0.0 are listed (both absent from the old overview Quick Reference). Angular 22 incompatibility is called out with the right workaround (@angular/cli@21). Accurate against npm view @cometchat/chat-uikit-angular@5.1.0 peerDependencies.
❌ Issues to fix before merge
1. agent-skills.mdx is not in docs.json → unreachable from navigation.
The PR checklist says "docs.json untouched" — that applies to the LLM index (intentionally unlisted). But agent-skills.mdx is a user-facing page describing how to install and use the skills product. It needs a docs.json entry to appear in the sidebar. Right now it's a live page with no nav path — users can't find it unless linked directly. Add it to the docs.json top-level navigation (probably alongside or near the CLI/MCP references).
2. agent-skills.mdx Angular skills table is missing cometchat-angular-v5-migration.
The React section correctly lists cometchat-react-v7-migration; the Angular table stops at cometchat-angular-v5-troubleshooting and omits migration. The skill exists on the branch (skills/cometchat-angular-v5-migration/ is present). Add it:
| `cometchat-angular-v5-migration` | Upgrade a v4 UI Kit → v5 |
3. Core component pages have no Quick References yet — these are the highest-priority fetches.
The 18 component Quick References landed so far are all secondary/bubble components. The pages the skills fetch most are NOT yet updated:
cometchat-message-list.mdxcometchat-message-composer.mdxcometchat-message-header.mdxcometchat-search.mdxcometchat-thread-header.mdxcometchat-conversations.mdx← ✅ already done, goodcometchat-users.mdxcometchat-groups.mdxcometchat-incoming-call.mdx
The skills pack's docs-map.md points the LLM index at this page as the hot path. When an agent needs input/output detail for the message pane, it fetches the component page — and right now most of those pages have no Quick Reference to land on. This is the main remaining work; the checklist checkbox is correctly unchecked.
4. agent-skills.mdx CardGroup links /cli and /mcp-server — confirm these pages exist.
The Next steps section at the bottom links two pages that aren't part of this PR:
/cli— ifcli.mdxdoesn't exist in main, this 404s./mcp-server— same check needed.
Before merge, confirm both resolve. If they're not yet written, use href="#" or remove the cards temporarily.
⚠️ DOCS-GAPss to track (no blocking merge, but record in AUDIT.md)
CometChatOngoingCallComponent — no docs page exists.
The component is in features.angular-v5.json (voice-video-calls ui_components list) and in the Angular catalog. Checking the components/ directory: there is a cometchat-incoming-call.mdx and cometchat-outgoing-call.mdx but no cometchat-ongoing-call.mdx. The LLM index correctly omits it (can't link a missing page). This is a DOCS-GAP — file it so the docs team knows the page is missing.
CometChatErrorBoundaryComponent — no dedicated docs page.
It's a required component on the core surface (the error-boundary-wrap min_capability in contracts.angular-v5.json), mentioned in the integration guide but with no component page. Not critical to block merge, but worth tracking.
npx mintlify dev not run yet.
The LLM index design depends on /ui-kit/angular/llms-angular-v5.md (.md twin URL) being fetchable. The checklist item is unchecked. Run this before merge and confirm: (a) the index page builds, (b) the .md twin resolves at the expected URL, (c) the "not in navigation" warning appears but isn't an error.
Summary
The llms-angular-v5.mdx index and the 18 component Quick References that have landed are accurate and follow the right format. The three must-fix items before merge are: (1) add agent-skills.mdx to docs.json navigation, (2) add the migration skill row to the Angular table, (3) confirm the /cli and /mcp-server CardGroup links resolve. The remaining Quick References for core component pages (message-list, composer, header, search, thread-header) are the most skills-critical work still to land — the unchecked checklist item is accurate.
Uh oh!
There was an error while loading. Please reload this page.
Umbrella branch for the Angular v5 docs work supporting ENG-38204 (the Angular skills pack). Kept as one PR so there is a single Mintlify preview covering every change while the work lands incrementally.
Supersedes #471, whose branch is merged in here.
Landed so far
ui-kit/angular/llms-angular-v5.mdx(new) — a machine-readable, Angular-v5-scoped routing index of all 91 v5 pages as.mdtwins, in 13 sections. Mirrorsui-kit/react/llms-react-v7.mdx.docs.jsonnavigation so it never appears in the human sidebar, but still built, served as a.mdtwin, and indexed.hidden: truewas rejected because Mintlify auto-appliesnoindex, which would drop it from search and the auto-generated globalllms.txt.docs.jsonis untouched — no nav refs changed, no redirects needed.2.0/,3.0/andv4/are excluded so agents are never routed at dead API surfaces.@Input()rather than props, content projection rather than render props, and config insrc/environments/environment.tsrather than.env.Four content fixes found while building the index:
api-reference/formatter-config-service.mdxapi-reference/rich-text-editor-service.mdxH1guides/rich-text-formatting.mdxoverview.mdx@cometchat/cards-angular, a required peer since kit 5.1.0All three untitled pages are present in
docs.jsonnavigation, so they were live and rendering without titles.Still to land on this branch
AI Integration Quick Reference accordions.#466 established a ten-field schema (
Package · Import · Key methods · Key classes · Primary output · Listeners registered · Prerequisites · Constraints · Related · Full reference) across 20 SDK pages. Angular's 43 component pages have none at all, andoverview.mdxcarries only a thin six-field version. Bringing them up to that standard is the main remaining work, and the reason this PR stays open rather than merging the index alone.Verified against the published package, not inferred
Not fixed here — needs an owner decision
overview.mdxstates Angularv18, v19, v20, v21, v22, but the published peer range is>=17.0.0 <22.0.0:npm installhard-fails withERESOLVE, so the docs advertise a version where install is impossible.Either the docs or the kit's peer range is wrong. That is a support-policy call for the UI Kit owners rather than a typo, so this PR flags it and leaves the line untouched.
Checklist
docs.jsonuntouched — no nav refs changed, no redirects neededui-kit/angularfile tree, titles read from each file's frontmatternpx mintlify devnot yet run — before merge, confirm the index page builds (a "not in navigation" warning is expected) and that/ui-kit/angular/llms-angular-v5.mdresolves as raw Markdown. The design depends on that twin being fetchable.Related
Several other Angular v5 docs branches are in flight (
docs/angular-v5-uikit,-version-update,-docs-update,-beta1). This branch touches onlyllms-angular-v5.mdxplus the four files above; worth a rebase check before merge if those land first.