cometchat-react-v7-patterns
SkillDev toolsFramework wiring for the React v7 UI Kit across Vite, Create React App, Next.js, React Router (incl. Remix), and Astro, provider placement, env vars, routing, SSR/islands and build pitfalls. Triggers: 'cometchat with vite', 'cometchat in next.js', 'cometchat in react router', 'cometchat in remix', 'cometchat in astro', 'env vars not working', 'cometchat provider setup', 'SSR window is not defined'.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the cometchat-react-v7-patterns skill
What this skill tells your AI
The instructions your AI receives, as published by cometchat/cometchat-skills in skills/cometchat-react-v7-patterns/SKILL.md and read by ahel’s review.
Ground truth:
@cometchat/chat-uikit-react@7. Framework mechanics (env prefixes, SSR) are baked framework knowledge; kit symbols come fromcometchat-react-v7-core. Status: catalog-verified vs installed 7.1.0 (exports-only web-v7.json).
Companion skills (read first)
cometchat-react-v7-core— install, provider,init→login→render. This skill ASSUMES it.
Use this skill when
Wiring the UI Kit into a specific React toolchain, or debugging env/routing/SSR issues.
Prerequisites & install
Covered by core. No new package.
Framework wiring (BAKED — the delta per toolchain; full recipe = fetch the docs integration page)
- Vite: env in
.envwithVITE_prefix; read viaimport.meta.env.VITE_COMETCHAT_*. init/login in an app-startup effect; mountCometChatProviderabove the chat routes. Brownfield gotcha (AUDIT-037/066): if thevite/clienttypes aren't wired,import.meta.envis untyped → strict-TS build failsTS2339: Property 'env' does not exist on ImportMeta. Scaffolds wirevite/clientdifferently by Vite version — older ones shipsrc/vite-env.d.ts(/// <reference types="vite/client" />), newer ones (Vite 8+) put"vite/client"in thetypesarray oftsconfig.app.json. Don't assume either is present — CHECK, then ensurevite/clientis referenced: add/// <reference types="vite/client" />at the top of the env-reading file (self-contained, works regardless of Vite version), or add"vite/client"totsconfig.app.jsoncompilerOptions.types, or createsrc/vite-env.d.ts. - Create React App: env with
REACT_APP_prefix; read viaprocess.env.REACT_APP_*. - Next.js: client-only kit — put init/login +
CometChatProviderin a Client Component ("use client"); env in.env.localwithNEXT_PUBLIC_*. Guard browser-only code so it never runs during SSR (App Router AND Pages Router). - React Router / Remix: two modes — v6 library mode (routing inside a Vite/CRA app, no SSR,
VITE_env) wires like Vite; v7 framework mode (SSR, the Remix successor — a legacy@remix-run/reactapp maps here) has Next-like SSR concerns → render the chat client-only (client guard /clientLoader/ a<ClientOnly>),VITE_env. Provider above the routed outlet. - Astro: the kit is a React island — mount it with
client:only="react"(never SSR it); env withPUBLIC_prefix (import.meta.env.PUBLIC_COMETCHAT_*). One island owns init/login + provider + chat. - Keep
CometChatProviderat a stable ancestor so init/login survive navigation (see-placement).
Full per-framework recipe: fetch the docs integration page via
cometchat-react-v7-core/references/docs-map.md—integration-react·integration-nextjs·integration-react-router·integration-astro(+ thenext-*/react-router-*/astro-*layout recipes). Bake only the deltas above; fetch the rest.
Framework pitfalls (BAKED)
- SSR frameworks (Next.js · React Router v7 framework mode · Astro):
window is not defined/ hydration errors when the kit renders on the server → render the chat client-only ("use client"in Next;client:only="react"in Astro; a client guard /clientLoaderin React Router v7) and defer init touseEffect/the browser. - Astro: using
client:load/client:visible(they SSR the component first) instead ofclient:only="react"→ server-render crash. - Wrong env prefix for the toolchain (Vite/React-Router
VITE_· CRAREACT_APP_· NextNEXT_PUBLIC_· AstroPUBLIC_) → values areundefinedat runtime. - Importing UI Kit CSS in multiple entry points (import once at root).
- Auth key shipped to the client in production — use server-side token exchange (
RULES.md).
Common pitfalls (BAKED)
See above; also version_conflict STOP (v6 installed) per core.
Verify it works
The app builds and chat renders on your framework (Vite / Next / React Router / Astro) with the correct env prefix and SSR guards ("use client" / ssr:false where needed).
Signals
- GitHub stars
- 109
- Forks
- 2
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
cometchat-react-v7-patterns- Source
- github.com/cometchat/cometchat-skills