@cometchat/skills 4.4.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. package/.claude-plugin/marketplace.json +55 -0
  2. package/.claude-plugin/plugin.json +14 -0
  3. package/CHANGELOG.md +36 -0
  4. package/README.md +41 -163
  5. package/RULES.md +114 -0
  6. package/bin/cometchat-skills.mjs +1180 -0
  7. package/bin/legacy-skills.json +95 -0
  8. package/catalogs/android-v6.json +1646 -0
  9. package/catalogs/flutter-v6.json +651 -0
  10. package/catalogs/ios-v5.json +1383 -0
  11. package/catalogs/rn-calls-v5.json +134 -0
  12. package/catalogs/rn-calls-v5.symbols.txt +58 -0
  13. package/catalogs/rn-sdk-v4.json +672 -0
  14. package/catalogs/rn-v5.json +449 -0
  15. package/catalogs/rn-v5.symbols.txt +216 -0
  16. package/catalogs/sdk-android-v5.json +514 -0
  17. package/contracts.android-calls-v5.json +122 -0
  18. package/contracts.android-v6.json +135 -0
  19. package/contracts.angular-v5.json +694 -0
  20. package/contracts.flutter-calls-v5.json +77 -0
  21. package/contracts.flutter-v6.json +126 -0
  22. package/contracts.ios-calls-v5.json +67 -0
  23. package/contracts.ios-v5.json +436 -0
  24. package/contracts.json +82 -0
  25. package/contracts.rn-calls-v5.json +77 -0
  26. package/contracts.rn-v5.json +727 -0
  27. package/contracts.sdk-android-v5.json +15 -0
  28. package/contracts.web-calls-v5.json +45 -0
  29. package/features.android-calls-v5.json +246 -0
  30. package/features.android-v6.json +65 -0
  31. package/features.angular-v5.json +521 -0
  32. package/features.flutter-calls-v5.json +286 -0
  33. package/features.flutter-v6.json +484 -0
  34. package/features.ios-calls-v5.json +236 -0
  35. package/features.ios-v5.json +573 -0
  36. package/features.json +61 -0
  37. package/features.rn-calls-v5.json +187 -0
  38. package/features.rn-v5.json +614 -0
  39. package/features.sdk-android-v5.json +40 -0
  40. package/features.sdk-jsv4.json +24 -0
  41. package/features.web-calls-v5.json +108 -0
  42. package/package.json +151 -74
  43. package/peers.yaml +312 -0
  44. package/registry/README.md +31 -0
  45. package/registry/android-calls-v5.json +54 -0
  46. package/registry/android-v6.json +137 -0
  47. package/registry/angular-v5.json +114 -0
  48. package/registry/flutter-calls-v5.json +54 -0
  49. package/registry/flutter-v6.json +119 -0
  50. package/registry/ios-calls-v5.json +59 -0
  51. package/registry/ios-v5.json +97 -0
  52. package/registry/rn-calls-v5.json +59 -0
  53. package/registry/rn-v5.json +129 -0
  54. package/registry/sdk-android-v5.json +53 -0
  55. package/registry/sdk-jsv4.json +53 -0
  56. package/registry/web-calls-v5.json +54 -0
  57. package/registry/web-v7.json +99 -0
  58. package/skills/cometchat/SKILL.md +42 -2096
  59. package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
  60. package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
  61. package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
  62. package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
  63. package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
  64. package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
  65. package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
  66. package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
  67. package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
  68. package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
  69. package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
  70. package/skills/cometchat-android-v6-calls/SKILL.md +128 -411
  71. package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
  72. package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
  73. package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
  74. package/skills/cometchat-android-v6-core/SKILL.md +236 -672
  75. package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
  76. package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
  77. package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
  78. package/skills/cometchat-android-v6-core/references/layout.md +112 -0
  79. package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
  80. package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
  81. package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
  82. package/skills/cometchat-android-v6-events/SKILL.md +46 -184
  83. package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
  84. package/skills/cometchat-android-v6-features/SKILL.md +74 -143
  85. package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
  86. package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
  87. package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
  88. package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
  89. package/skills/cometchat-android-v6-production/SKILL.md +40 -179
  90. package/skills/cometchat-android-v6-push/SKILL.md +39 -289
  91. package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
  92. package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
  93. package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
  94. package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
  95. package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
  96. package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
  97. package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
  98. package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
  99. package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
  100. package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
  101. package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
  102. package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
  103. package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
  104. package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
  105. package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
  106. package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
  107. package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
  108. package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
  109. package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
  110. package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
  111. package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
  112. package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
  113. package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
  114. package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
  115. package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
  116. package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
  117. package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
  118. package/skills/cometchat-angular-v5-production/SKILL.md +101 -0
  119. package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
  120. package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
  121. package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
  122. package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
  123. package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
  124. package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
  125. package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
  126. package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
  127. package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -387
  128. package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
  129. package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
  130. package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
  131. package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
  132. package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
  133. package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
  134. package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
  135. package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
  136. package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
  137. package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
  138. package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
  139. package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
  140. package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +131 -0
  141. package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
  142. package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
  143. package/skills/cometchat-flutter-v6-production/SKILL.md +58 -615
  144. package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
  145. package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
  146. package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
  147. package/skills/cometchat-ios-calls/SKILL.md +105 -511
  148. package/skills/cometchat-ios-components/SKILL.md +44 -834
  149. package/skills/cometchat-ios-core/SKILL.md +181 -1068
  150. package/skills/cometchat-ios-core/references/anti-patterns.md +80 -0
  151. package/skills/cometchat-ios-core/references/docs-map.md +123 -0
  152. package/skills/cometchat-ios-core/references/install.md +23 -0
  153. package/skills/cometchat-ios-core/references/layout.md +186 -0
  154. package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
  155. package/skills/cometchat-ios-core/references/swiftui.md +91 -0
  156. package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
  157. package/skills/cometchat-ios-customization/SKILL.md +33 -968
  158. package/skills/cometchat-ios-features/SKILL.md +29 -738
  159. package/skills/cometchat-ios-migration/SKILL.md +39 -0
  160. package/skills/cometchat-ios-placement/SKILL.md +51 -729
  161. package/skills/cometchat-ios-push/SKILL.md +24 -602
  162. package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
  163. package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
  164. package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
  165. package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
  166. package/skills/cometchat-onboarding/SKILL.md +89 -0
  167. package/skills/cometchat-onboarding/references/archetypes.md +51 -0
  168. package/skills/cometchat-onboarding/references/calling-first.md +77 -0
  169. package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
  170. package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
  171. package/skills/cometchat-onboarding/references/platforms.md +90 -0
  172. package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
  173. package/skills/cometchat-react-native-calls/SKILL.md +200 -0
  174. package/skills/cometchat-react-native-components/SKILL.md +142 -0
  175. package/skills/cometchat-react-native-core/SKILL.md +313 -0
  176. package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
  177. package/skills/cometchat-react-native-core/references/component-props.md +105 -0
  178. package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
  179. package/skills/cometchat-react-native-core/references/docs-map.md +126 -0
  180. package/skills/cometchat-react-native-core/references/layout.md +61 -0
  181. package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
  182. package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
  183. package/skills/cometchat-react-native-customization/SKILL.md +198 -0
  184. package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
  185. package/skills/cometchat-react-native-features/SKILL.md +122 -0
  186. package/skills/cometchat-react-native-migration/SKILL.md +103 -0
  187. package/skills/cometchat-react-native-placement/SKILL.md +158 -0
  188. package/skills/cometchat-react-native-production/SKILL.md +78 -0
  189. package/skills/cometchat-react-native-push/SKILL.md +88 -0
  190. package/skills/cometchat-react-native-sdk/SKILL.md +126 -0
  191. package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
  192. package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
  193. package/skills/cometchat-react-native-testing/SKILL.md +94 -0
  194. package/skills/cometchat-react-native-troubleshooting/SKILL.md +116 -0
  195. package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
  196. package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
  197. package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
  198. package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
  199. package/skills/cometchat-react-v7-components/SKILL.md +72 -0
  200. package/skills/cometchat-react-v7-core/SKILL.md +101 -0
  201. package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
  202. package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
  203. package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
  204. package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
  205. package/skills/cometchat-react-v7-core/references/i18n-rtl-a11y.md +22 -0
  206. package/skills/cometchat-react-v7-core/references/layout.md +158 -0
  207. package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
  208. package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
  209. package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
  210. package/skills/cometchat-react-v7-core/references/theming.md +52 -0
  211. package/skills/cometchat-react-v7-core/references/troubleshooting.md +28 -0
  212. package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
  213. package/skills/cometchat-react-v7-features/SKILL.md +92 -0
  214. package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
  215. package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
  216. package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
  217. package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
  218. package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
  219. package/skills/cometchat-react-v7-push/SKILL.md +53 -0
  220. package/test-suite/README.md +70 -0
  221. package/test-suite/catalogs/android-calls-v5.json +830 -0
  222. package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
  223. package/test-suite/catalogs/android-v6.json +1646 -0
  224. package/test-suite/catalogs/android-v6.symbols.txt +298 -0
  225. package/test-suite/catalogs/angular-v5.json +7587 -0
  226. package/test-suite/catalogs/flutter-calls-v5.json +196 -0
  227. package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
  228. package/test-suite/catalogs/flutter-v6.json +651 -0
  229. package/test-suite/catalogs/ios-calls-v5.json +158 -0
  230. package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
  231. package/test-suite/catalogs/ios-v5.json +1383 -0
  232. package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
  233. package/test-suite/catalogs/rn-calls-v5.json +134 -0
  234. package/test-suite/catalogs/rn-sdk-v4.json +672 -0
  235. package/test-suite/catalogs/rn-v5.json +449 -0
  236. package/test-suite/catalogs/sdk-android-v5.json +514 -0
  237. package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
  238. package/test-suite/catalogs/sdk-jsv4.json +800 -0
  239. package/test-suite/catalogs/web-calls-v5.json +195 -0
  240. package/test-suite/catalogs/web-v7.json +1243 -0
  241. package/test-suite/scripts/build-registry.mjs +113 -0
  242. package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
  243. package/test-suite/scripts/catalog-refresh.mjs +100 -0
  244. package/test-suite/scripts/lint-skills.mjs +909 -0
  245. package/test-suite/scripts/measure-tokens.mjs +169 -0
  246. package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
  247. package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
  248. package/test-suite/scripts/typecheck-fences.mjs +206 -0
  249. package/test-suite/scripts/verify-catalog.mjs +242 -0
  250. package/test-suite/scripts/verify-contract-fences.mjs +94 -0
  251. package/test-suite/scripts/verify-detection.mjs +178 -0
  252. package/test-suite/scripts/verify-docs-base.mjs +91 -0
  253. package/test-suite/scripts/verify-family-agnostic.mjs +130 -0
  254. package/test-suite/scripts/verify-golden-path.mjs +138 -0
  255. package/test-suite/scripts/verify-oracle-components.mjs +133 -0
  256. package/test-suite/scripts/verify-template-bindings.mjs +148 -0
  257. package/test-suite/typecheck/angular-v5/package.json +21 -0
  258. package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
  259. package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
  260. package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
  261. package/test-suite/typecheck/web-v7/package.json +18 -0
  262. package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
  263. package/bin/install.js +0 -1003
  264. package/skills/.claude-plugin/marketplace.json +0 -86
  265. package/skills/cometchat/references/asking-questions.md +0 -48
  266. package/skills/cometchat-a11y/SKILL.md +0 -477
  267. package/skills/cometchat-android-v5/SKILL.md +0 -121
  268. package/skills/cometchat-android-v5-calls/SKILL.md +0 -427
  269. package/skills/cometchat-android-v5-calls/references/README.md +0 -53
  270. package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
  271. package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
  272. package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
  273. package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
  274. package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
  275. package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
  276. package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
  277. package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
  278. package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
  279. package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
  280. package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
  281. package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
  282. package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
  283. package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
  284. package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
  285. package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
  286. package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
  287. package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
  288. package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
  289. package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
  290. package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
  291. package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
  292. package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
  293. package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
  294. package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
  295. package/skills/cometchat-android-v5-components/SKILL.md +0 -431
  296. package/skills/cometchat-android-v5-core/SKILL.md +0 -486
  297. package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
  298. package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
  299. package/skills/cometchat-android-v5-features/SKILL.md +0 -131
  300. package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
  301. package/skills/cometchat-android-v5-production/SKILL.md +0 -95
  302. package/skills/cometchat-android-v5-push/SKILL.md +0 -619
  303. package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
  304. package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
  305. package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
  306. package/skills/cometchat-android-v6/SKILL.md +0 -108
  307. package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
  308. package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
  309. package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
  310. package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
  311. package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
  312. package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
  313. package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
  314. package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
  315. package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
  316. package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
  317. package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
  318. package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
  319. package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
  320. package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
  321. package/skills/cometchat-angular-calls/SKILL.md +0 -378
  322. package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
  323. package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
  324. package/skills/cometchat-angular-calls/references/call-session.md +0 -167
  325. package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
  326. package/skills/cometchat-angular-calls/references/device-management.md +0 -154
  327. package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
  328. package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
  329. package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
  330. package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
  331. package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
  332. package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
  333. package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
  334. package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
  335. package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
  336. package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
  337. package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
  338. package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
  339. package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
  340. package/skills/cometchat-angular-components/SKILL.md +0 -235
  341. package/skills/cometchat-angular-core/SKILL.md +0 -386
  342. package/skills/cometchat-angular-customization/SKILL.md +0 -616
  343. package/skills/cometchat-angular-features/SKILL.md +0 -329
  344. package/skills/cometchat-angular-patterns/SKILL.md +0 -256
  345. package/skills/cometchat-angular-placement/SKILL.md +0 -314
  346. package/skills/cometchat-angular-production/SKILL.md +0 -564
  347. package/skills/cometchat-angular-push/SKILL.md +0 -389
  348. package/skills/cometchat-angular-testing/SKILL.md +0 -605
  349. package/skills/cometchat-angular-theming/SKILL.md +0 -290
  350. package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
  351. package/skills/cometchat-astro-patterns/SKILL.md +0 -708
  352. package/skills/cometchat-calls/SKILL.md +0 -364
  353. package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
  354. package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
  355. package/skills/cometchat-calls/references/use-case-support.md +0 -189
  356. package/skills/cometchat-calls/references/use-case-team.md +0 -180
  357. package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
  358. package/skills/cometchat-components/SKILL.md +0 -1142
  359. package/skills/cometchat-core/SKILL.md +0 -1048
  360. package/skills/cometchat-customization/SKILL.md +0 -580
  361. package/skills/cometchat-customization/references/component-catalog.md +0 -236
  362. package/skills/cometchat-features/SKILL.md +0 -861
  363. package/skills/cometchat-flutter-v5/SKILL.md +0 -173
  364. package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -453
  365. package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
  366. package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
  367. package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
  368. package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
  369. package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
  370. package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
  371. package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
  372. package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
  373. package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
  374. package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
  375. package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
  376. package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
  377. package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
  378. package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
  379. package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
  380. package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
  381. package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
  382. package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
  383. package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
  384. package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
  385. package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
  386. package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
  387. package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
  388. package/skills/cometchat-flutter-v6/SKILL.md +0 -446
  389. package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
  390. package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
  391. package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
  392. package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
  393. package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
  394. package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
  395. package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
  396. package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
  397. package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
  398. package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
  399. package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
  400. package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
  401. package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
  402. package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
  403. package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
  404. package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
  405. package/skills/cometchat-i18n/SKILL.md +0 -419
  406. package/skills/cometchat-ios/SKILL.md +0 -325
  407. package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -174
  408. package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
  409. package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
  410. package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
  411. package/skills/cometchat-ios-calls/references/call-session.md +0 -218
  412. package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
  413. package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
  414. package/skills/cometchat-ios-calls/references/device-management.md +0 -171
  415. package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
  416. package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
  417. package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
  418. package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
  419. package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
  420. package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
  421. package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
  422. package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
  423. package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
  424. package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
  425. package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
  426. package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
  427. package/skills/cometchat-ios-production/SKILL.md +0 -738
  428. package/skills/cometchat-ios-testing/SKILL.md +0 -376
  429. package/skills/cometchat-ios-theming/SKILL.md +0 -667
  430. package/skills/cometchat-ios-troubleshooting/SKILL.md +0 -1003
  431. package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
  432. package/skills/cometchat-native-calls/SKILL.md +0 -669
  433. package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
  434. package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
  435. package/skills/cometchat-native-calls/references/call-session.md +0 -182
  436. package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
  437. package/skills/cometchat-native-calls/references/device-management.md +0 -158
  438. package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
  439. package/skills/cometchat-native-calls/references/group-calls.md +0 -296
  440. package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
  441. package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
  442. package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
  443. package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
  444. package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
  445. package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
  446. package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
  447. package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
  448. package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
  449. package/skills/cometchat-native-calls/references/share-invite.md +0 -146
  450. package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
  451. package/skills/cometchat-native-components/SKILL.md +0 -628
  452. package/skills/cometchat-native-core/SKILL.md +0 -679
  453. package/skills/cometchat-native-customization/SKILL.md +0 -716
  454. package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
  455. package/skills/cometchat-native-features/SKILL.md +0 -638
  456. package/skills/cometchat-native-placement/SKILL.md +0 -509
  457. package/skills/cometchat-native-production/SKILL.md +0 -700
  458. package/skills/cometchat-native-push/SKILL.md +0 -594
  459. package/skills/cometchat-native-testing/SKILL.md +0 -582
  460. package/skills/cometchat-native-theming/SKILL.md +0 -681
  461. package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
  462. package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
  463. package/skills/cometchat-placement/SKILL.md +0 -1360
  464. package/skills/cometchat-production/SKILL.md +0 -1027
  465. package/skills/cometchat-react-calls/SKILL.md +0 -749
  466. package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
  467. package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
  468. package/skills/cometchat-react-calls/references/call-session.md +0 -235
  469. package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
  470. package/skills/cometchat-react-calls/references/device-management.md +0 -210
  471. package/skills/cometchat-react-calls/references/group-calls.md +0 -257
  472. package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
  473. package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
  474. package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
  475. package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
  476. package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
  477. package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
  478. package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
  479. package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
  480. package/skills/cometchat-react-calls/references/share-invite.md +0 -175
  481. package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
  482. package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
  483. package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
  484. package/skills/cometchat-react-patterns/SKILL.md +0 -628
  485. package/skills/cometchat-react-push/SKILL.md +0 -634
  486. package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
  487. package/skills/cometchat-react-testing/SKILL.md +0 -413
  488. package/skills/cometchat-theming/SKILL.md +0 -498
  489. package/skills/cometchat-troubleshooting/SKILL.md +0 -294
@@ -0,0 +1,55 @@
1
+ # anti-patterns — the real bugs, Flutter v6
2
+
3
+ ## Startup
4
+ 1. **Rendering a `CometChat*` widget before `login` succeeds** → blank screen or a listener exception. Gate
5
+ the first frame (`lifecycle.md`).
6
+ 2. **Missing `WidgetsFlutterBinding.ensureInitialized()`** → `initFromSettings` cannot read the settings
7
+ asset through `rootBundle`; first-run crash.
8
+ 3. **`init` inside a screen's `initState`** that can be re-entered → repeated init, raced Calls-SDK routing.
9
+ 4. **Using `init()` + `UIKitSettingsBuilder` instead of `initFromSettings()`** → loses
10
+ `integrationSource="ai-agent"` telemetry attribution (`RULES.md` §5). The docs still show the old path.
11
+ 5. **A REAL Auth Key committed in `cometchat-settings.json`** → the key is in your repo history. Do NOT fix this by gitignoring the file — it is a registered Flutter asset, so a fresh clone / CI `flutter build bundle` then fails with *"No file or variants found for asset."* Commit a **placeholder** `cometchat-settings.json` (empty/placeholder `authKey`) that dev and CI overwrite locally; guard the real key with a pre-commit/CI check.
12
+ 6. **Auth Key in a production build** → it authenticates *any* user. Prod is `loginWithAuthToken` with a
13
+ server-minted token.
14
+ 7. **Inventing a UID.** `login` requires a user that already exists. Ask, or read Dashboard → Users.
15
+
16
+ ## Layout
17
+ 8. **A kit list without `Expanded`/`Flexible` in a `Column`** → unbounded-height exception or a zero-height
18
+ list. The single most common Flutter integration failure (`layout.md`).
19
+ 9. **The surface inside a `SingleChildScrollView`** → infinite height constraints; same failure.
20
+ 10. **`resizeToAvoidBottomInset: false`** → the composer disappears under the keyboard.
21
+ 11. **No `Scaffold`/`SafeArea`** → missing `Material` ancestor, or UI under the notch/home indicator.
22
+
23
+ ## v5 carry-overs (all REMOVED in v6 — see `cometchat-flutter-v6-migration`)
24
+ 12. **Registering extensions** — `UIKitSettings.extensions`, `CometChatUIKitChatExtensions`,
25
+ `DataSource`, `ChatConfigurator`, `*ExtensionDecorator`, `CometChatUIKit.getDataSource()`. v6 deleted
26
+ the entire pattern; a dashboard-enabled extension surfaces **automatically** with zero client code.
27
+ Emitting registration is a defect, not a harmless no-op.
28
+ 13. **Combined shell widgets** — `CometChatConversationsWithMessages`, `CometChatUsersWithMessages`,
29
+ `CometChatGroupsWithMessages`, `CometChatMessages`, `CometChatUI`, `CometChatMessenger`,
30
+ `CometChatUserList`, `CometChatContactList`. v6 has **no** shell widget; the host composes screens.
31
+ 14. **GetX controllers** — `CometChatMessagesController`, `CometChatOngoingCallController`. v6 is BLoC.
32
+ 15. **`CometChatCompactMessageComposer`** → one `CometChatMessageComposer`.
33
+
34
+ ## Cross-family contamination
35
+ 16. **Carrying a React name into Flutter.** `CometChatThreadHeader` does not exist here — it is
36
+ `CometChatThreadedHeader`. Nor do `showSearchOption`/`onSearchOptionClicked` on the message header, or
37
+ `onItemClick` on the conversation list (it is **`onItemTap`**). Equally: `CometChatMediaRecorder` DOES
38
+ exist in Flutter though it is a React phantom. **Never reuse another family's symbol or phantom list —
39
+ check `catalogs/flutter-v6.json`.**
40
+ 17. **Importing calls widgets from the chat barrel.** `CometChatIncomingCall`, `CometChatOutgoingCall`,
41
+ `CometChatCallButtons`, `CometChatCallLogs`, `CometChatCallBubble` and `CometChatCalls` resolve ONLY
42
+ from `package:cometchat_chat_uikit/cometchat_calls_uikit.dart`. A calls screen imports **both** barrels.
43
+ 18. **Adding `cometchat_sdk` as a direct dependency to get `User`/`Group`/`TextMessage`.** The kit barrel
44
+ already re-exports the whole Chat SDK.
45
+
46
+ ## Composition
47
+ 19. **Passing `parentMessageId` without `user:`/`group:`** on a thread list/composer → replies silently
48
+ never send. Both are required.
49
+ 20. **A dead-ending affordance.** A search field that opens nothing, or a thread indicator with no
50
+ `onThreadRepliesClick` — wire it to a destination or hide it (`hideSearch`).
51
+ 21. **Hand-rolling what the widget already exposes.** Custom UI belongs in a slot
52
+ (`auxiliaryButtonView` / `trailingView` / `appBarOptions`), never stacked on top of the widget.
53
+ 22. **Client-side filtering the conversation list.** Scope `conversationsRequestBuilder` instead.
54
+ 23. **Hand-rolling moderation or report UI.** Both are automatic in `CometChatMessageList`; the work is in
55
+ the Dashboard.
@@ -0,0 +1,143 @@
1
+ # docs-map — CometChat Flutter v6: intent → the exact docs page to fetch
2
+
3
+ Fetch a page instead of guessing a prop. This file is the map; `SKILL.md` bakes only the hot path.
4
+
5
+ ## Reaching docs — PREFER the CometChat docs MCP; fetch is the fallback
6
+ The canonical doc channel is the **first-party CometChat docs MCP** — tools `search_cometchat_docs`,
7
+ `fetch_cometchat_doc_page`, and `get_cometchat_implementation_bundle`. **If those tools are connected,
8
+ use them instead of a raw web fetch:**
9
+ - **Find the page** → `search_cometchat_docs(query, version?)` — replaces browsing the scoped `llms-*` index.
10
+ - **Read the page** → `fetch_cometchat_doc_page(path)` — pass the SAME `<path>` the tables below list
11
+ (the conversations page path for your platform); the MCP resolves the `.md` twin and returns raw Markdown.
12
+ A full `https://…/docs/<path>` URL also works.
13
+ - **A whole feature/recipe** → `get_cometchat_implementation_bundle(...)` is **NON-AUTHORITATIVE** — curated STATIC recipes that can lag the live docs (verified stale vs v7: e.g. `CometChatConversationsWithMessages`, `css-variables.css`). Treat any bundle as a hint only: RECONCILE it against the `fetch_cometchat_doc_page` result + the pack's hardening; never emit bundle code verbatim.
14
+
15
+ The MCP reads whatever docs environment it is pointed at (production by default; a preview when repointed),
16
+ so it also carries the environment-swap concern below — no hardcoded host on the skill side.
17
+
18
+ **If the MCP tools are NOT connected:** add it (`claude mcp add --transport http cometchat-docs https://mcp.cometchat.com/mcp`, or reinstall/enable the plugin) and retry; only if it still will not connect, fall back to a plain fetch via `DOCS_BASE` (defined next).
19
+ Either way the `<path>` catalog in this file is the source of truth for WHICH page — MCP-vs-fetch is only HOW.
20
+
21
+ ## DOCS_BASE — the fetch FALLBACK entry point (⚠️ SWAP HERE to change environments)
22
+ ```
23
+ DOCS_BASE = https://www.cometchat.com/docs
24
+ ```
25
+ > The ONLY line to change for a preview/staging deploy. Every path below is identical across environments.
26
+ >
27
+ > **Fetch rule:** build a URL as `DOCS_BASE` + the path shown, then append `.md`. Never hardcode a host
28
+ > anywhere else; never read installed Dart source in place of a missing doc (see the DOCS GAP protocol).
29
+
30
+ ## The convention
31
+ `DOCS_BASE` + `<path>` + `.md` → raw Markdown (verbatim code + prop tables).
32
+ ```
33
+ Fetch: {DOCS_BASE}/ui-kit/flutter/conversations.md
34
+ ```
35
+ Fallback order: `.md` twin → the same URL **without** `.md` (HTML) → **DOCS GAP** (below).
36
+
37
+ ## ⚠️ Scoped index — DOES NOT EXIST YET for Flutter (tracked DOCS GAP, go-live dependency)
38
+ ```
39
+ {DOCS_BASE}/ui-kit/flutter/llms.txt → 404 as of 2026-08-21
40
+ {DOCS_BASE}/sdk/flutter/llms.txt → 404 as of 2026-08-21
41
+ ```
42
+ Neither scoped index has been generated. **Until they exist, use the page table below as the index**
43
+ (it was derived from the global index and is complete for this family), and fall back to the global
44
+ all-products index — `{DOCS_BASE}/llms.txt` (large; last resort) — for anything not listed.
45
+ > **Go-live ask (owner: docs):** generate the **scoped UI-Kit `llms.txt` for Flutter v6, including its
46
+ > "Task guides (recipes)" section**, and the **SDK `llms.txt` for the Flutter Chat SDK**. Without them the
47
+ > docs-maximal, guide-first completeness check degrades to component-wiring only. Tracked in `DOCS-BACKLOG.md`.
48
+
49
+ ## `[verified]` signatures — confirmed against the kit AND the live docs
50
+ These signatures were wrong on the live pages when the skill was written (`DOCS-BACKLOG` F1/F2/F3/F5); all four
51
+ were **corrected upstream** and re-verified against `cometchat/docs`@`2ebb1db` (2026-09-09), so the pages now
52
+ AGREE with `SKILL.md`. Kept here as the authoritative signature reference. Re-verify with
53
+ `npm run verify:fences:flutter-v6` if a page ever drifts again.
54
+
55
+ | Symbol | Confirmed signature |
56
+ |---|---|
57
+ | `CometChatThreadedHeader` | `parentMessage:` + required `loggedInUser:` (not `message:`) |
58
+ | `onThreadRepliesClick` | `void Function(BaseMessage, BuildContext, {CometChatMessageTemplate? template})` |
59
+ | `CometChatThreadedHeader` back/error | none — no `onBack:` / `onError:`; back comes from the screen's own `AppBar` |
60
+ | `CometChatSearch` results | `onConversationClicked` / `onMessageClicked` |
61
+ | `getting-started` init | `initFromSettings()` + `cometchat-settings.json` — **deliberately undocumented (F4 WONTFIX)**; this skill is its reference |
62
+
63
+ ## Component docs (intent → path)
64
+ | Intent | Path |
65
+ |---|---|
66
+ | Install · init · login · first screen | `/ui-kit/flutter/getting-started` |
67
+ | What v6 is · architecture | `/ui-kit/flutter/overview` · `/ui-kit/flutter/components-overview` |
68
+ | Conversation list props | `/ui-kit/flutter/conversations` |
69
+ | Message list props | `/ui-kit/flutter/message-list` |
70
+ | Composer props | `/ui-kit/flutter/message-composer` |
71
+ | Message header props | `/ui-kit/flutter/message-header` |
72
+ | Thread screen | `/ui-kit/flutter/threaded-messages-header` (⚠️ see the wrong-pages table) |
73
+ | Search | `/ui-kit/flutter/search` (⚠️ see the wrong-pages table) |
74
+ | Users / Groups / Members | `/ui-kit/flutter/users` · `/groups` · `/group-members` |
75
+ | Calls (incoming/outgoing/logs/buttons) | `/ui-kit/flutter/call-features` · `/incoming-call` · `/outgoing-call` · `/call-logs` · `/call-buttons` |
76
+ | Notification feed | `/ui-kit/flutter/notification-feed` |
77
+ | Push notifications (FCM/APNs setup — `-push`) | `/notifications/push-overview` · `/notifications/flutter-push-notifications-android` · `/notifications/flutter-push-notifications-ios` (NOT the legacy singular `/notifications/flutter-push-notifications`) |
78
+ | Theming — tokens & palette | `/ui-kit/flutter/theme-introduction` · `/color-resources` · `/component-styling` · `/message-bubble-styling` |
79
+ | Customization — slots & behavior | `/ui-kit/flutter/customization-overview` · `-view-slots` · `-state-views` · `-menu-options` · `-bloc-data` · `-datasource` · `-text-formatters` |
80
+ | Custom message types | `/ui-kit/flutter/message-template` |
81
+ | Formatters (mentions / custom / shortcut) | `/ui-kit/flutter/mentions-formatter-guide` · `/custom-text-formatter-guide` · `/shortcut-formatter-guide` |
82
+ | Events (SDK listeners vs UI events) | `/ui-kit/flutter/events` |
83
+ | Extensions (all dashboard-enabled) | `/ui-kit/flutter/extensions` |
84
+ | Localization | `/ui-kit/flutter/localize` |
85
+ | Sounds | `/ui-kit/flutter/sound-manager` |
86
+ | Methods / helpers | `/ui-kit/flutter/methods` |
87
+ | Troubleshooting | `/ui-kit/flutter/troubleshooting` |
88
+ | v5 → v6 upgrade | `/ui-kit/flutter/upgrading-from-v5` |
89
+
90
+ ## Task guides (recipes) — BUILD FROM THESE, then COMPARE (docs-maximal, `RULES.md` §20)
91
+ For a whole task, **build from the guide and compare your implementation against it for completeness**,
92
+ then apply the hardening deltas in `SKILL.md`. **No matching guide? Build the normal way** (wire the
93
+ widgets + fetch props) — the guide is an enhancement, not a prerequisite.
94
+
95
+ | Task | Guide |
96
+ |---|---|
97
+ | Guide index | `/ui-kit/flutter/guide-overview` |
98
+ | One-to-one chat | `/ui-kit/flutter/flutter-one-to-one-chat` |
99
+ | Conversation + messages | `/ui-kit/flutter/flutter-conversation` |
100
+ | Tab-based app (the grow target) | `/ui-kit/flutter/flutter-tab-based-chat` · `/multi-tab-chat-ui-guide` |
101
+ | Group chat | `/ui-kit/flutter/guide-group-chat` |
102
+ | Threaded messages | `/ui-kit/flutter/guide-threaded-messages` (⚠️ signatures wrong — see above) |
103
+ | Start a new chat | `/ui-kit/flutter/guide-new-chat` |
104
+ | Message privately | `/ui-kit/flutter/guide-message-privately` |
105
+ | Block / unblock | `/ui-kit/flutter/guide-block-unblock-user` |
106
+ | Call log details | `/ui-kit/flutter/guide-call-log-details` |
107
+ | AI agentic flow | `/ui-kit/flutter/guide-message-agentic-flow` |
108
+
109
+ ## SDK docs — the FALLBACK reference (so the SDK ALSO works, `RULES.md` §13)
110
+ **UI-Kit first, SDK fallback.** For every feature, first check whether the UI Kit has a widget/prop
111
+ (the table above + the catalog). If it does — use it. If it does NOT (AI agents, campaigns,
112
+ advanced/AI moderation, transient messages, bots, webhooks, banned-members listing, low-level presence)
113
+ — drop to the Flutter Chat SDK and call its method directly. The SDK is **already installed and
114
+ re-exported by the kit barrel**, so `User`, `Group`, `Conversation`, `BaseMessage`, `TextMessage` and the
115
+ `*RequestBuilder` types need no extra import.
116
+ ```
117
+ SDK_DOCS_BASE = https://www.cometchat.com/docs/sdk/flutter
118
+ ```
119
+ | Intent | Path |
120
+ |---|---|
121
+ | Overview · setup · auth | `/overview` · `/setup` · `/authentication-overview` |
122
+ | Send / receive / edit / delete messages | `/messaging-overview` · `/send-message` · `/receive-messages` |
123
+ | Real-time listeners | `/real-time-listeners` · `/connection-status` |
124
+ | Users · presence · block | `/users-overview` · `/user-presence` · `/block-users` |
125
+ | Groups · members · kick/ban | `/groups-overview` · `/group-kick-ban-members` |
126
+ | Conversations & unread | `/conversations-overview` |
127
+ | Threads | `/threaded-messages` |
128
+ | AI agents / chatbots | `/ai-agents` · `/ai-moderation` |
129
+ | Campaigns | `/campaigns` |
130
+ | Push token registration | no `sdk/flutter` page (`/sdk/flutter/push-notifications` 404s) — use the three `/notifications/*` push pages in the component table above |
131
+ | Webhooks | `/webhooks-overview` |
132
+ > Each SDK page carries an **AI Integration Quick Reference** block with method signatures — read that
133
+ > first. The SDK's scoped `llms.txt` does not exist yet (see the index gap above); use this table.
134
+
135
+ ## DOCS GAP protocol (`RULES.md` §20 — never silently source-fill)
136
+ If a prop/method/behavior you need is **absent or wrong** in the docs:
137
+ 1. **Do not** substitute reading installed Dart source as though it were documentation, and do not bake a
138
+ permanent workaround into a skill for what is really a docs bug (AUDIT-072 / CHECKLIST row 24).
139
+ 2. **Verify** the actual behavior by compiling against the pinned kit
140
+ (`npm run verify:fences:flutter-v6` / `test-suite/typecheck/flutter-v6`) — the compiler is the oracle.
141
+ 3. **TELL THE DEVELOPER**: page · section · what's there now · what it should say · why it matters.
142
+ 4. **Record it** in `DOCS-BACKLOG.md` (owner **docs**) + an `AUDIT.md` row, and bake only a clearly-labelled
143
+ temporary stopgap in the skill, citing the backlog entry — exactly as F1–F5 are handled in `SKILL.md`.
@@ -0,0 +1,45 @@
1
+ # layout — the mobile sizing standard (bounded height, safe area, keyboard)
2
+
3
+ The Flutter instance of the pack's reflow-free-surface standard. The web recipe (`100dvh`, `min-height:0`
4
+ columns, prepared ancestor chain) does NOT apply here; the principle does: **the kit's list widgets expand
5
+ to fill their parent, so the parent must supply a bounded height — never let content drive it.**
6
+
7
+ ## The four invariants
8
+
9
+ **1. Bounded height for every list.** `CometChatConversations`, `CometChatMessageList`, `CometChatUsers`,
10
+ `CometChatGroups`, `CometChatGroupMembers` and `CometChatSearch` all want to fill their parent. Inside a
11
+ `Column`, wrap them in `Expanded` (or `Flexible`); otherwise Flutter throws
12
+ *"RenderFlex children have non-zero flex but incoming height constraints are unbounded"* — or the list
13
+ collapses to zero height.
14
+ ```dart
15
+ Widget messagePane(User user) => Column(children: [
16
+ CometChatMessageHeader(user: user),
17
+ Expanded(child: CometChatMessageList(user: user)), // REQUIRED — bounds the list
18
+ CometChatMessageComposer(user: user),
19
+ ]);
20
+ ```
21
+
22
+ **2. Never nest the surface in an unbounded scroll parent.** A `SingleChildScrollView`, a `ListView`, or a
23
+ `Column` inside one gives its children *infinite* height, so a kit list inside it throws or renders
24
+ nothing. If chat must sit inside a scrolling page, give it a **fixed** height (`SizedBox(height: 480)`) or
25
+ a sized cell — a content-driven box is the defect, not the kit.
26
+
27
+ **3. `Scaffold` + `SafeArea`.** The surface belongs in a `Scaffold` (it supplies the `Material` ancestor the
28
+ kit's widgets need) with `SafeArea` so the composer clears the home indicator and the header clears the
29
+ notch. A bare `Container` at the root is the usual cause of "the composer is under the home bar".
30
+
31
+ **4. Keyboard avoidance — leave `resizeToAvoidBottomInset` alone.** It defaults to `true`, which is what
32
+ keeps `CometChatMessageComposer` above the keyboard. Setting it to `false`, or placing the surface inside a
33
+ widget that swallows the inset, hides the input the moment the user types. If the composer is covered:
34
+ check for `resizeToAvoidBottomInset: false`, a nested `Scaffold`, or a manual `MediaQuery.viewInsets` hack.
35
+
36
+ ## No load-transition reflow
37
+ The kit ships its own loading and empty states, so give it the full box immediately and let it render its
38
+ loader **inside** that box. Do not gate the whole screen behind your own placeholder→chat swap sized
39
+ differently from the final surface — that is what makes the UI jump when messages arrive. (The init/login
40
+ gate in `lifecycle.md` is different and correct: it runs *before* the chat screen exists at all.)
41
+
42
+ ## Embedded / modal placements
43
+ A bottom sheet, dialog, or embedded panel must still supply a bounded height — `showModalBottomSheet` with
44
+ a `SizedBox(height: MediaQuery.of(context).size.height * 0.9)`, or a `Container` with a fixed height.
45
+ Recipes: `cometchat-flutter-v6-placement`.
@@ -0,0 +1,87 @@
1
+ # lifecycle — init once, login, gate the first frame, log out
2
+
3
+ Loaded when the task touches startup, session, or "why is it blank / why did it re-init".
4
+
5
+ ## The invariant
6
+ `initFromSettings()` → `login(uid)` → **only then** render any `CometChat*` widget. Both are async and
7
+ callback-reporting; a widget rendered before login succeeds shows blank or throws.
8
+
9
+ ## Init once — not once per widget, and hot-restart-safe
10
+ Do it at app startup (before `runApp`, or in the root widget's `initState`), never inside a screen that
11
+ can be re-entered. `initFromSettings` reads `cometchat-settings.json` and persists
12
+ `integrationSource="ai-agent"`; calling it twice is wasteful and races the Calls SDK routing.
13
+
14
+ ```dart
15
+ Future<void> main() async {
16
+ WidgetsFlutterBinding.ensureInitialized(); // REQUIRED before any plugin/asset access
17
+ runApp(const MyApp()); // init happens inside the gate widget below
18
+ }
19
+ ```
20
+ > `WidgetsFlutterBinding.ensureInitialized()` is mandatory — `initFromSettings` loads an asset through
21
+ > `rootBundle`, which needs the binding. Omitting it is a common first-run crash.
22
+
23
+ ## Gate the first frame (the pattern that prevents the blank screen)
24
+ Hold the app on a loader until init AND login have both reported success; only then build the chat.
25
+ Keep the gate at the ROOT so a hot restart re-runs it cleanly.
26
+
27
+ ```dart
28
+ import 'package:cometchat_chat_uikit/cometchat_chat_uikit.dart';
29
+ import 'package:flutter/material.dart';
30
+
31
+ class ChatGate extends StatefulWidget {
32
+ const ChatGate({super.key});
33
+ @override
34
+ State<ChatGate> createState() => _ChatGateState();
35
+ }
36
+
37
+ class _ChatGateState extends State<ChatGate> {
38
+ bool _ready = false;
39
+ String? _error;
40
+
41
+ @override
42
+ void initState() {
43
+ super.initState();
44
+ _start();
45
+ }
46
+
47
+ Future<void> _start() async {
48
+ await CometChatUIKit.initFromSettings(
49
+ onError: (e) => setState(() => _error = e.message),
50
+ );
51
+ if (_error != null) return;
52
+ // Already signed in after a restart? login() no-ops for the same UID.
53
+ await CometChatUIKit.login(
54
+ 'cometchat-uid-1', // ASK for a real UID — never invent one
55
+ onSuccess: (_) => setState(() => _ready = true),
56
+ onError: (e) => setState(() => _error = e.message),
57
+ );
58
+ }
59
+
60
+ @override
61
+ Widget build(BuildContext context) {
62
+ if (_error != null) return Scaffold(body: Center(child: Text('CometChat: $_error')));
63
+ if (!_ready) return const Scaffold(body: Center(child: CircularProgressIndicator()));
64
+ // Only past this point may a CometChat* widget be built.
65
+ return const Scaffold(body: SafeArea(child: CometChatConversations()));
66
+ }
67
+ }
68
+ ```
69
+ > `setState` after an await needs the usual `if (!mounted) return;` guard in real code.
70
+
71
+ ## Who is logged in
72
+ `CometChatUIKit.loggedInUser` is the cached `User?` — the sync getter the thread screen needs
73
+ (`loggedInUser:` is a REQUIRED param on `CometChatThreadedHeader`). It is populated by `login`, so it is
74
+ non-null anywhere behind the gate above. `CometChatUIKit.login` itself calls `getLoggedInUser()` first and
75
+ returns early when that UID is already signed in — **no host-side concurrent-login guard is needed.**
76
+
77
+ ## Production auth — the Auth Key is dev-only
78
+ `login(uid)` uses the Auth Key from the settings file, which means the key ships inside the app bundle.
79
+ That is acceptable for development only. For production:
80
+ 1. Omit `credentials.authKey` from `cometchat-settings.json`.
81
+ 2. Mint a per-user **auth token** on your server (CometChat REST API, using the App's REST key).
82
+ 3. Sign in with `CometChatUIKit.loginWithAuthToken(authToken, onSuccess: …, onError: …)`.
83
+ Say this out loud to the user when you wire the dev path — flag dev-only AS dev-only.
84
+
85
+ ## Logout
86
+ `CometChatUIKit.logout()` clears the session; send the user back to the gate afterwards so a subsequent
87
+ login re-runs cleanly. Do not re-`init` on logout.
@@ -0,0 +1,84 @@
1
+ # setup-credentials — detect, reconcile, fetch, write, authorize
2
+
3
+ The full version of `SKILL.md` §"Setup & credentials". Load when doing first-time setup or debugging auth.
4
+
5
+ ## 1. Detect the project (`npx @cometchat/skills detect --json`, topped up by reading the repo — `RULES.md`)
6
+ Parse, recording `null` rather than guessing when a signal is absent:
7
+
8
+ | Signal | Where |
9
+ |---|---|
10
+ | Flutter/Dart constraints | `pubspec.yaml` → `environment:` |
11
+ | Existing CometChat + **major** | `pubspec.yaml` deps + `pubspec.lock` (`cometchat_chat_uikit`) |
12
+ | State management | deps: `flutter_bloc` · `riverpod` · `provider` · `get` · `mobx` |
13
+ | Navigation | deps/source: `go_router` · `auto_route` · plain `Navigator` |
14
+ | Config strategy | `--dart-define` in run configs · `envied` · `flutter_dotenv` · a constants file |
15
+ | Existing credentials | `cometchat-settings.json` · `.cometchat/config.json` · `--dart-define` keys |
16
+ | App entry | `lib/main.dart` — where `runApp` is, and what wraps it |
17
+ | Platform floors | `android/app/build.gradle.kts` (`minSdk`) · `ios/Podfile` (`platform :ios`) |
18
+
19
+ ## 2. version_conflict — STOP
20
+ A non-v6 `cometchat_chat_uikit` present on an **add** request is a STOP, not a warning: reconcile first,
21
+ never mix majors (`RULES.md`). v5 → v6 is `cometchat-flutter-v6-migration`. If v6 is already wired and
22
+ working, this is a **re-entry** — summarize what exists and ask what to ADD, don't re-run setup.
23
+
24
+ ## 3. Credentials — OFFER the fetch FIRST (never degrade to "paste it yourself")
25
+ **(a) Fetch from the dashboard — the default.** Load the CLI on demand:
26
+ ```bash
27
+ npx @cometchat/skills-cli@3 auth login
28
+ npx @cometchat/skills-cli@3 provision list --json
29
+ npx @cometchat/skills-cli@3 provision use --app-id <id> --json
30
+ ```
31
+ - **Never auto-create an app.** List, show the top few plus a "show all", and ASK which.
32
+ - `provision use` returns App ID / Region / Auth Key **and** writes a neutral `.cometchat/config.json`.
33
+ It does **not** know Flutter — writing the settings asset is the skill's job.
34
+
35
+ **(b) Manual paste** — Dashboard → Your App → Credentials. Use only if the user declines (a) or the CLI
36
+ can't run. Ask and WAIT; never guess a value.
37
+
38
+ ## 4. Write the settings asset
39
+ `cometchat-settings.json` at the **project root** (beside `pubspec.yaml`):
40
+ ```json
41
+ {
42
+ "appId": "APP_ID",
43
+ "region": "REGION",
44
+ "credentials": { "authKey": "AUTH_KEY" },
45
+ "uiKit": { "subscribePresenceForAllUsers": true, "enableCalling": false },
46
+ "chatSDK": { "autoEstablishSocketConnection": true }
47
+ }
48
+ ```
49
+ Register it (exact indentation matters in YAML):
50
+ ```yaml
51
+ flutter:
52
+ uses-material-design: true
53
+ assets:
54
+ - cometchat-settings.json
55
+ ```
56
+ Then: `flutter pub get`. **Do NOT gitignore a registered asset** — a fresh clone / CI `flutter build bundle`
57
+ fails with *"No file or variants found for asset: cometchat-settings.json"* if the file is missing. Instead
58
+ **commit a placeholder `cometchat-settings.json`** (same shape, placeholder/empty `authKey` — never a real
59
+ dev key) so the asset path always resolves, and have each dev and CI overwrite it with real credentials
60
+ locally / at build time. Guard against committing a real key with a pre-commit hook or CI check, not
61
+ `.gitignore`. Never echo the Auth Key back to the user or into logs.
62
+ > Optional keys: `chatSDK.adminHost` / `chatSDK.clientHost` (dedicated/on-prem clusters only).
63
+ > `uiKit.enableCalling` stays `false` until the user asks for calls (→ `cometchat-flutter-v6-calls`).
64
+
65
+ ### If the team already uses `--dart-define` / envied
66
+ The settings **file** is what `initFromSettings` reads — it cannot read `--dart-define`. Two honest options,
67
+ state the trade-off and let the user choose:
68
+ - Keep `initFromSettings` and generate `cometchat-settings.json` at build time from your existing secret
69
+ source (CI writes the file). Keeps telemetry attribution.
70
+ - Or use the classic `UIKitSettingsBuilder` + `CometChatUIKit.init(...)` with `--dart-define` values —
71
+ works, but loses `integrationSource="ai-agent"`. Only if the user prefers it after hearing the trade-off.
72
+
73
+ ## 5. Authorize — confirm it actually worked
74
+ `initFromSettings` reaches `onSuccess`, then `login` reaches `onSuccess` with a `User`. Failure modes:
75
+ - **Wrong Region** — the single most common cause of an immediate auth error. `us` / `eu` / `in`, matching
76
+ the Dashboard exactly.
77
+ - **UID doesn't exist** — `login` needs an existing user (Dashboard → Users; fresh apps seed
78
+ `cometchat-uid-1…`). Never invent one.
79
+ - **Asset not found** — see `troubleshooting.md`.
80
+
81
+ ## 6. Production
82
+ Omit `credentials.authKey`, mint a per-user auth token server-side, and call
83
+ `CometChatUIKit.loginWithAuthToken(...)` (`lifecycle.md`). Tell the user plainly that the Auth Key path you
84
+ wired is dev-only — flag dev-only AS dev-only.
@@ -0,0 +1,26 @@
1
+ # troubleshooting — symptom → cause → fix
2
+
3
+ The first stop when a Flutter integration renders wrong. Live page: `/ui-kit/flutter/troubleshooting`.
4
+
5
+ | Symptom | Likely cause | Fix |
6
+ |---|---|---|
7
+ | Blank/white screen where chat should be | A widget rendered before `login` succeeded | Gate the first frame on init **and** login (`lifecycle.md`) |
8
+ | `Unable to load asset: cometchat-settings.json` | File missing, not at project root, or not registered | Add it and list it under `flutter: assets:` in `pubspec.yaml`; re-run `flutter pub get` |
9
+ | Crash on `initFromSettings` before any UI | `WidgetsFlutterBinding.ensureInitialized()` missing | Call it first in `main()` |
10
+ | `RenderFlex children have non-zero flex but incoming height constraints are unbounded` | A kit list inside an unbounded parent | Wrap in `Expanded`, or give a fixed height (`layout.md`) |
11
+ | The list renders as a zero-height sliver | Same — content-driven parent | Same |
12
+ | Composer hidden by the keyboard | `resizeToAvoidBottomInset: false`, or a nested/absent `Scaffold` | Leave the default `true`; one `Scaffold` per screen |
13
+ | Header under the notch / composer under the home bar | No `SafeArea` | Wrap the body in `SafeArea` |
14
+ | `AUTH_ERR_AUTH_TOKEN_NOT_FOUND` / login fails immediately | Wrong **Region**, or the UID does not exist | Check `region` against the Dashboard; use a real UID from Dashboard → Users |
15
+ | Login fails only in release builds | Auth Key stripped/obfuscated, or no network permission | Verify the settings asset ships; check Android `INTERNET` permission |
16
+ | `Undefined name 'CometChatIncomingCall'` (or any call widget) | Imported only the chat barrel | Also import `package:cometchat_chat_uikit/cometchat_calls_uikit.dart` |
17
+ | Call buttons missing from the message header | Calls not enabled | `uiKit.enableCalling: true` in the settings file **and** `cometchat_calls_sdk` added (→ `-calls`) |
18
+ | Thread replies never appear / never send | `parentMessageId` passed without `user:`/`group:` | Pass BOTH on the thread list *and* composer |
19
+ | `The named parameter 'onBack' isn't defined` on the thread header | Following the docs page | It has no `onBack` — use the screen's `AppBar` (`DOCS-BACKLOG` F5) |
20
+ | `The named parameter 'onConversationItemClick' isn't defined` | Following the search docs page | `onConversationClicked` / `onMessageClicked` (`DOCS-BACKLOG` F3) |
21
+ | An enabled extension (polls/stickers) doesn't appear | Expecting v5-style registration | v6 auto-surfaces it; confirm the Dashboard toggle, add NO client code |
22
+ | Presence/online status never updates | `subscribePresenceForAllUsers` false in settings | Set it `true` (default) |
23
+ | Messages arrive only after reopening the screen | Socket not auto-connecting | `chatSDK.autoEstablishSocketConnection: true` |
24
+ | Android build fails on minSdk | App below the real floor (the docs' 24 is too low) | `minSdk = 26` in `android/app/build.gradle.kts` — forced by `cometchat_calls_sdk`, a hard dependency of the kit |
25
+ | iOS pod install fails | Deployment target too low (the docs' 13.0 is too low on 5.0.7) | `platform :ios, '15.1'` in `ios/Podfile`, then `pod install` |
26
+ | Everything breaks after upgrading from v5 | Mixed majors / removed v5 APIs | → `cometchat-flutter-v6-migration`; never mix majors |