From e982dd50b143c39829ffa7d95a5f33365d2a777e Mon Sep 17 00:00:00 2001 From: rajdubey Date: Fri, 11 Sep 2026 21:01:51 +0530 Subject: [PATCH 01/13] docs(cli): re-add CometChat CLI page (CLI-only re-application of #470) PR #470 merged into docs/skills-v5-temp, not main, and the CLI page was later dropped from that branch. This re-applies only the CLI part on top of current main: - cli.mdx: CometChat CLI reference (@cometchat/skills-cli credentials CLI + @cometchat/skills pack CLI), content identical to #470 - docs.json: add "cli" to the hidden Developer Tools group - index.mdx: add the CLI card next to the existing Agent Skills card - agent-skills.mdx: link "run the CLI yourself" to /cli so the page is reachable from where the CLI is mentioned The agent part of #470 (agent-skills page, Developer Tools tab with agent-skills + mcp-server, Agent Skills index card) is already on main. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_016PKoDnjiUuSaNFfuKLMJFs --- agent-skills.mdx | 2 +- cli.mdx | 211 +++++++++++++++++++++++++++++++++++++++++++++++ docs.json | 1 + index.mdx | 5 ++ 4 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 cli.mdx diff --git a/agent-skills.mdx b/agent-skills.mdx index 7d73d9870..e271852b6 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -116,7 +116,7 @@ fetching them from your dashboard: - **Fetch from your dashboard (recommended)** — the skill runs the standalone CometChat CLI for you, on demand: it opens the dashboard login in your browser, lets you pick one of your **existing** apps, pulls the credentials, - and writes a neutral `.cometchat/config.json`. You can also run the CLI yourself + and writes a neutral `.cometchat/config.json`. You can also [run the CLI yourself](/cli) — it works on its own, in a script, or in CI. - **Paste manually** — copy App ID, Region, and Auth Key from **Dashboard → Your App → Credentials** if you'd rather not log in. diff --git a/cli.mdx b/cli.mdx new file mode 100644 index 000000000..85f7d8c24 --- /dev/null +++ b/cli.mdx @@ -0,0 +1,211 @@ +--- +title: "CometChat CLI" +sidebarTitle: "CLI" +description: "Authenticate against the CometChat dashboard, provision app credentials, toggle features, and manage the AI agent skills — all from your terminal, with JSON output for scripting and CI." +canonical: "https://www.cometchat.com/docs/cli" +--- + +CometChat ships two complementary command-line tools: + +| CLI | Package | What it does | +| --- | --- | --- | +| **Credentials CLI** | `@cometchat/skills-cli` | Dashboard authentication + app-credential provisioning + feature toggles | +| **Skills CLI** | `@cometchat/skills` | Install, list, and verify the [AI Agent Skills](/agent-skills) | + + +The credentials CLI is **standalone** — use it on its own, in a script, or in CI. +It's a pure dashboard/API client: it authenticates, fetches your app credentials +(App ID / Region / Auth Key), and writes a neutral `.cometchat/config.json`. By +design it does **not** detect your framework, write env files, or generate code, +so it stays framework-agnostic and works with any stack. The +[agent skills](/agent-skills) are one consumer that can run it for you — but the +CLI doesn't require them. + + +Both run through `npx` with no global install, and most commands accept `--json` +for machine-readable output (the exceptions are `config set` and `config path`, +which print plain text). + +## Prerequisites + +- **Node.js 18+** — both CLIs run through `npx`. +- A **CometChat account** — [sign up free](https://app.cometchat.com). `auth login` opens the dashboard in your browser to authenticate. + +--- + +## Credentials CLI — `@cometchat/skills-cli` + +Its only job is authenticating against the CometChat dashboard and fetching your +**App ID / Region / Auth Key**, then writing a neutral `.cometchat/config.json` +that any tool — your own scripts, a CI job, or the agent skills — can read. + +### Quick start + +```bash +# 1. Authenticate against the dashboard (opens your browser) +npx @cometchat/skills-cli auth login + +# 2. List the apps on your account +npx @cometchat/skills-cli provision list --json + +# 3. Pick or create an app, fetch creds, write .cometchat/config.json +npx @cometchat/skills-cli provision run + +# 4. Inspect the local config you just wrote +npx @cometchat/skills-cli config show --json +``` + +### Authenticate + +```bash +npx @cometchat/skills-cli auth login +``` + +Opens your browser at the CometChat dashboard for device authentication and +stores the bearer token in your OS keychain (falling back to a `chmod 600` file). + +| Command | Purpose | +| --- | --- | +| `auth login` | Sign in via the dashboard (device auth) | +| `auth status` | Show whether you're signed in | +| `auth me` | Print the authenticated account | +| `auth logout` | Clear the stored token | +| `auth signup` | Create a CometChat account | + +### Provision credentials + +```bash +npx @cometchat/skills-cli provision run +``` + +Fetches your **App ID / Region / Auth Key**, prints them as JSON, and writes a +neutral `.cometchat/config.json`. It writes **no** framework env file — read +`config.json` and set your framework's env vars (`.env` / `VITE_` / +`NEXT_PUBLIC_` …) yourself, or let the agent skills do it. + +| Command | Purpose | +| --- | --- | +| `provision run` | Interactive: pick or create an app, fetch creds, write config | +| `provision list` | List the apps on your account | +| `provision create --name ` | Create a new app (`--name` required) | +| `provision use --app-id ` | Select a specific app by id | + +Create a new app non-interactively — `--name` is required, `--region` and +`--industry` are optional: + +```bash +npx @cometchat/skills-cli provision create --name "My Chat" --region us +``` + +The config file `provision` writes: + +```json +{ + "$schema": "https://cometchat.com/schemas/config.json", + "version": 1, + "appId": "…", + "region": "us", + "authKey": "…", + "appName": "My Chat", + "plan": "…", + "industry": "…" +} +``` + + +`.cometchat/config.json` contains your **Auth Key** — add it to `.gitignore`. The +Auth Key is for **development only**; in production, mint a per-user **auth +token** on your backend and log in with `loginWithAuthToken()` instead of +shipping the Auth Key to a client. + + +### Manage config + +Read and edit the local `.cometchat/config.json` (credential/app state only): + +| Command | Purpose | +| --- | --- | +| `config init` | Create an empty config | +| `config get ` | Read a single value | +| `config set ` | Write a single value | +| `config show` | Print the full config | +| `config path` | Print the config file location | + +### Toggle features + +Enable or disable app features from the terminal: + +| Command | Purpose | +| --- | --- | +| `features list` | List available features and their state | +| `features enable ` | Turn a feature on | +| `features disable ` | Turn a feature off | +| `features ai-key ` | Set the app's OpenAI key that AI features need | + +Set the OpenAI key AI features require before they can run — the key is a +required argument: + +```bash +npx @cometchat/skills-cli features ai-key +``` + +--- + +## Skills CLI — `@cometchat/skills` + +Installs and manages the [AI Agent Skills](/agent-skills) that let your coding +agent build with CometChat. + +```bash +npx @cometchat/skills add +``` + +| Command | Purpose | +| --- | --- | +| `detect` | Probe the current project (framework, UI Kit, version conflicts) | +| `add [--ide ]` | Install the skills for an AI agent (default: Claude Code) | +| `list` | List the skills this pack ships | +| `info ` | Show a skill's triggers + compatibility | +| `verify [tier]` | Run the skill quality gates | +| `catalog` | Refresh the component catalog from the installed UI Kit | +| `doctor` | Environment health check | + +See [Agent Skills](/agent-skills) for the install picker, supported agents, and +the prompt-driven workflow. + +--- + +## Scripting and CI + +Most commands support `--json` (the exceptions are `config set` and +`config path`, which print plain text), and `add` can be pinned to one agent with +`--ide`, so the whole flow runs non-interactively: + +```bash +# Authenticate, select a known app, and install the skills for Claude Code +npx @cometchat/skills-cli auth login +npx @cometchat/skills-cli provision use --app-id "$COMETCHAT_APP_ID" --json +npx @cometchat/skills add --ide claude +``` + +Commands **exit non-zero on failure** and surface dashboard errors verbatim (for +example `ACCESS_DENIED`, `EXPIRED`, `TIMEOUT`, `ABORTED`), so a broken auth or +provisioning step fails the CI job loudly instead of continuing with empty +credentials. + +## Next steps + + + + Install the skills and build CometChat from natural-language prompts + + + Connect CometChat to any Model Context Protocol–compatible agent + + + The manual React UI Kit setup, credentials and all + + + Open the CometChat dashboard + + diff --git a/docs.json b/docs.json index 035cebab9..8882cabdf 100644 --- a/docs.json +++ b/docs.json @@ -98,6 +98,7 @@ "group": "Developer Tools", "pages": [ "agent-skills", + "cli", "mcp-server" ] } diff --git a/index.mdx b/index.mdx index 66a7c14d6..2ae62f464 100644 --- a/index.mdx +++ b/index.mdx @@ -144,6 +144,11 @@ canonical: "https://cometchat.com/docs" Let your AI coding agent add CometChat chat & calling to your React app. + + + Authenticate, provision credentials, and manage the skills from your terminal. + + From 2b6dcdd3cc6c5fe2fe2dec0533a8e837be3e8bfe Mon Sep 17 00:00:00 2001 From: rajdubey Date: Fri, 11 Sep 2026 21:28:10 +0530 Subject: [PATCH 02/13] docs(cli): fix CI flow and CLI/agent-skills accuracy issues from review - cli.mdx: replace the Scripting and CI example. auth login needs a browser approval and times out on CI runners; use config init with pipeline secrets instead, and warn against --json there (it echoes the Auth Key). - cli.mdx: config init creates/updates the config from --app-id, --region and --auth-key; it isn't an "empty config". - cli.mdx: add is non-interactive (defaults to Claude Code), not a picker. - cli.mdx: the CLI already chmods config.json to 600, gitignores it, and warns when it's tracked; say so instead of asking readers to do it. - cli.mdx: document features --app-id, pass the OpenAI key from an env var, note add connects the Docs MCP (--no-mcp), explain the skills-cli package / `cometchat` command naming, add Angular next step. - agent-skills.mdx: add has no picker and connects the Docs MCP; --global is Claude Code only; list shows the skills the pack ships. - index.mdx: 2-column "More" group so the 4 cards form a 2x2 grid; Agent Skills card mentions Angular. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_016PKoDnjiUuSaNFfuKLMJFs --- agent-skills.mdx | 12 ++++---- cli.mdx | 78 +++++++++++++++++++++++++++++++++++------------- index.mdx | 4 +-- 3 files changed, 65 insertions(+), 29 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index e271852b6..675815904 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -45,9 +45,9 @@ Run the installer in your project root: npx @cometchat/skills add ``` -It detects your React or Angular setup and opens a picker to install the skills for -the AI agent(s) you use. To pin a single agent — useful in CI or a Dockerfile — pass -`--ide`: +It detects your React or Angular setup and installs the skills for **Claude Code** +by default. It also connects the CometChat Docs MCP server for that agent; pass +`--no-mcp` to skip it. To install for a different agent, pass `--ide`: ```bash npx @cometchat/skills add --ide claude # Claude Code → .claude/skills/ @@ -76,8 +76,8 @@ npx @cometchat/skills add --ide all # every supported agent Claude Code, Kiro, and Replit get a native `SKILL.md` tree. The other agents get an orienting router plus a `./.cometchat/skills` tree. Add `--global` (Claude -Code, Kiro, and Replit only) to install into your user-level directory instead of -the project. +Code only) to install into your user-level `~/.claude/skills` instead of the +project. ## Use it @@ -222,7 +222,7 @@ existing files — you don't have to know the component or prop names. ## Manage the skills - **Update** — re-run `npx @cometchat/skills add` to pull the latest skills; it overwrites the installed skill tree in place. -- **Inspect** — `npx @cometchat/skills list` shows the installed skills, and `npx @cometchat/skills doctor` runs an environment health check. +- **Inspect** — `npx @cometchat/skills list` lists the skills the pack ships, and `npx @cometchat/skills doctor` runs an environment health check. - **Uninstall** — delete the installed skill directory for your agent (for example `.claude/skills/cometchat*`, `.agents/skills/`, or `./.cometchat/skills`). - **Version control** — commit the skill files so your whole team shares the same setup. Do **not** commit `.cometchat/config.json` or the generated env file — they hold your Auth Key. diff --git a/cli.mdx b/cli.mdx index 85f7d8c24..3bb4459b6 100644 --- a/cli.mdx +++ b/cli.mdx @@ -7,10 +7,19 @@ canonical: "https://www.cometchat.com/docs/cli" CometChat ships two complementary command-line tools: -| CLI | Package | What it does | +| Tool | Package | What it does | | --- | --- | --- | -| **Credentials CLI** | `@cometchat/skills-cli` | Dashboard authentication + app-credential provisioning + feature toggles | -| **Skills CLI** | `@cometchat/skills` | Install, list, and verify the [AI Agent Skills](/agent-skills) | +| **Credentials CLI** (`cometchat`) | `@cometchat/skills-cli` | Dashboard authentication + app-credential provisioning + feature toggles | +| **Skills installer** | `@cometchat/skills` | Install, list, and verify the [AI Agent Skills](/agent-skills) | + + +Despite its package name, `@cometchat/skills-cli` is the **credentials** tool — +it doesn't install skills. It provides a `cometchat` command, so the CLI's own +messages (for example *"Run `cometchat auth login`"*) use that short form. This +page runs it through `npx`; `cometchat auth login` and +`npx @cometchat/skills-cli auth login` are the same command. The skills +themselves are installed by `@cometchat/skills`. + The credentials CLI is **standalone** — use it on its own, in a script, or in CI. @@ -113,10 +122,13 @@ The config file `provision` writes: ``` -`.cometchat/config.json` contains your **Auth Key** — add it to `.gitignore`. The -Auth Key is for **development only**; in production, mint a per-user **auth -token** on your backend and log in with `loginWithAuthToken()` instead of -shipping the Auth Key to a client. +`.cometchat/config.json` contains your **Auth Key**. The CLI writes it readable +by your user only (`chmod 600`) and adds it to `.gitignore` for you. If the file +is **already tracked** by git, the CLI warns you — a `.gitignore` entry doesn't +untrack it, so run `git rm --cached .cometchat/config.json` and commit. The Auth +Key is for **development only**; in production, mint a per-user **auth token** on +your backend and log in with `loginWithAuthToken()` instead of shipping the Auth +Key to a client. ### Manage config @@ -125,7 +137,7 @@ Read and edit the local `.cometchat/config.json` (credential/app state only): | Command | Purpose | | --- | --- | -| `config init` | Create an empty config | +| `config init [--app-id ] [--region ] [--auth-key ]` | Create or update the config from the given values — no dashboard login needed | | `config get ` | Read a single value | | `config set ` | Write a single value | | `config show` | Print the full config | @@ -133,7 +145,8 @@ Read and edit the local `.cometchat/config.json` (credential/app state only): ### Toggle features -Enable or disable app features from the terminal: +Enable or disable app features from the terminal. These commands call the +dashboard, so run `auth login` first: | Command | Purpose | | --- | --- | @@ -142,11 +155,19 @@ Enable or disable app features from the terminal: | `features disable ` | Turn a feature off | | `features ai-key ` | Set the app's OpenAI key that AI features need | -Set the OpenAI key AI features require before they can run — the key is a -required argument: +Every `features` command targets the app in `.cometchat/config.json`. Pass +`--app-id ` to target a different app: + +```bash +npx @cometchat/skills-cli features list --app-id "$COMETCHAT_APP_ID" --json +``` + +AI features need an OpenAI key before they can run. The key is a required +argument — pass it from an environment variable so it doesn't land in your shell +history: ```bash -npx @cometchat/skills-cli features ai-key +npx @cometchat/skills-cli features ai-key "$OPENAI_API_KEY" ``` --- @@ -163,31 +184,43 @@ npx @cometchat/skills add | Command | Purpose | | --- | --- | | `detect` | Probe the current project (framework, UI Kit, version conflicts) | -| `add [--ide ]` | Install the skills for an AI agent (default: Claude Code) | +| `add [--ide ] [--no-mcp]` | Install the skills for an AI agent (default: Claude Code) and connect the CometChat Docs MCP (`--no-mcp` skips it) | | `list` | List the skills this pack ships | | `info ` | Show a skill's triggers + compatibility | | `verify [tier]` | Run the skill quality gates | | `catalog` | Refresh the component catalog from the installed UI Kit | | `doctor` | Environment health check | -See [Agent Skills](/agent-skills) for the install picker, supported agents, and -the prompt-driven workflow. +`add` doesn't prompt: with no `--ide` it installs for Claude Code. See +[Agent Skills](/agent-skills) for the supported agents and their `--ide` values, +`--global`, and the prompt-driven workflow. --- ## Scripting and CI -Most commands support `--json` (the exceptions are `config set` and -`config path`, which print plain text), and `add` can be pinned to one agent with -`--ide`, so the whole flow runs non-interactively: +`auth login` is interactive: it opens a browser and waits for you to approve the +sign-in, so on a CI runner it times out (`TIMEOUT`). In CI, skip the dashboard +login and write the config straight from your pipeline secrets with +`config init`, which needs no login: ```bash -# Authenticate, select a known app, and install the skills for Claude Code -npx @cometchat/skills-cli auth login -npx @cometchat/skills-cli provision use --app-id "$COMETCHAT_APP_ID" --json +# Write .cometchat/config.json from CI secrets, then install the skills for Claude Code +npx @cometchat/skills-cli config init --app-id "$COMETCHAT_APP_ID" --region "$COMETCHAT_REGION" --auth-key "$COMETCHAT_AUTH_KEY" npx @cometchat/skills add --ide claude ``` + +Don't add `--json` to `config init` in CI — its JSON output includes the Auth +Key, which would end up in your build logs. Store the App ID, Region, and Auth +Key as masked CI secrets. + + +The commands that call the dashboard — `provision` and `features` — need +`auth login`, so run them from your own machine rather than in CI. Everywhere +else, most commands support `--json` (the exceptions are `config set` and +`config path`, which print plain text). + Commands **exit non-zero on failure** and surface dashboard errors verbatim (for example `ACCESS_DENIED`, `EXPIRED`, `TIMEOUT`, `ABORTED`), so a broken auth or provisioning step fails the CI job loudly instead of continuing with empty @@ -205,6 +238,9 @@ credentials. The manual React UI Kit setup, credentials and all + + The manual Angular UI Kit setup, credentials and all + Open the CometChat dashboard diff --git a/index.mdx b/index.mdx index 2ae62f464..009a8659d 100644 --- a/index.mdx +++ b/index.mdx @@ -124,7 +124,7 @@ canonical: "https://cometchat.com/docs" Additional solutions to customize your CometChat experience.

- + - Let your AI coding agent add CometChat chat & calling to your React app. + Let your AI coding agent add CometChat chat & calling to your React or Angular app. From 1915fe5195d22278a5e5d286471ef868d347f7cb Mon Sep 17 00:00:00 2001 From: rajdubey Date: Fri, 11 Sep 2026 22:25:58 +0530 Subject: [PATCH 03/13] docs(cli): correct provision run behavior, Auth Key output, MCP approval, uninstall MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - cli.mdx: provision run doesn't "pick or create" in general. It uses the only app, prompts when there are several (entering `n` there creates one; needs a TTY), and exits when there are none. Without --json it prints "✓ App ()", not JSON. - cli.mdx: note that config show (with or without --json), config get authKey and provision run --json print the Auth Key in clear. - agent-skills.mdx: Claude Code must approve the cometchat-docs MCP on first start ("Pending approval" until then). - agent-skills.mdx: full uninstall list, covering skill folders, the managed router block in the agent's instruction file, and the cometchat-docs MCP entry (Claude Code, Cursor, Gemini, Codex only). Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_016PKoDnjiUuSaNFfuKLMJFs --- agent-skills.mdx | 12 +++++++++--- cli.mdx | 29 +++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index 675815904..0012ae7ad 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -46,8 +46,11 @@ npx @cometchat/skills add ``` It detects your React or Angular setup and installs the skills for **Claude Code** -by default. It also connects the CometChat Docs MCP server for that agent; pass -`--no-mcp` to skip it. To install for a different agent, pass `--ide`: +by default. It also connects the CometChat Docs MCP server (`cometchat-docs`) for +that agent; pass `--no-mcp` to skip it. In Claude Code, approve `cometchat-docs` +when `claude` asks on first start in the project — until then `claude mcp list` +shows it as *Pending approval*, and the skills fall back to the docs site. To +install for a different agent, pass `--ide`: ```bash npx @cometchat/skills add --ide claude # Claude Code → .claude/skills/ @@ -223,7 +226,10 @@ existing files — you don't have to know the component or prop names. - **Update** — re-run `npx @cometchat/skills add` to pull the latest skills; it overwrites the installed skill tree in place. - **Inspect** — `npx @cometchat/skills list` lists the skills the pack ships, and `npx @cometchat/skills doctor` runs an environment health check. -- **Uninstall** — delete the installed skill directory for your agent (for example `.claude/skills/cometchat*`, `.agents/skills/`, or `./.cometchat/skills`). +- **Uninstall** — there's no uninstall command. Remove what `add` wrote for your agent: + - **The skill files** — `.claude/skills/cometchat*` (Claude Code), `.kiro/skills/cometchat*` (Kiro), `.agents/skills/cometchat*` (Replit), or `./.cometchat/skills` (every other agent). + - **The router block** — for the other agents, `add` also writes a block between `` and `` into the agent's instruction file: `AGENTS.md` (Cursor, Codex, Antigravity, Continue), `.windsurfrules`, `.github/copilot-instructions.md`, `.clinerules/cometchat.md`, `GEMINI.md`, or `CONVENTIONS.md` (Aider). Delete that block and keep the rest of the file. + - **The Docs MCP entry** — remove the `cometchat-docs` server from `.mcp.json` (Claude Code), `.cursor/mcp.json` (Cursor), `.gemini/settings.json` (Gemini), or `.codex/config.toml` (Codex). Other agents get no MCP entry. - **Version control** — commit the skill files so your whole team shares the same setup. Do **not** commit `.cometchat/config.json` or the generated env file — they hold your Auth Key. ## Troubleshooting diff --git a/cli.mdx b/cli.mdx index 3bb4459b6..a12be6a4c 100644 --- a/cli.mdx +++ b/cli.mdx @@ -57,7 +57,7 @@ npx @cometchat/skills-cli auth login # 2. List the apps on your account npx @cometchat/skills-cli provision list --json -# 3. Pick or create an app, fetch creds, write .cometchat/config.json +# 3. Select an app, fetch its creds, write .cometchat/config.json npx @cometchat/skills-cli provision run # 4. Inspect the local config you just wrote @@ -87,14 +87,25 @@ stores the bearer token in your OS keychain (falling back to a `chmod 600` file) npx @cometchat/skills-cli provision run ``` -Fetches your **App ID / Region / Auth Key**, prints them as JSON, and writes a -neutral `.cometchat/config.json`. It writes **no** framework env file — read -`config.json` and set your framework's env vars (`.env` / `VITE_` / -`NEXT_PUBLIC_` …) yourself, or let the agent skills do it. +Fetches the app's **App ID / Region / Auth Key** and writes a neutral +`.cometchat/config.json`, then prints the selected app (`✓ App ()`) +and the config path. Add `--json` to get the credentials as JSON instead. It +writes **no** framework env file — read `config.json` and set your framework's +env vars (`.env` / `VITE_` / `NEXT_PUBLIC_` …) yourself, or let the agent skills +do it. + +Which app it uses depends on how many your account has: + +- **One app** — it uses that app. +- **Several apps** — it lists them and asks you to pick one, or to enter `n` to + create a new app. This needs an interactive terminal; in a script, use + `provision list` and then `provision use --app-id `. +- **No apps** — it exits with an error. Create one first with + `provision create --name `. | Command | Purpose | | --- | --- | -| `provision run` | Interactive: pick or create an app, fetch creds, write config | +| `provision run` | Select an app (see above), fetch its creds, write config | | `provision list` | List the apps on your account | | `provision create --name ` | Create a new app (`--name` required) | | `provision use --app-id ` | Select a specific app by id | @@ -143,6 +154,12 @@ Read and edit the local `.cometchat/config.json` (credential/app state only): | `config show` | Print the full config | | `config path` | Print the config file location | + +`config show` prints the **Auth Key** in clear text, with or without `--json`, +and so do `config get authKey` and `provision run --json`. Avoid running them +while screen-sharing or anywhere the output is logged. + + ### Toggle features Enable or disable app features from the terminal. These commands call the From 8b9bc95c0dbdb2a2e853be905de1224e805c14e2 Mon Sep 17 00:00:00 2001 From: rajdubey Date: Thu, 17 Sep 2026 20:51:34 +0530 Subject: [PATCH 04/13] docs(cli): cover all skill platforms, complete Auth Key note and uninstall steps - agent-skills: document every platform the pack ships (React, Angular, React Native, iOS, Android, Flutter + headless Calls/Chat SDK skills), --family, per-platform credential files, skills and compatibility - agent-skills: uninstall covers top-level shared files, --global, and single-file .clinerules - cli: Auth Key note lists provision create/use and config set authKey; warn that provision use prints the key in scripts; document --family Co-Authored-By: Claude Opus 5 (1M context) --- agent-skills.mdx | 216 +++++++++++++++++++++++++++++------------------ cli.mdx | 28 +++--- index.mdx | 2 +- 3 files changed, 149 insertions(+), 97 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index 0012ae7ad..df5a7ad0d 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -1,7 +1,7 @@ --- title: "Build CometChat with AI Agent Skills" sidebarTitle: "Agent Skills" -description: "Install the CometChat agent skills and let your AI coding agent — Claude Code, Cursor, GitHub Copilot, Replit, and more — add production-grade chat and calling to your React or Angular app from natural-language prompts." +description: "Install the CometChat agent skills and let your AI coding agent — Claude Code, Cursor, GitHub Copilot, Replit, and more — add production-grade chat and calling to your web or mobile app — React, Angular, React Native, iOS, Android, or Flutter — from natural-language prompts." canonical: "https://www.cometchat.com/docs/agent-skills" --- @@ -11,9 +11,11 @@ the agent has a short conversation with you (framework, intent, placement, credentials), then writes production-grade integration code directly into the files you already have. -The skills author against the official **React UI Kit v7** and **Angular UI Kit v5** -task guides and verify their output against them, so what the agent writes builds and -runs against the current published UI Kit — not a hallucinated API. +The skills cover six UI Kits — **React v7**, **Angular v5**, **React Native v5**, +**iOS v5**, **Android v6**, and **Flutter v6** — plus headless **Calls SDK** skills for +calling without a UI Kit. They author against the official CometChat task guides and +verify their output against them, so what the agent writes builds and runs against the +current published UI Kit or SDK — not a hallucinated API. The skills work **inside your existing project** with your existing agent. They @@ -25,16 +27,37 @@ into the app you're already building. - **Node.js 18+** — the installer runs through `npx`, so there's nothing to install globally. - A **CometChat account** — [sign up free](https://app.cometchat.com) to get an app's App ID, Region, and Auth Key. -- An **existing React or Angular app**: - - **React** 18+ — **Vite**, **Create React App**, **Next.js**, **React Router**, or **Astro**. - - **Angular** 17–21 — **Angular CLI** or **Nx**. (Angular 22 is not yet installable: the UI Kit's peer range is `<22.0.0`.) +- An **existing app** on one of the [supported platforms](#supported-platforms). - One of the [supported AI coding agents](#supported-agents) below. +### Supported platforms + +| Platform | UI Kit | Detected from | `--family` | +| --- | --- | --- | --- | +| **React** 18+ — Vite, Create React App, Next.js, React Router, Astro | React UI Kit v7 | `package.json` with `react` | `react` | +| **Angular** 17–21 — Angular CLI or Nx | Angular UI Kit v5 | `package.json` with `@angular/core` | `angular` | +| **React Native** — bare or Expo | React Native UI Kit v5 | `package.json` with `react-native` or `expo` | `react-native` | +| **iOS** — Swift, Swift Package Manager | iOS UI Kit v5 | an Xcode project | `ios` | +| **Android** — Jetpack Compose or Kotlin (Views) | Android UI Kit v6 | `settings.gradle` / `settings.gradle.kts` | `android` | +| **Flutter** | Flutter UI Kit v6 | `pubspec.yaml` | `flutter` | + +Building your own UI instead of using a UI Kit? These headless skills are +installed only when you ask for them with `--family`: + +| Headless skills | `--family` | +| --- | --- | +| Calls SDK v5 — JavaScript | `js-calls` | +| Calls SDK v5 — React Native | `react-native-calls` | +| Calls SDK v5 — iOS | `ios-calls` | +| Calls SDK v5 — Android | `android-calls` | +| Calls SDK v5 — Flutter | `flutter-calls` | +| Chat SDK v5 — Android | `android-sdk` | + -The skills target the **React UI Kit v7** and the **Angular UI Kit v5** today. The -installer tells you if it can't detect a supported setup — it never guesses or -scaffolds a throwaway project. In an empty or ambiguous project the agent asks which -framework you're building rather than assuming one. +The installer tells you if it can't detect a supported setup — it never guesses or +scaffolds a throwaway project. From a monorepo root, where no single framework is +detected, run `add` inside the app folder or pass `--family`. Angular 22 isn't +installable yet: the Angular UI Kit's peer range is `<22.0.0`. ## Install @@ -45,8 +68,8 @@ Run the installer in your project root: npx @cometchat/skills add ``` -It detects your React or Angular setup and installs the skills for **Claude Code** -by default. It also connects the CometChat Docs MCP server (`cometchat-docs`) for +It detects your platform, installs that platform's skills, and installs them for +**Claude Code** by default. It also connects the CometChat Docs MCP server (`cometchat-docs`) for that agent; pass `--no-mcp` to skip it. In Claude Code, approve `cometchat-docs` when `claude` asks on first start in the project — until then `claude mcp list` shows it as *Pending approval*, and the skills fall back to the docs site. To @@ -59,6 +82,15 @@ npx @cometchat/skills add --ide replit # Replit Agent → .agents/skills/ npx @cometchat/skills add --ide all # every supported agent ``` +To pick the platform yourself — from a monorepo root, or to add headless SDK skills +next to a UI Kit — pass `--family`. A second `add` keeps the skills the first one +installed: + +```bash +npx @cometchat/skills add --family flutter # force the Flutter UI Kit skills +npx @cometchat/skills add --family js-calls # add the headless JS Calls SDK skills +``` + ### Supported agents | Agent | Install with | @@ -97,11 +129,12 @@ or type the dispatcher directly: /cometchat ``` -The `cometchat` dispatcher detects your framework and routes to `cometchat-onboarding`, +The `cometchat` dispatcher detects your platform and routes to `cometchat-onboarding`, which walks a short **discover → understand → plan → approve** flow. Once you -approve the plan, it hands a scoped build directive to that family's `core` skill -(`cometchat-react-v7-core` or `cometchat-angular-v5-core`) and pulls in the other -skills as the plan needs them (components, placement, theming, features, calls, push). +approve the plan, it hands a scoped build directive to your platform's `core` skill +(for example `cometchat-react-v7-core`, `cometchat-ios-core`, or +`cometchat-flutter-v6-core`) and pulls in the other skills as the plan needs them +(components, placement, theming, features, calls, push). Keep iterating in plain language afterward: @@ -124,55 +157,74 @@ fetching them from your dashboard: - **Paste manually** — copy App ID, Region, and Auth Key from **Dashboard → Your App → Credentials** if you'd rather not log in. -Either way, the **skill** then writes the framework env file (`.env` / `VITE_` / -`NEXT_PUBLIC_` …) from those credentials — the CLI only fetches them and never -touches your framework code. +Either way, the **skill** then writes your platform's config from those +credentials — the CLI only fetches them and never touches your app code: + +| Platform | Where the credentials go | +| --- | --- | +| React | `.env` with your bundler's prefix (`VITE_` / `NEXT_PUBLIC_` / `PUBLIC_` …) | +| Angular | `src/environments/environment.ts` | +| React Native | `.env` | +| iOS | `Secrets.xcconfig` | +| Android | `app/src/main/assets/cometchat-settings.json` | +| Flutter | `cometchat-settings.json` (a registered asset) | **Keep credentials out of version control.** Both `.cometchat/config.json` and -the generated env file contain your **Auth Key**. Make sure they're in -`.gitignore` — Vite, CRA, and Astro ignore only `*.local` (not `.env`), so add -`.env` yourself; Next.js ignores `.env.local` by default. The Auth Key is for -**development only**: in production, mint a short-lived per-user **auth token** on -your backend and log in with `loginWithAuthToken()` — never ship the Auth Key to -a production client. +the generated credentials file contain your **Auth Key**. Make sure they're in +`.gitignore` — for example, Vite, CRA, and Astro ignore only `*.local` (not +`.env`), so add `.env` yourself. The Auth Key is for **development only**: in +production, mint a short-lived per-user **auth token** on your backend and log in +with it (`loginWithAuthToken()` on web) — never ship the Auth Key to a production +client. ## What's in the pack -Task-shaped skills the agent loads on demand — two shared, then one set per framework: +Task-shaped skills the agent loads on demand. `add` installs the shared skills plus +the skill set for **your** platform only, so one platform's skills never answer +another platform's prompts. + +**Shared skills** (installed for every platform) | Skill | Purpose | | --- | --- | -| `cometchat` | Thin dispatcher — detect the framework and route | +| `cometchat` | Thin dispatcher — detect the platform and route | | `cometchat-onboarding` | Discover → understand → plan → approve (the front door) | -| `cometchat-react-v7-core` | Install · credentials · init → login → render · the golden-path chat surface | -| `cometchat-react-v7-components` | The v7 component catalog + props / slots | -| `cometchat-react-v7-placement` | Where chat lives — full app / sidebar / popup / embed | -| `cometchat-react-v7-customization` | Theming · brand · light/dark · view slots | -| `cometchat-react-v7-patterns` | Vite / Next.js / React Router / Astro glue (env · SSR · routing) | -| `cometchat-react-v7-features` | Enable a feature — reactions · polls · AI · moderation · … | -| `cometchat-react-v7-calls` | Voice / video calling | -| `cometchat-react-v7-push` | Web push (Notifications product) | -| `cometchat-react-v7-migration` | Upgrade a v6 UI Kit → v7 | - -**Angular UI Kit v5** +| `cometchat-migrate-from-sendbird` · `-twilio` · `-getstream` | Migrate an app from Sendbird, Twilio Conversations, or Stream in one prompt | +| `cometchat-security` · `cometchat-compliance` · `cometchat-self-host` · `cometchat-moderation` | Enterprise auth, data governance, self-hosting, and trust & safety | +| `cometchat-a11y` · `cometchat-i18n` · `cometchat-audit` · `cometchat-analytics` | Accessibility, localization, integration review, and usage metrics | + +**Platform skills** + +Every UI Kit platform ships a `core` skill (install · credentials · init → login → +render · the golden-path chat surface) plus the task skills below: + +| Platform | Skill prefix | Skills | +| --- | --- | --- | +| React v7 | `cometchat-react-v7-` | `core` · `components` · `placement` · `customization` · `patterns` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `migration` | +| Angular v5 | `cometchat-angular-v5-` | `core` · `components` · `placement` · `customization` · `patterns` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `migration` | +| React Native v5 | `cometchat-react-native-` | `core` · `components` · `placement` · `customization` · `expo-patterns` · `bare-patterns` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `migration` · `sdk` | +| iOS v5 | `cometchat-ios-` | `core` · `components` · `placement` · `customization` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `migration` | +| Android v6 | `cometchat-android-v6-` | `core` · `compose-components` · `compose-placement` · `compose-customization` · `kotlin-components` · `kotlin-placement` · `kotlin-customization` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `builder-settings` · `events` · `extensions` · `migration` | +| Flutter v6 | `cometchat-flutter-v6-` | `core` · `components` · `placement` · `customization` · `patterns` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `events` · `migration` | + +What the task skills do: | Skill | Purpose | | --- | --- | -| `cometchat-angular-v5-core` | Install · credentials · init → login → render · the golden-path chat surface | -| `cometchat-angular-v5-components` | The v5 component catalog + inputs / outputs / view slots | -| `cometchat-angular-v5-placement` | Where chat lives — chat shell · thread and details panels · routing | -| `cometchat-angular-v5-customization` | Theming · brand · light/dark · view slots | -| `cometchat-angular-v5-patterns` | Angular CLI / Nx glue (environments · SSR · lazy routes · RxJS) | -| `cometchat-angular-v5-features` | Enable a feature — reactions · polls · AI · moderation · … | -| `cometchat-angular-v5-calls` | Voice / video calling | -| `cometchat-angular-v5-push` | Web push (Notifications product) | -| `cometchat-angular-v5-production` | Server-minted auth tokens · hardening before you ship | -| `cometchat-angular-v5-testing` | Testing an app that embeds CometChat | -| `cometchat-angular-v5-troubleshooting` | Diagnosing a broken integration | +| `components` | The UI Kit component catalog + props / inputs / slots | +| `placement` | Where chat lives — full screen, sidebar, popup, embedded panel, navigation | +| `customization` | Theming · brand · light/dark · view slots | +| `patterns` | Framework glue — e.g. Vite / Next.js / React Router / Astro, Angular CLI / Nx, Expo vs bare React Native | +| `features` | Enable a feature — reactions · polls · AI · moderation · … | +| `calls` | Voice / video calling with the UI Kit | +| `push` | Push notifications (Notifications product) | +| `production` | Server-minted auth tokens · hardening before you ship | +| `testing` · `troubleshooting` | Test an app that embeds CometChat · diagnose a broken integration | +| `migration` | Upgrade from the previous UI Kit major | ## Example prompts @@ -217,7 +269,7 @@ plain language. Example prompts, grouped by goal: - *"Set up production authentication with auth tokens."* - *"Add web push notifications."* -- *"Migrate my v6 UI Kit to v7."* +- *"Upgrade my app to the latest UI Kit version."* The agent plans each change with you, then writes the integration into your existing files — you don't have to know the component or prop names. @@ -227,9 +279,9 @@ existing files — you don't have to know the component or prop names. - **Update** — re-run `npx @cometchat/skills add` to pull the latest skills; it overwrites the installed skill tree in place. - **Inspect** — `npx @cometchat/skills list` lists the skills the pack ships, and `npx @cometchat/skills doctor` runs an environment health check. - **Uninstall** — there's no uninstall command. Remove what `add` wrote for your agent: - - **The skill files** — `.claude/skills/cometchat*` (Claude Code), `.kiro/skills/cometchat*` (Kiro), `.agents/skills/cometchat*` (Replit), or `./.cometchat/skills` (every other agent). - - **The router block** — for the other agents, `add` also writes a block between `` and `` into the agent's instruction file: `AGENTS.md` (Cursor, Codex, Antigravity, Continue), `.windsurfrules`, `.github/copilot-instructions.md`, `.clinerules/cometchat.md`, `GEMINI.md`, or `CONVENTIONS.md` (Aider). Delete that block and keep the rest of the file. - - **The Docs MCP entry** — remove the `cometchat-docs` server from `.mcp.json` (Claude Code), `.cursor/mcp.json` (Cursor), `.gemini/settings.json` (Gemini), or `.codex/config.toml` (Codex). Other agents get no MCP entry. + - **The skill files** — `.claude/skills/cometchat*` (Claude Code), `.kiro/skills/cometchat*` (Kiro), `.agents/skills/cometchat*` (Replit), or `./.cometchat/skills` (every other agent). For Claude Code, Kiro, and Replit, also delete the shared files `add` puts at the top of that folder: `RULES.md`, `peers.yaml`, `catalogs/`, and the `features*.json` / `contracts*.json` files. For a `--global` install, use `~/.claude/skills` instead. + - **The router block** — for the other agents, `add` also writes a block between `` and `` into the agent's instruction file: `AGENTS.md` (Cursor, Codex, Antigravity, Continue), `.windsurfrules`, `.github/copilot-instructions.md`, `.clinerules/cometchat.md` (or the `.clinerules` file itself, if yours is a single file), `GEMINI.md`, or `CONVENTIONS.md` (Aider). Delete that block and keep the rest of the file. + - **The Docs MCP entry** — remove the `cometchat-docs` server from `.mcp.json` (Claude Code), `.cursor/mcp.json` (Cursor), `.gemini/settings.json` (Gemini), or `.codex/config.toml` (Codex). For a `--global` Claude Code install, run `claude mcp remove --scope user cometchat-docs`. Other agents get no MCP entry. - **Version control** — commit the skill files so your whole team shares the same setup. Do **not** commit `.cometchat/config.json` or the generated env file — they hold your Auth Key. ## Troubleshooting @@ -237,33 +289,22 @@ existing files — you don't have to know the component or prop names. | Symptom | Likely cause | Fix | | --- | --- | --- | | The agent doesn't pick up the skills | Installed for a different agent, or a router-based agent needs pointing at the tree | Re-run `npx @cometchat/skills add --ide `. For router agents (Cursor, Copilot, …) open `.cometchat/skills/cometchat/SKILL.md` to orient it. | -| Blank screen, no errors | A UI Kit component rendered before `init()` + `login()` resolved, or the wrong Region / env prefix | The `init → login → render` order is required. Check that the Region matches your dashboard app and the env prefix matches your bundler (`VITE_` / `NEXT_PUBLIC_` / `PUBLIC_`). | +| Blank screen, no errors | A UI Kit component rendered before `init` + `login` resolved, or the credentials weren't picked up | The `init → login → render` order is required. Check that the Region matches your dashboard app and that the app reads the [credentials file](#connect-your-credentials) for your platform (on web, the env prefix must match your bundler: `VITE_` / `NEXT_PUBLIC_` / `PUBLIC_`). | | `login()` fails — "user not found" | Logging in a UID that doesn't exist in the app | Use a UID that exists (Dashboard → your app → **Users**; fresh apps seed `cometchat-uid-1`). | | Auth error on init / login | Region mismatch between your code and the dashboard app | Re-check the Region (`us` / `eu` / `in`) in both the dashboard and your env file. | -| `ERROR_API_KEY_NOT_FOUND` | An env var is empty or not picked up by the bundler | Confirm the env file uses the right prefix for your bundler, then restart the dev server. | -| Version conflict during install | An older **v6** UI Kit is already installed | Ask the agent to migrate — the `cometchat-react-v7-migration` skill upgrades v6 → v7. | +| `ERROR_API_KEY_NOT_FOUND` | A credential is empty or not picked up by the build | Confirm the credentials file for your platform is filled in (on web, with the right env prefix for your bundler), then rebuild or restart the dev server. | +| Version conflict during install | An older UI Kit major is already installed (for example React v6 or Android v5) | Ask the agent to migrate — your platform's `migration` skill upgrades it to the version the skills target. | ## Compatibility -**React** - -| Dependency | Version | +| Platform | Packages | | --- | --- | -| `@cometchat/chat-uikit-react` | `7.x` (verified 7.1.x) | -| `@cometchat/chat-sdk-javascript` | `4.x` | -| `@cometchat/calls-sdk-javascript` | `5.x` (calling) | -| React | `≥ 18` | - -**Angular** - -| Dependency | Version | -| --- | --- | -| `@cometchat/chat-uikit-angular` | `5.x` (verified 5.1.0) | -| `@cometchat/chat-sdk-javascript` | `^4.1.13` | -| `@cometchat/cards-angular` | `^1.0.0` | -| `@cometchat/calls-sdk-javascript` | `^5.0.3` (calling) | -| `dompurify` | `^3.0.0` | -| Angular | `≥ 17` and `< 22` | +| React v7 | `@cometchat/chat-uikit-react` `7.x` (verified 7.1.x) · `@cometchat/chat-sdk-javascript` `4.x` · `@cometchat/calls-sdk-javascript` `5.x` (calling) · React `≥ 18` | +| Angular v5 | `@cometchat/chat-uikit-angular` `5.x` (verified 5.1.0) · `@cometchat/chat-sdk-javascript` `^4.1.13` · `@cometchat/cards-angular` `^1.0.0` · `@cometchat/calls-sdk-javascript` `^5.0.3` (calling) · `dompurify` `^3.0.0` · Angular `≥ 17` and `< 22` | +| React Native v5 | `@cometchat/chat-uikit-react-native` `5.x` · `@cometchat/chat-sdk-react-native` `4.x` · `@cometchat/calls-sdk-react-native` `5.x` (calling) | +| iOS v5 | `CometChatUIKitSwift` `5.1.x` · `CometChatSDK` `4.1.x` · `CometChatCallsSDK` `5.0.x` (calling) — Swift Package Manager | +| Android v6 | `com.cometchat:chatuikit-compose-android` or `chatuikit-kotlin-android` `6.0.x` · `chat-sdk-android` `5.0.x` · `calls-sdk-android` `5.0.x` (calling) | +| Flutter v6 | `cometchat_chat_uikit` `^6` (verified 6.1.x) · `cometchat_calls_sdk` `^5` (calling) | Angular 22 is not yet installable — the UI Kit's peer range is `>=17.0.0 <22.0.0`, so @@ -277,16 +318,25 @@ a kit release widens the range. Connect CometChat to any Model Context Protocol–compatible agent - - The manual React UI Kit setup the skills automate + + Fetch credentials and manage the skills from your terminal + + + The manual React setup the skills automate + + + The manual Angular setup the skills automate + + + The manual React Native setup the skills automate - - The manual Angular UI Kit setup the skills automate + + The manual iOS setup the skills automate - - Browse all prebuilt React components + + The manual Android setup the skills automate - - Browse all prebuilt Angular components + + The manual Flutter setup the skills automate diff --git a/cli.mdx b/cli.mdx index a12be6a4c..cfa994b00 100644 --- a/cli.mdx +++ b/cli.mdx @@ -99,7 +99,8 @@ Which app it uses depends on how many your account has: - **One app** — it uses that app. - **Several apps** — it lists them and asks you to pick one, or to enter `n` to create a new app. This needs an interactive terminal; in a script, use - `provision list` and then `provision use --app-id `. + `provision list` and then `provision use --app-id ` (it prints the Auth + Key, so keep its output out of logs). - **No apps** — it exits with an error. Create one first with `provision create --name `. @@ -155,9 +156,11 @@ Read and edit the local `.cometchat/config.json` (credential/app state only): | `config path` | Print the config file location | -`config show` prints the **Auth Key** in clear text, with or without `--json`, -and so do `config get authKey` and `provision run --json`. Avoid running them -while screen-sharing or anywhere the output is logged. +These commands print the **Auth Key** in clear text: `provision create` and +`provision use` (with or without `--json`), `config show` (with or without +`--json`), `config get authKey`, `config set authKey`, and `provision run --json`. +Avoid running them while screen-sharing, and in scripts or CI, where the output +is logged. ### Toggle features @@ -201,16 +204,18 @@ npx @cometchat/skills add | Command | Purpose | | --- | --- | | `detect` | Probe the current project (framework, UI Kit, version conflicts) | -| `add [--ide ] [--no-mcp]` | Install the skills for an AI agent (default: Claude Code) and connect the CometChat Docs MCP (`--no-mcp` skips it) | +| `add [--ide ] [--family ] [--no-mcp]` | Install the skills for your project's platform and an AI agent (default: Claude Code), and connect the CometChat Docs MCP (`--no-mcp` skips it) | | `list` | List the skills this pack ships | | `info ` | Show a skill's triggers + compatibility | | `verify [tier]` | Run the skill quality gates | | `catalog` | Refresh the component catalog from the installed UI Kit | | `doctor` | Environment health check | -`add` doesn't prompt: with no `--ide` it installs for Claude Code. See -[Agent Skills](/agent-skills) for the supported agents and their `--ide` values, -`--global`, and the prompt-driven workflow. +`add` doesn't prompt: with no `--ide` it installs for Claude Code, and with no +`--family` it installs the skills for the platform it detects in the current +project. See [Agent Skills](/agent-skills) for the supported platforms and +agents, their `--family` and `--ide` values, `--global`, and the prompt-driven +workflow. --- @@ -252,11 +257,8 @@ credentials. Connect CometChat to any Model Context Protocol–compatible agent - - The manual React UI Kit setup, credentials and all - - - The manual Angular UI Kit setup, credentials and all + + Pick a UI Kit or SDK for your platform and set it up by hand Open the CometChat dashboard diff --git a/index.mdx b/index.mdx index 009a8659d..a1e37605c 100644 --- a/index.mdx +++ b/index.mdx @@ -142,7 +142,7 @@ canonical: "https://cometchat.com/docs" - Let your AI coding agent add CometChat chat & calling to your React or Angular app. + Let your AI coding agent add CometChat chat & calling to your web or mobile app — React, Angular, React Native, iOS, Android, or Flutter. From 912fd55aa2b8aa1f6fbab5391a90ee937f621094 Mon Sep 17 00:00:00 2001 From: rajdubey Date: Thu, 17 Sep 2026 20:54:22 +0530 Subject: [PATCH 05/13] =?UTF-8?q?docs(cli):=20drop=20--family=20from=20ski?= =?UTF-8?q?lls=20docs=20=E2=80=94=20the=20installer=20detects=20the=20plat?= =?UTF-8?q?form?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 (1M context) --- agent-skills.mdx | 48 +++++++++++++----------------------------------- cli.mdx | 11 +++++------ 2 files changed, 18 insertions(+), 41 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index df5a7ad0d..bfea6b2c4 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -12,10 +12,9 @@ credentials), then writes production-grade integration code directly into the files you already have. The skills cover six UI Kits — **React v7**, **Angular v5**, **React Native v5**, -**iOS v5**, **Android v6**, and **Flutter v6** — plus headless **Calls SDK** skills for -calling without a UI Kit. They author against the official CometChat task guides and +**iOS v5**, **Android v6**, and **Flutter v6**. They author against the official CometChat task guides and verify their output against them, so what the agent writes builds and runs against the -current published UI Kit or SDK — not a hallucinated API. +current published UI Kit — not a hallucinated API. The skills work **inside your existing project** with your existing agent. They @@ -32,32 +31,20 @@ into the app you're already building. ### Supported platforms -| Platform | UI Kit | Detected from | `--family` | -| --- | --- | --- | --- | -| **React** 18+ — Vite, Create React App, Next.js, React Router, Astro | React UI Kit v7 | `package.json` with `react` | `react` | -| **Angular** 17–21 — Angular CLI or Nx | Angular UI Kit v5 | `package.json` with `@angular/core` | `angular` | -| **React Native** — bare or Expo | React Native UI Kit v5 | `package.json` with `react-native` or `expo` | `react-native` | -| **iOS** — Swift, Swift Package Manager | iOS UI Kit v5 | an Xcode project | `ios` | -| **Android** — Jetpack Compose or Kotlin (Views) | Android UI Kit v6 | `settings.gradle` / `settings.gradle.kts` | `android` | -| **Flutter** | Flutter UI Kit v6 | `pubspec.yaml` | `flutter` | - -Building your own UI instead of using a UI Kit? These headless skills are -installed only when you ask for them with `--family`: - -| Headless skills | `--family` | +| Platform | UI Kit | | --- | --- | -| Calls SDK v5 — JavaScript | `js-calls` | -| Calls SDK v5 — React Native | `react-native-calls` | -| Calls SDK v5 — iOS | `ios-calls` | -| Calls SDK v5 — Android | `android-calls` | -| Calls SDK v5 — Flutter | `flutter-calls` | -| Chat SDK v5 — Android | `android-sdk` | +| **React** 18+ — Vite, Create React App, Next.js, React Router, Astro | React UI Kit v7 | +| **Angular** 17–21 — Angular CLI or Nx | Angular UI Kit v5 | +| **React Native** — bare or Expo | React Native UI Kit v5 | +| **iOS** — Swift, Swift Package Manager | iOS UI Kit v5 | +| **Android** — Jetpack Compose or Kotlin (Views) | Android UI Kit v6 | +| **Flutter** | Flutter UI Kit v6 | -The installer tells you if it can't detect a supported setup — it never guesses or -scaffolds a throwaway project. From a monorepo root, where no single framework is -detected, run `add` inside the app folder or pass `--family`. Angular 22 isn't -installable yet: the Angular UI Kit's peer range is `<22.0.0`. +The installer detects your platform from the project — you don't tell it which one. +If it can't detect a supported setup (for example at a monorepo root), it tells you +instead of guessing; run `add` inside the app's folder. Angular 22 isn't installable +yet: the Angular UI Kit's peer range is `<22.0.0`. ## Install @@ -82,15 +69,6 @@ npx @cometchat/skills add --ide replit # Replit Agent → .agents/skills/ npx @cometchat/skills add --ide all # every supported agent ``` -To pick the platform yourself — from a monorepo root, or to add headless SDK skills -next to a UI Kit — pass `--family`. A second `add` keeps the skills the first one -installed: - -```bash -npx @cometchat/skills add --family flutter # force the Flutter UI Kit skills -npx @cometchat/skills add --family js-calls # add the headless JS Calls SDK skills -``` - ### Supported agents | Agent | Install with | diff --git a/cli.mdx b/cli.mdx index cfa994b00..ff7e4f315 100644 --- a/cli.mdx +++ b/cli.mdx @@ -204,18 +204,17 @@ npx @cometchat/skills add | Command | Purpose | | --- | --- | | `detect` | Probe the current project (framework, UI Kit, version conflicts) | -| `add [--ide ] [--family ] [--no-mcp]` | Install the skills for your project's platform and an AI agent (default: Claude Code), and connect the CometChat Docs MCP (`--no-mcp` skips it) | +| `add [--ide ] [--no-mcp]` | Install the skills for your project's platform and an AI agent (default: Claude Code), and connect the CometChat Docs MCP (`--no-mcp` skips it) | | `list` | List the skills this pack ships | | `info ` | Show a skill's triggers + compatibility | | `verify [tier]` | Run the skill quality gates | | `catalog` | Refresh the component catalog from the installed UI Kit | | `doctor` | Environment health check | -`add` doesn't prompt: with no `--ide` it installs for Claude Code, and with no -`--family` it installs the skills for the platform it detects in the current -project. See [Agent Skills](/agent-skills) for the supported platforms and -agents, their `--family` and `--ide` values, `--global`, and the prompt-driven -workflow. +`add` doesn't prompt: it installs the skills for the platform it detects in the +current project, for Claude Code unless you pass `--ide`. See +[Agent Skills](/agent-skills) for the supported platforms and agents, their +`--ide` values, `--global`, and the prompt-driven workflow. --- From fa7aa11cff3ba5576622069789bd9d133a7b7030 Mon Sep 17 00:00:00 2001 From: rajdubey Date: Thu, 17 Sep 2026 21:00:33 +0530 Subject: [PATCH 06/13] docs(agent-skills): fix React env files/prefixes, simplify description, soften credentials intro Co-Authored-By: Claude Opus 5 (1M context) --- agent-skills.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index bfea6b2c4..8917ad380 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -1,7 +1,7 @@ --- title: "Build CometChat with AI Agent Skills" sidebarTitle: "Agent Skills" -description: "Install the CometChat agent skills and let your AI coding agent — Claude Code, Cursor, GitHub Copilot, Replit, and more — add production-grade chat and calling to your web or mobile app — React, Angular, React Native, iOS, Android, or Flutter — from natural-language prompts." +description: "Install the CometChat agent skills so your AI coding agent (Claude Code, Cursor, GitHub Copilot, Replit, and more) can add production-grade chat and calling to your React, Angular, React Native, iOS, Android, or Flutter app from natural-language prompts." canonical: "https://www.cometchat.com/docs/agent-skills" --- @@ -123,7 +123,7 @@ Keep iterating in plain language afterward: ## Connect your credentials -You don't paste your **App ID / Region / Auth Key** by hand. During the build, +You usually don't have to paste your **App ID / Region / Auth Key** by hand. During the build, when the skill notices they're missing, it offers two paths and defaults to fetching them from your dashboard: @@ -140,7 +140,7 @@ credentials — the CLI only fetches them and never touches your app code: | Platform | Where the credentials go | | --- | --- | -| React | `.env` with your bundler's prefix (`VITE_` / `NEXT_PUBLIC_` / `PUBLIC_` …) | +| React | `.env` (`.env.local` for Next.js) with your bundler's prefix: `VITE_` / `REACT_APP_` / `NEXT_PUBLIC_` / `PUBLIC_` | | Angular | `src/environments/environment.ts` | | React Native | `.env` | | iOS | `Secrets.xcconfig` | @@ -267,7 +267,7 @@ existing files — you don't have to know the component or prop names. | Symptom | Likely cause | Fix | | --- | --- | --- | | The agent doesn't pick up the skills | Installed for a different agent, or a router-based agent needs pointing at the tree | Re-run `npx @cometchat/skills add --ide `. For router agents (Cursor, Copilot, …) open `.cometchat/skills/cometchat/SKILL.md` to orient it. | -| Blank screen, no errors | A UI Kit component rendered before `init` + `login` resolved, or the credentials weren't picked up | The `init → login → render` order is required. Check that the Region matches your dashboard app and that the app reads the [credentials file](#connect-your-credentials) for your platform (on web, the env prefix must match your bundler: `VITE_` / `NEXT_PUBLIC_` / `PUBLIC_`). | +| Blank screen, no errors | A UI Kit component rendered before `init` + `login` resolved, or the credentials weren't picked up | The `init → login → render` order is required. Check that the Region matches your dashboard app and that the app reads the [credentials file](#connect-your-credentials) for your platform (on React, the env prefix must match your bundler: `VITE_` / `REACT_APP_` / `NEXT_PUBLIC_` / `PUBLIC_`). | | `login()` fails — "user not found" | Logging in a UID that doesn't exist in the app | Use a UID that exists (Dashboard → your app → **Users**; fresh apps seed `cometchat-uid-1`). | | Auth error on init / login | Region mismatch between your code and the dashboard app | Re-check the Region (`us` / `eu` / `in`) in both the dashboard and your env file. | | `ERROR_API_KEY_NOT_FOUND` | A credential is empty or not picked up by the build | Confirm the credentials file for your platform is filled in (on web, with the right env prefix for your bundler), then rebuild or restart the dev server. | From 62e76d9ed97e5376f8e8ba036897b90a7d4d9d2c Mon Sep 17 00:00:00 2001 From: rajdubey Date: Fri, 18 Sep 2026 11:56:48 +0530 Subject: [PATCH 07/13] =?UTF-8?q?docs(agent-skills):=20match=20the=20publi?= =?UTF-8?q?shed=20pack=20=E2=80=94=20real=20skill=20lists,=20headless=20SD?= =?UTF-8?q?K=20skills,=20Flutter=20asset=20exception?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - shared skills are only the dispatcher and onboarding; drop the migration, enterprise and cross-family skills that @cometchat/skills@5.0.0 doesn't ship - React v7 and iOS don't ship production/testing/troubleshooting - document the headless Calls/Chat SDK skills and the --family flag they need - Flutter's cometchat-settings.json is a registered asset: commit a placeholder instead of gitignoring it Co-Authored-By: Claude Opus 5 (1M context) --- agent-skills.mdx | 46 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index 8917ad380..df543b3d5 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -43,8 +43,9 @@ into the app you're already building. The installer detects your platform from the project — you don't tell it which one. If it can't detect a supported setup (for example at a monorepo root), it tells you -instead of guessing; run `add` inside the app's folder. Angular 22 isn't installable -yet: the Angular UI Kit's peer range is `<22.0.0`. +instead of guessing; run `add` inside the app's folder. (The one time you name a +platform yourself is the [headless SDK skills](#building-your-own-ui).) Angular 22 +isn't installable yet: the Angular UI Kit's peer range is `<22.0.0`. ## Install @@ -155,6 +156,11 @@ the generated credentials file contain your **Auth Key**. Make sure they're in production, mint a short-lived per-user **auth token** on your backend and log in with it (`loginWithAuthToken()` on web) — never ship the Auth Key to a production client. + +**Flutter is the exception:** `cometchat-settings.json` is a registered asset, so a +missing file breaks `flutter build` on a fresh clone. Don't gitignore it — commit a +**placeholder** with an empty `authKey`, and fill in the real credentials locally and +at build time. @@ -171,24 +177,44 @@ another platform's prompts. | --- | --- | | `cometchat` | Thin dispatcher — detect the platform and route | | `cometchat-onboarding` | Discover → understand → plan → approve (the front door) | -| `cometchat-migrate-from-sendbird` · `-twilio` · `-getstream` | Migrate an app from Sendbird, Twilio Conversations, or Stream in one prompt | -| `cometchat-security` · `cometchat-compliance` · `cometchat-self-host` · `cometchat-moderation` | Enterprise auth, data governance, self-hosting, and trust & safety | -| `cometchat-a11y` · `cometchat-i18n` · `cometchat-audit` · `cometchat-analytics` | Accessibility, localization, integration review, and usage metrics | **Platform skills** Every UI Kit platform ships a `core` skill (install · credentials · init → login → -render · the golden-path chat surface) plus the task skills below: +render · the golden-path chat surface) plus the task skills below. The set differs +per platform: | Platform | Skill prefix | Skills | | --- | --- | --- | -| React v7 | `cometchat-react-v7-` | `core` · `components` · `placement` · `customization` · `patterns` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `migration` | +| React v7 | `cometchat-react-v7-` | `core` · `components` · `placement` · `customization` · `patterns` · `features` · `calls` · `push` · `migration` | | Angular v5 | `cometchat-angular-v5-` | `core` · `components` · `placement` · `customization` · `patterns` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `migration` | | React Native v5 | `cometchat-react-native-` | `core` · `components` · `placement` · `customization` · `expo-patterns` · `bare-patterns` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `migration` · `sdk` | -| iOS v5 | `cometchat-ios-` | `core` · `components` · `placement` · `customization` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `migration` | +| iOS v5 | `cometchat-ios-` | `core` · `components` · `placement` · `customization` · `features` · `calls` · `push` · `migration` | | Android v6 | `cometchat-android-v6-` | `core` · `compose-components` · `compose-placement` · `compose-customization` · `kotlin-components` · `kotlin-placement` · `kotlin-customization` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `builder-settings` · `events` · `extensions` · `migration` | | Flutter v6 | `cometchat-flutter-v6-` | `core` · `components` · `placement` · `customization` · `patterns` · `features` · `calls` · `push` · `production` · `testing` · `troubleshooting` · `events` · `migration` | +### Building your own UI + +Want voice/video calling without a UI Kit? The headless **Calls SDK v5** skills — and +the headless Android **Chat SDK v5** skill — aren't installed by `add` on its own. +Ask for them with `--family`, which adds them next to your platform's UI Kit skills: + +```bash +npx @cometchat/skills add --family js-calls # headless JS Calls SDK skills +``` + +| Headless skill | Install with | +| --- | --- | +| `cometchat-js-v5-sdk` — Calls SDK, JavaScript | `--family js-calls` | +| `cometchat-react-native-v5-sdk` — Calls SDK, React Native | `--family react-native-calls` | +| `cometchat-ios-v5-sdk` — Calls SDK, iOS | `--family ios-calls` | +| `cometchat-android-v5-calls-sdk` — Calls SDK, Android | `--family android-calls` | +| `cometchat-flutter-v5-sdk` — Calls SDK, Flutter | `--family flutter-calls` | +| `cometchat-android-v5-sdk` — Chat SDK, Android | `--family android-sdk` | + +If you ask for calling-only in a project without a UI Kit, onboarding walks you +through the choice and tells you which of these to install. + What the task skills do: | Skill | Purpose | @@ -200,8 +226,8 @@ What the task skills do: | `features` | Enable a feature — reactions · polls · AI · moderation · … | | `calls` | Voice / video calling with the UI Kit | | `push` | Push notifications (Notifications product) | -| `production` | Server-minted auth tokens · hardening before you ship | -| `testing` · `troubleshooting` | Test an app that embeds CometChat · diagnose a broken integration | +| `production` | Server-minted auth tokens · hardening before you ship (Angular, React Native, Android, Flutter) | +| `testing` · `troubleshooting` | Test an app that embeds CometChat · diagnose a broken integration (Angular, React Native, Android, Flutter) | | `migration` | Upgrade from the previous UI Kit major | ## Example prompts From 0ce580d50d3065143d84833de59f2dae754b52b5 Mon Sep 17 00:00:00 2001 From: rajdubey Date: Fri, 18 Sep 2026 12:06:08 +0530 Subject: [PATCH 08/13] docs(agent-skills): drop the Angular 22 ERESOLVE note Co-Authored-By: Claude Opus 5 (1M context) --- agent-skills.mdx | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index df543b3d5..d9b0d6103 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -44,8 +44,7 @@ into the app you're already building. The installer detects your platform from the project — you don't tell it which one. If it can't detect a supported setup (for example at a monorepo root), it tells you instead of guessing; run `add` inside the app's folder. (The one time you name a -platform yourself is the [headless SDK skills](#building-your-own-ui).) Angular 22 -isn't installable yet: the Angular UI Kit's peer range is `<22.0.0`. +platform yourself is the [headless SDK skills](#building-your-own-ui).) ## Install @@ -310,12 +309,6 @@ existing files — you don't have to know the component or prop names. | Android v6 | `com.cometchat:chatuikit-compose-android` or `chatuikit-kotlin-android` `6.0.x` · `chat-sdk-android` `5.0.x` · `calls-sdk-android` `5.0.x` (calling) | | Flutter v6 | `cometchat_chat_uikit` `^6` (verified 6.1.x) · `cometchat_calls_sdk` `^5` (calling) | - -Angular 22 is not yet installable — the UI Kit's peer range is `>=17.0.0 <22.0.0`, so -`npm install` fails with `ERESOLVE` on Angular 22. Scaffold with `@angular/cli@21` until -a kit release widens the range. - - ## Next steps From 82aa9ec075b70384087b088f293e73d9ac0c78d4 Mon Sep 17 00:00:00 2001 From: rajdubey Date: Fri, 18 Sep 2026 12:06:43 +0530 Subject: [PATCH 09/13] docs(cli): drop the skills-cli naming note Co-Authored-By: Claude Opus 5 (1M context) --- cli.mdx | 9 --------- 1 file changed, 9 deletions(-) diff --git a/cli.mdx b/cli.mdx index ff7e4f315..92f1ac8f9 100644 --- a/cli.mdx +++ b/cli.mdx @@ -12,15 +12,6 @@ CometChat ships two complementary command-line tools: | **Credentials CLI** (`cometchat`) | `@cometchat/skills-cli` | Dashboard authentication + app-credential provisioning + feature toggles | | **Skills installer** | `@cometchat/skills` | Install, list, and verify the [AI Agent Skills](/agent-skills) | - -Despite its package name, `@cometchat/skills-cli` is the **credentials** tool — -it doesn't install skills. It provides a `cometchat` command, so the CLI's own -messages (for example *"Run `cometchat auth login`"*) use that short form. This -page runs it through `npx`; `cometchat auth login` and -`npx @cometchat/skills-cli auth login` are the same command. The skills -themselves are installed by `@cometchat/skills`. - - The credentials CLI is **standalone** — use it on its own, in a script, or in CI. It's a pure dashboard/API client: it authenticates, fetches your app credentials From 8760bb404035dc972c9029db5fb67e6e7f7a70c2 Mon Sep 17 00:00:00 2001 From: rajdubey Date: Fri, 18 Sep 2026 12:08:00 +0530 Subject: [PATCH 10/13] docs(agent-skills): drop the Angular version range Co-Authored-By: Claude Opus 5 (1M context) --- agent-skills.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index d9b0d6103..393ceb171 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -34,7 +34,7 @@ into the app you're already building. | Platform | UI Kit | | --- | --- | | **React** 18+ — Vite, Create React App, Next.js, React Router, Astro | React UI Kit v7 | -| **Angular** 17–21 — Angular CLI or Nx | Angular UI Kit v5 | +| **Angular** — Angular CLI or Nx | Angular UI Kit v5 | | **React Native** — bare or Expo | React Native UI Kit v5 | | **iOS** — Swift, Swift Package Manager | iOS UI Kit v5 | | **Android** — Jetpack Compose or Kotlin (Views) | Android UI Kit v6 | @@ -303,7 +303,7 @@ existing files — you don't have to know the component or prop names. | Platform | Packages | | --- | --- | | React v7 | `@cometchat/chat-uikit-react` `7.x` (verified 7.1.x) · `@cometchat/chat-sdk-javascript` `4.x` · `@cometchat/calls-sdk-javascript` `5.x` (calling) · React `≥ 18` | -| Angular v5 | `@cometchat/chat-uikit-angular` `5.x` (verified 5.1.0) · `@cometchat/chat-sdk-javascript` `^4.1.13` · `@cometchat/cards-angular` `^1.0.0` · `@cometchat/calls-sdk-javascript` `^5.0.3` (calling) · `dompurify` `^3.0.0` · Angular `≥ 17` and `< 22` | +| Angular v5 | `@cometchat/chat-uikit-angular` `5.x` (verified 5.1.0) · `@cometchat/chat-sdk-javascript` `^4.1.13` · `@cometchat/cards-angular` `^1.0.0` · `@cometchat/calls-sdk-javascript` `^5.0.3` (calling) · `dompurify` `^3.0.0` | | React Native v5 | `@cometchat/chat-uikit-react-native` `5.x` · `@cometchat/chat-sdk-react-native` `4.x` · `@cometchat/calls-sdk-react-native` `5.x` (calling) | | iOS v5 | `CometChatUIKitSwift` `5.1.x` · `CometChatSDK` `4.1.x` · `CometChatCallsSDK` `5.0.x` (calling) — Swift Package Manager | | Android v6 | `com.cometchat:chatuikit-compose-android` or `chatuikit-kotlin-android` `6.0.x` · `chat-sdk-android` `5.0.x` · `calls-sdk-android` `5.0.x` (calling) | From db4f4c2f863c853eb1ae5389606c9a9b545c7fd5 Mon Sep 17 00:00:00 2001 From: rajdubey Date: Fri, 18 Sep 2026 12:18:42 +0530 Subject: [PATCH 11/13] docs(agent-skills): list only the supported agents Co-Authored-By: Claude Opus 5 (1M context) --- agent-skills.mdx | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index 393ceb171..588c7af9e 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -75,16 +75,12 @@ npx @cometchat/skills add --ide all # every supported agent | --- | --- | | Claude Code | `--ide claude` | | Cursor | `--ide cursor` | +| Kiro | `--ide kiro` | +| Antigravity | `--ide antigravity` | | GitHub Copilot | `--ide copilot` | -| Windsurf | `--ide windsurf` | | Replit Agent | `--ide replit` | -| Cline | `--ide cline` | | Codex | `--ide codex` | | Gemini | `--ide gemini` | -| Continue | `--ide continue` | -| Aider | `--ide aider` | -| Kiro | `--ide kiro` | -| Antigravity | `--ide antigravity` | Claude Code, Kiro, and Replit get a native `SKILL.md` tree. The other agents get @@ -283,7 +279,7 @@ existing files — you don't have to know the component or prop names. - **Inspect** — `npx @cometchat/skills list` lists the skills the pack ships, and `npx @cometchat/skills doctor` runs an environment health check. - **Uninstall** — there's no uninstall command. Remove what `add` wrote for your agent: - **The skill files** — `.claude/skills/cometchat*` (Claude Code), `.kiro/skills/cometchat*` (Kiro), `.agents/skills/cometchat*` (Replit), or `./.cometchat/skills` (every other agent). For Claude Code, Kiro, and Replit, also delete the shared files `add` puts at the top of that folder: `RULES.md`, `peers.yaml`, `catalogs/`, and the `features*.json` / `contracts*.json` files. For a `--global` install, use `~/.claude/skills` instead. - - **The router block** — for the other agents, `add` also writes a block between `` and `` into the agent's instruction file: `AGENTS.md` (Cursor, Codex, Antigravity, Continue), `.windsurfrules`, `.github/copilot-instructions.md`, `.clinerules/cometchat.md` (or the `.clinerules` file itself, if yours is a single file), `GEMINI.md`, or `CONVENTIONS.md` (Aider). Delete that block and keep the rest of the file. + - **The router block** — for the other agents, `add` also writes a block between `` and `` into the agent's instruction file: `AGENTS.md` (Cursor, Codex, Antigravity), `.github/copilot-instructions.md`, or `GEMINI.md`. Delete that block and keep the rest of the file. - **The Docs MCP entry** — remove the `cometchat-docs` server from `.mcp.json` (Claude Code), `.cursor/mcp.json` (Cursor), `.gemini/settings.json` (Gemini), or `.codex/config.toml` (Codex). For a `--global` Claude Code install, run `claude mcp remove --scope user cometchat-docs`. Other agents get no MCP entry. - **Version control** — commit the skill files so your whole team shares the same setup. Do **not** commit `.cometchat/config.json` or the generated env file — they hold your Auth Key. From 2764a57b585d801a6b2d3ed96fd51bda8e3270c6 Mon Sep 17 00:00:00 2001 From: "raj.CometChat" <92921875+raj-dubey1@users.noreply.github.com> Date: Fri, 18 Sep 2026 17:18:01 +0530 Subject: [PATCH 12/13] =?UTF-8?q?docs(cli):=20address=20review=20nits=20?= =?UTF-8?q?=E2=80=94=20full=20agent=20list=20+=20uninstall=20coverage,=20F?= =?UTF-8?q?lutter=20version-control=20carve-out,=20cometchat=20command=20n?= =?UTF-8?q?ote,=20Android/router=20--family=20caveats?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01PT9pMg3MSZEW3gsb6jPc3E --- agent-skills.mdx | 21 +++++++++++++++++++-- cli.mdx | 6 ++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index 588c7af9e..c21e26e03 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -81,6 +81,10 @@ npx @cometchat/skills add --ide all # every supported agent | Replit Agent | `--ide replit` | | Codex | `--ide codex` | | Gemini | `--ide gemini` | +| Windsurf | `--ide windsurf` | +| Cline | `--ide cline` | +| Continue | `--ide continue` | +| Aider | `--ide aider` | Claude Code, Kiro, and Replit get a native `SKILL.md` tree. The other agents get @@ -210,6 +214,19 @@ npx @cometchat/skills add --family js-calls # headless JS Calls SDK skills If you ask for calling-only in a project without a UI Kit, onboarding walks you through the choice and tells you which of these to install. + +Two things to know about the Android rows: `--family android-sdk` and `--family +android-calls` share the `cometchat-android-v5-` folder, so installing **either** +brings in both the Android Chat SDK and Calls SDK skills. + +And for the router-file agents (Cursor, Codex, Copilot, Gemini, Antigravity, +Continue), a later `--family` run **rewrites** the managed router block in +`AGENTS.md` (and the equivalent files) to the requested family — so pass your +platform and `--family` in the same command, or the UI Kit router block is +replaced by the calls one. The skill **folders** in `.cometchat/skills` are +additive; only the router block is rewritten. + + What the task skills do: | Skill | Purpose | @@ -279,9 +296,9 @@ existing files — you don't have to know the component or prop names. - **Inspect** — `npx @cometchat/skills list` lists the skills the pack ships, and `npx @cometchat/skills doctor` runs an environment health check. - **Uninstall** — there's no uninstall command. Remove what `add` wrote for your agent: - **The skill files** — `.claude/skills/cometchat*` (Claude Code), `.kiro/skills/cometchat*` (Kiro), `.agents/skills/cometchat*` (Replit), or `./.cometchat/skills` (every other agent). For Claude Code, Kiro, and Replit, also delete the shared files `add` puts at the top of that folder: `RULES.md`, `peers.yaml`, `catalogs/`, and the `features*.json` / `contracts*.json` files. For a `--global` install, use `~/.claude/skills` instead. - - **The router block** — for the other agents, `add` also writes a block between `` and `` into the agent's instruction file: `AGENTS.md` (Cursor, Codex, Antigravity), `.github/copilot-instructions.md`, or `GEMINI.md`. Delete that block and keep the rest of the file. + - **The router block** — for the other agents, `add` also writes a block between `` and `` into the agent's instruction file: `AGENTS.md` (Cursor, Codex, Antigravity, Continue), `.github/copilot-instructions.md` (Copilot), `GEMINI.md` (Gemini), `.windsurfrules` (Windsurf), `.clinerules/cometchat.md` (Cline), or `CONVENTIONS.md` (Aider). Delete that block and keep the rest of the file. - **The Docs MCP entry** — remove the `cometchat-docs` server from `.mcp.json` (Claude Code), `.cursor/mcp.json` (Cursor), `.gemini/settings.json` (Gemini), or `.codex/config.toml` (Codex). For a `--global` Claude Code install, run `claude mcp remove --scope user cometchat-docs`. Other agents get no MCP entry. -- **Version control** — commit the skill files so your whole team shares the same setup. Do **not** commit `.cometchat/config.json` or the generated env file — they hold your Auth Key. +- **Version control** — commit the skill files so your whole team shares the same setup. Do **not** commit `.cometchat/config.json` or the generated env file — they hold your Auth Key. (Flutter is the exception: commit the `cometchat-settings.json` **placeholder** with an empty `authKey`, as noted above — a missing asset breaks `flutter build` — and keep the real credentials local.) ## Troubleshooting diff --git a/cli.mdx b/cli.mdx index 92f1ac8f9..afd853064 100644 --- a/cli.mdx +++ b/cli.mdx @@ -26,6 +26,12 @@ Both run through `npx` with no global install, and most commands accept `--json` for machine-readable output (the exceptions are `config set` and `config path`, which print plain text). +The credentials CLI's binary is named `cometchat`, so its own prompts refer to it +that way (for example, "Run `cometchat auth login`"). It's the same tool: run it as +`npx @cometchat/skills-cli ` (as shown throughout this page), or +`npm install -g @cometchat/skills-cli` once to use the shorter `cometchat` command +directly. + ## Prerequisites - **Node.js 18+** — both CLIs run through `npx`. From 9ac71fc5ff6985d8d1513e120aa15e9b9b2bbd36 Mon Sep 17 00:00:00 2001 From: "raj.CometChat" <92921875+raj-dubey1@users.noreply.github.com> Date: Fri, 18 Sep 2026 17:47:16 +0530 Subject: [PATCH 13/13] docs(agent-skills): fix impossible --family advice (re-run without --family to restore UI Kit block), complete router-file agent list, restore single-file .clinerules uninstall case Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01PT9pMg3MSZEW3gsb6jPc3E --- agent-skills.mdx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/agent-skills.mdx b/agent-skills.mdx index c21e26e03..5a1f9c8e6 100644 --- a/agent-skills.mdx +++ b/agent-skills.mdx @@ -219,12 +219,13 @@ Two things to know about the Android rows: `--family android-sdk` and `--family android-calls` share the `cometchat-android-v5-` folder, so installing **either** brings in both the Android Chat SDK and Calls SDK skills. -And for the router-file agents (Cursor, Codex, Copilot, Gemini, Antigravity, -Continue), a later `--family` run **rewrites** the managed router block in -`AGENTS.md` (and the equivalent files) to the requested family — so pass your -platform and `--family` in the same command, or the UI Kit router block is -replaced by the calls one. The skill **folders** in `.cometchat/skills` are -additive; only the router block is rewritten. +And for the router-file agents (every agent other than Claude Code, Kiro and +Replit), the managed router block in `AGENTS.md` (and the equivalent files) always +points to the **last** family you installed. `--family` takes a single value and +replaces detection, so it can't be combined with your platform in one run — after a +`--family` run, re-run `npx @cometchat/skills add --ide ` **without** +`--family` to point the block back at your UI Kit skills. The skill **folders** in +`.cometchat/skills` are additive, so the calls skills stay installed either way. What the task skills do: @@ -296,7 +297,7 @@ existing files — you don't have to know the component or prop names. - **Inspect** — `npx @cometchat/skills list` lists the skills the pack ships, and `npx @cometchat/skills doctor` runs an environment health check. - **Uninstall** — there's no uninstall command. Remove what `add` wrote for your agent: - **The skill files** — `.claude/skills/cometchat*` (Claude Code), `.kiro/skills/cometchat*` (Kiro), `.agents/skills/cometchat*` (Replit), or `./.cometchat/skills` (every other agent). For Claude Code, Kiro, and Replit, also delete the shared files `add` puts at the top of that folder: `RULES.md`, `peers.yaml`, `catalogs/`, and the `features*.json` / `contracts*.json` files. For a `--global` install, use `~/.claude/skills` instead. - - **The router block** — for the other agents, `add` also writes a block between `` and `` into the agent's instruction file: `AGENTS.md` (Cursor, Codex, Antigravity, Continue), `.github/copilot-instructions.md` (Copilot), `GEMINI.md` (Gemini), `.windsurfrules` (Windsurf), `.clinerules/cometchat.md` (Cline), or `CONVENTIONS.md` (Aider). Delete that block and keep the rest of the file. + - **The router block** — for the other agents, `add` also writes a block between `` and `` into the agent's instruction file: `AGENTS.md` (Cursor, Codex, Antigravity, Continue), `.github/copilot-instructions.md` (Copilot), `GEMINI.md` (Gemini), `.windsurfrules` (Windsurf), `.clinerules/cometchat.md` — or `.clinerules` itself when you already have that as a file — (Cline), or `CONVENTIONS.md` (Aider). Delete that block and keep the rest of the file. - **The Docs MCP entry** — remove the `cometchat-docs` server from `.mcp.json` (Claude Code), `.cursor/mcp.json` (Cursor), `.gemini/settings.json` (Gemini), or `.codex/config.toml` (Codex). For a `--global` Claude Code install, run `claude mcp remove --scope user cometchat-docs`. Other agents get no MCP entry. - **Version control** — commit the skill files so your whole team shares the same setup. Do **not** commit `.cometchat/config.json` or the generated env file — they hold your Auth Key. (Flutter is the exception: commit the `cometchat-settings.json` **placeholder** with an empty `authKey`, as noted above — a missing asset breaks `flutter build` — and keep the real credentials local.)