@cometchat/skills 4.4.2 → 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 (490) 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/LICENSE +21 -0
  5. package/README.md +41 -163
  6. package/RULES.md +114 -0
  7. package/bin/cometchat-skills.mjs +1180 -0
  8. package/bin/legacy-skills.json +95 -0
  9. package/catalogs/android-v6.json +1646 -0
  10. package/catalogs/flutter-v6.json +651 -0
  11. package/catalogs/ios-v5.json +1383 -0
  12. package/catalogs/rn-calls-v5.json +134 -0
  13. package/catalogs/rn-calls-v5.symbols.txt +58 -0
  14. package/catalogs/rn-sdk-v4.json +672 -0
  15. package/catalogs/rn-v5.json +449 -0
  16. package/catalogs/rn-v5.symbols.txt +216 -0
  17. package/catalogs/sdk-android-v5.json +514 -0
  18. package/contracts.android-calls-v5.json +122 -0
  19. package/contracts.android-v6.json +135 -0
  20. package/contracts.angular-v5.json +694 -0
  21. package/contracts.flutter-calls-v5.json +77 -0
  22. package/contracts.flutter-v6.json +126 -0
  23. package/contracts.ios-calls-v5.json +67 -0
  24. package/contracts.ios-v5.json +436 -0
  25. package/contracts.json +82 -0
  26. package/contracts.rn-calls-v5.json +77 -0
  27. package/contracts.rn-v5.json +727 -0
  28. package/contracts.sdk-android-v5.json +15 -0
  29. package/contracts.web-calls-v5.json +45 -0
  30. package/features.android-calls-v5.json +246 -0
  31. package/features.android-v6.json +65 -0
  32. package/features.angular-v5.json +521 -0
  33. package/features.flutter-calls-v5.json +286 -0
  34. package/features.flutter-v6.json +484 -0
  35. package/features.ios-calls-v5.json +236 -0
  36. package/features.ios-v5.json +573 -0
  37. package/features.json +61 -0
  38. package/features.rn-calls-v5.json +187 -0
  39. package/features.rn-v5.json +614 -0
  40. package/features.sdk-android-v5.json +40 -0
  41. package/features.sdk-jsv4.json +24 -0
  42. package/features.web-calls-v5.json +108 -0
  43. package/package.json +151 -74
  44. package/peers.yaml +312 -0
  45. package/registry/README.md +31 -0
  46. package/registry/android-calls-v5.json +54 -0
  47. package/registry/android-v6.json +137 -0
  48. package/registry/angular-v5.json +114 -0
  49. package/registry/flutter-calls-v5.json +54 -0
  50. package/registry/flutter-v6.json +119 -0
  51. package/registry/ios-calls-v5.json +59 -0
  52. package/registry/ios-v5.json +97 -0
  53. package/registry/rn-calls-v5.json +59 -0
  54. package/registry/rn-v5.json +129 -0
  55. package/registry/sdk-android-v5.json +53 -0
  56. package/registry/sdk-jsv4.json +53 -0
  57. package/registry/web-calls-v5.json +54 -0
  58. package/registry/web-v7.json +99 -0
  59. package/skills/cometchat/SKILL.md +42 -2096
  60. package/skills/cometchat-android-v5-calls-sdk/SKILL.md +206 -0
  61. package/skills/cometchat-android-v5-calls-sdk/references/build-truth.md +63 -0
  62. package/skills/cometchat-android-v5-calls-sdk/references/docs-map.md +119 -0
  63. package/skills/cometchat-android-v5-calls-sdk/references/method-map.md +53 -0
  64. package/skills/cometchat-android-v5-calls-sdk/references/pitfalls.md +72 -0
  65. package/skills/cometchat-android-v5-calls-sdk/references/ringing.md +92 -0
  66. package/skills/cometchat-android-v5-calls-sdk/references/user-switch.md +90 -0
  67. package/skills/cometchat-android-v5-sdk/SKILL.md +127 -0
  68. package/skills/cometchat-android-v5-sdk/references/app-surface.md +88 -0
  69. package/skills/cometchat-android-v5-sdk/references/docs-map.md +91 -0
  70. package/skills/cometchat-android-v6-builder-settings/SKILL.md +51 -137
  71. package/skills/cometchat-android-v6-calls/SKILL.md +128 -413
  72. package/skills/cometchat-android-v6-compose-components/SKILL.md +84 -194
  73. package/skills/cometchat-android-v6-compose-customization/SKILL.md +66 -411
  74. package/skills/cometchat-android-v6-compose-placement/SKILL.md +154 -237
  75. package/skills/cometchat-android-v6-core/SKILL.md +236 -672
  76. package/skills/cometchat-android-v6-core/references/anti-patterns.md +31 -0
  77. package/skills/cometchat-android-v6-core/references/component-props.md +168 -0
  78. package/skills/cometchat-android-v6-core/references/docs-map.md +153 -0
  79. package/skills/cometchat-android-v6-core/references/layout.md +112 -0
  80. package/skills/cometchat-android-v6-core/references/lifecycle.md +75 -0
  81. package/skills/cometchat-android-v6-core/references/setup-credentials.md +105 -0
  82. package/skills/cometchat-android-v6-core/references/troubleshooting.md +36 -0
  83. package/skills/cometchat-android-v6-events/SKILL.md +46 -184
  84. package/skills/cometchat-android-v6-extensions/SKILL.md +39 -179
  85. package/skills/cometchat-android-v6-features/SKILL.md +74 -143
  86. package/skills/cometchat-android-v6-kotlin-components/SKILL.md +75 -193
  87. package/skills/cometchat-android-v6-kotlin-customization/SKILL.md +67 -419
  88. package/skills/cometchat-android-v6-kotlin-placement/SKILL.md +77 -223
  89. package/skills/cometchat-android-v6-migration/SKILL.md +67 -378
  90. package/skills/cometchat-android-v6-production/SKILL.md +40 -179
  91. package/skills/cometchat-android-v6-push/SKILL.md +39 -289
  92. package/skills/cometchat-android-v6-testing/SKILL.md +50 -265
  93. package/skills/cometchat-android-v6-troubleshooting/SKILL.md +70 -254
  94. package/skills/cometchat-angular-v5-calls/SKILL.md +193 -0
  95. package/skills/cometchat-angular-v5-components/SKILL.md +131 -0
  96. package/skills/cometchat-angular-v5-components/references/catalog.md +111 -0
  97. package/skills/cometchat-angular-v5-components/references/host-composed.md +46 -0
  98. package/skills/cometchat-angular-v5-core/SKILL.md +300 -0
  99. package/skills/cometchat-angular-v5-core/references/anti-patterns.md +49 -0
  100. package/skills/cometchat-angular-v5-core/references/component-props.md +55 -0
  101. package/skills/cometchat-angular-v5-core/references/dependencies.md +66 -0
  102. package/skills/cometchat-angular-v5-core/references/docs-map.md +132 -0
  103. package/skills/cometchat-angular-v5-core/references/layout.md +64 -0
  104. package/skills/cometchat-angular-v5-core/references/lifecycle.md +202 -0
  105. package/skills/cometchat-angular-v5-core/references/setup-credentials.md +137 -0
  106. package/skills/cometchat-angular-v5-core/references/theming.md +70 -0
  107. package/skills/cometchat-angular-v5-core/references/troubleshooting.md +27 -0
  108. package/skills/cometchat-angular-v5-customization/SKILL.md +94 -0
  109. package/skills/cometchat-angular-v5-features/SKILL.md +107 -0
  110. package/skills/cometchat-angular-v5-features/references/custom-messages.md +133 -0
  111. package/skills/cometchat-angular-v5-features/references/formatters.md +28 -0
  112. package/skills/cometchat-angular-v5-features/references/host-composed-extensions.md +85 -0
  113. package/skills/cometchat-angular-v5-migration/SKILL.md +40 -0
  114. package/skills/cometchat-angular-v5-migration/references/migration-guide.md +165 -0
  115. package/skills/cometchat-angular-v5-patterns/SKILL.md +107 -0
  116. package/skills/cometchat-angular-v5-placement/SKILL.md +133 -0
  117. package/skills/cometchat-angular-v5-placement/references/combined-app.md +174 -0
  118. package/skills/cometchat-angular-v5-placement/references/core-surface.md +199 -0
  119. package/skills/cometchat-angular-v5-production/SKILL.md +101 -0
  120. package/skills/cometchat-angular-v5-push/SKILL.md +61 -0
  121. package/skills/cometchat-angular-v5-testing/SKILL.md +112 -0
  122. package/skills/cometchat-angular-v5-troubleshooting/SKILL.md +96 -0
  123. package/skills/cometchat-flutter-v5-sdk/SKILL.md +188 -0
  124. package/skills/cometchat-flutter-v5-sdk/references/doc-corrections.md +55 -0
  125. package/skills/cometchat-flutter-v5-sdk/references/docs-map.md +211 -0
  126. package/skills/cometchat-flutter-v5-sdk/references/platform-notes.md +48 -0
  127. package/skills/cometchat-flutter-v5-sdk/references/transcription.md +87 -0
  128. package/skills/cometchat-flutter-v6-calls/SKILL.md +75 -389
  129. package/skills/cometchat-flutter-v6-components/SKILL.md +88 -361
  130. package/skills/cometchat-flutter-v6-core/SKILL.md +154 -593
  131. package/skills/cometchat-flutter-v6-core/references/anti-patterns.md +55 -0
  132. package/skills/cometchat-flutter-v6-core/references/docs-map.md +143 -0
  133. package/skills/cometchat-flutter-v6-core/references/layout.md +45 -0
  134. package/skills/cometchat-flutter-v6-core/references/lifecycle.md +87 -0
  135. package/skills/cometchat-flutter-v6-core/references/setup-credentials.md +84 -0
  136. package/skills/cometchat-flutter-v6-core/references/troubleshooting.md +26 -0
  137. package/skills/cometchat-flutter-v6-customization/SKILL.md +70 -712
  138. package/skills/cometchat-flutter-v6-events/SKILL.md +79 -174
  139. package/skills/cometchat-flutter-v6-features/SKILL.md +55 -394
  140. package/skills/cometchat-flutter-v6-migration/SKILL.md +68 -367
  141. package/skills/cometchat-flutter-v6-migration/references/migration-guide.md +131 -0
  142. package/skills/cometchat-flutter-v6-patterns/SKILL.md +61 -0
  143. package/skills/cometchat-flutter-v6-placement/SKILL.md +94 -381
  144. package/skills/cometchat-flutter-v6-production/SKILL.md +58 -615
  145. package/skills/cometchat-flutter-v6-push/SKILL.md +46 -455
  146. package/skills/cometchat-flutter-v6-testing/SKILL.md +68 -299
  147. package/skills/cometchat-flutter-v6-troubleshooting/SKILL.md +54 -878
  148. package/skills/cometchat-ios-calls/SKILL.md +112 -563
  149. package/skills/cometchat-ios-components/SKILL.md +44 -834
  150. package/skills/cometchat-ios-core/SKILL.md +181 -1068
  151. package/skills/cometchat-ios-core/references/anti-patterns.md +80 -0
  152. package/skills/cometchat-ios-core/references/docs-map.md +123 -0
  153. package/skills/cometchat-ios-core/references/install.md +23 -0
  154. package/skills/cometchat-ios-core/references/layout.md +186 -0
  155. package/skills/cometchat-ios-core/references/setup-credentials.md +197 -0
  156. package/skills/cometchat-ios-core/references/swiftui.md +91 -0
  157. package/skills/cometchat-ios-core/references/troubleshooting.md +100 -0
  158. package/skills/cometchat-ios-customization/SKILL.md +33 -968
  159. package/skills/cometchat-ios-features/SKILL.md +29 -738
  160. package/skills/cometchat-ios-migration/SKILL.md +39 -0
  161. package/skills/cometchat-ios-placement/SKILL.md +51 -729
  162. package/skills/cometchat-ios-push/SKILL.md +24 -602
  163. package/skills/cometchat-ios-v5-sdk/SKILL.md +161 -0
  164. package/skills/cometchat-ios-v5-sdk/references/docs-map.md +326 -0
  165. package/skills/cometchat-js-v5-sdk/SKILL.md +95 -0
  166. package/skills/cometchat-js-v5-sdk/references/docs-map.md +114 -0
  167. package/skills/cometchat-onboarding/SKILL.md +89 -0
  168. package/skills/cometchat-onboarding/references/archetypes.md +51 -0
  169. package/skills/cometchat-onboarding/references/calling-first.md +77 -0
  170. package/skills/cometchat-onboarding/references/not-in-this-pack.md +8 -0
  171. package/skills/cometchat-onboarding/references/plan-artifact.md +133 -0
  172. package/skills/cometchat-onboarding/references/platforms.md +90 -0
  173. package/skills/cometchat-react-native-bare-patterns/SKILL.md +120 -0
  174. package/skills/cometchat-react-native-calls/SKILL.md +200 -0
  175. package/skills/cometchat-react-native-components/SKILL.md +142 -0
  176. package/skills/cometchat-react-native-core/SKILL.md +313 -0
  177. package/skills/cometchat-react-native-core/references/anti-patterns.md +79 -0
  178. package/skills/cometchat-react-native-core/references/component-props.md +105 -0
  179. package/skills/cometchat-react-native-core/references/dependencies.md +62 -0
  180. package/skills/cometchat-react-native-core/references/docs-map.md +126 -0
  181. package/skills/cometchat-react-native-core/references/layout.md +61 -0
  182. package/skills/cometchat-react-native-core/references/lifecycle.md +64 -0
  183. package/skills/cometchat-react-native-core/references/setup-credentials.md +39 -0
  184. package/skills/cometchat-react-native-customization/SKILL.md +198 -0
  185. package/skills/cometchat-react-native-expo-patterns/SKILL.md +116 -0
  186. package/skills/cometchat-react-native-features/SKILL.md +122 -0
  187. package/skills/cometchat-react-native-migration/SKILL.md +103 -0
  188. package/skills/cometchat-react-native-placement/SKILL.md +158 -0
  189. package/skills/cometchat-react-native-production/SKILL.md +78 -0
  190. package/skills/cometchat-react-native-push/SKILL.md +88 -0
  191. package/skills/cometchat-react-native-sdk/SKILL.md +126 -0
  192. package/skills/cometchat-react-native-sdk/references/method-map.md +239 -0
  193. package/skills/cometchat-react-native-sdk/references/page-map.md +96 -0
  194. package/skills/cometchat-react-native-testing/SKILL.md +94 -0
  195. package/skills/cometchat-react-native-troubleshooting/SKILL.md +116 -0
  196. package/skills/cometchat-react-native-v5-sdk/SKILL.md +150 -0
  197. package/skills/cometchat-react-native-v5-sdk/references/docs-map.md +127 -0
  198. package/skills/cometchat-react-native-v5-sdk/references/ringing-voip.md +369 -0
  199. package/skills/cometchat-react-v7-calls/SKILL.md +75 -0
  200. package/skills/cometchat-react-v7-components/SKILL.md +72 -0
  201. package/skills/cometchat-react-v7-core/SKILL.md +101 -0
  202. package/skills/cometchat-react-v7-core/references/anti-patterns.md +19 -0
  203. package/skills/cometchat-react-v7-core/references/component-props.md +82 -0
  204. package/skills/cometchat-react-v7-core/references/dependencies.md +23 -0
  205. package/skills/cometchat-react-v7-core/references/docs-map.md +117 -0
  206. package/skills/cometchat-react-v7-core/references/i18n-rtl-a11y.md +22 -0
  207. package/skills/cometchat-react-v7-core/references/layout.md +158 -0
  208. package/skills/cometchat-react-v7-core/references/lifecycle.md +74 -0
  209. package/skills/cometchat-react-v7-core/references/setup-credentials.md +58 -0
  210. package/skills/cometchat-react-v7-core/references/ssr.md +11 -0
  211. package/skills/cometchat-react-v7-core/references/theming.md +52 -0
  212. package/skills/cometchat-react-v7-core/references/troubleshooting.md +28 -0
  213. package/skills/cometchat-react-v7-customization/SKILL.md +84 -0
  214. package/skills/cometchat-react-v7-features/SKILL.md +92 -0
  215. package/skills/cometchat-react-v7-migration/SKILL.md +39 -0
  216. package/skills/cometchat-react-v7-migration/references/migration-guide.md +119 -0
  217. package/skills/cometchat-react-v7-patterns/SKILL.md +43 -0
  218. package/skills/cometchat-react-v7-placement/SKILL.md +106 -0
  219. package/skills/cometchat-react-v7-placement/references/recipes.md +354 -0
  220. package/skills/cometchat-react-v7-push/SKILL.md +53 -0
  221. package/test-suite/README.md +70 -0
  222. package/test-suite/catalogs/android-calls-v5.json +830 -0
  223. package/test-suite/catalogs/android-calls-v5.symbols.txt +499 -0
  224. package/test-suite/catalogs/android-v6.json +1646 -0
  225. package/test-suite/catalogs/android-v6.symbols.txt +298 -0
  226. package/test-suite/catalogs/angular-v5.json +7587 -0
  227. package/test-suite/catalogs/flutter-calls-v5.json +196 -0
  228. package/test-suite/catalogs/flutter-calls-v5.symbols.txt +59 -0
  229. package/test-suite/catalogs/flutter-v6.json +651 -0
  230. package/test-suite/catalogs/ios-calls-v5.json +158 -0
  231. package/test-suite/catalogs/ios-calls-v5.symbols.txt +70 -0
  232. package/test-suite/catalogs/ios-v5.json +1383 -0
  233. package/test-suite/catalogs/ios-v5.symbols.txt +699 -0
  234. package/test-suite/catalogs/rn-calls-v5.json +134 -0
  235. package/test-suite/catalogs/rn-sdk-v4.json +672 -0
  236. package/test-suite/catalogs/rn-v5.json +449 -0
  237. package/test-suite/catalogs/sdk-android-v5.json +514 -0
  238. package/test-suite/catalogs/sdk-android-v5.symbols.txt +254 -0
  239. package/test-suite/catalogs/sdk-jsv4.json +800 -0
  240. package/test-suite/catalogs/web-calls-v5.json +195 -0
  241. package/test-suite/catalogs/web-v7.json +1243 -0
  242. package/test-suite/scripts/build-registry.mjs +113 -0
  243. package/test-suite/scripts/catalog-refresh-dart.mjs +151 -0
  244. package/test-suite/scripts/catalog-refresh.mjs +100 -0
  245. package/test-suite/scripts/lint-skills.mjs +909 -0
  246. package/test-suite/scripts/measure-tokens.mjs +169 -0
  247. package/test-suite/scripts/typecheck-fences-dart.mjs +437 -0
  248. package/test-suite/scripts/typecheck-fences-kotlin.mjs +269 -0
  249. package/test-suite/scripts/typecheck-fences.mjs +206 -0
  250. package/test-suite/scripts/verify-catalog.mjs +242 -0
  251. package/test-suite/scripts/verify-contract-fences.mjs +94 -0
  252. package/test-suite/scripts/verify-detection.mjs +178 -0
  253. package/test-suite/scripts/verify-docs-base.mjs +91 -0
  254. package/test-suite/scripts/verify-family-agnostic.mjs +130 -0
  255. package/test-suite/scripts/verify-golden-path.mjs +138 -0
  256. package/test-suite/scripts/verify-oracle-components.mjs +133 -0
  257. package/test-suite/scripts/verify-template-bindings.mjs +148 -0
  258. package/test-suite/typecheck/angular-v5/package.json +21 -0
  259. package/test-suite/typecheck/angular-v5/tsconfig.json +21 -0
  260. package/test-suite/typecheck/flutter-v6/analysis_options.yaml +25 -0
  261. package/test-suite/typecheck/flutter-v6/pubspec.yaml +21 -0
  262. package/test-suite/typecheck/web-v7/package.json +18 -0
  263. package/test-suite/typecheck/web-v7/tsconfig.json +19 -0
  264. package/bin/install.js +0 -1003
  265. package/skills/.claude-plugin/marketplace.json +0 -86
  266. package/skills/cometchat/references/asking-questions.md +0 -48
  267. package/skills/cometchat-a11y/SKILL.md +0 -477
  268. package/skills/cometchat-android-v5/SKILL.md +0 -121
  269. package/skills/cometchat-android-v5-calls/SKILL.md +0 -429
  270. package/skills/cometchat-android-v5-calls/references/README.md +0 -53
  271. package/skills/cometchat-android-v5-calls/references/add-calls-to-existing-chat.md +0 -197
  272. package/skills/cometchat-android-v5-calls/references/audio-controls.md +0 -91
  273. package/skills/cometchat-android-v5-calls/references/background-handling.md +0 -168
  274. package/skills/cometchat-android-v5-calls/references/call-layouts.md +0 -131
  275. package/skills/cometchat-android-v5-calls/references/call-logs.md +0 -113
  276. package/skills/cometchat-android-v5-calls/references/call-session.md +0 -274
  277. package/skills/cometchat-android-v5-calls/references/custom-ui.md +0 -150
  278. package/skills/cometchat-android-v5-calls/references/event-listeners.md +0 -123
  279. package/skills/cometchat-android-v5-calls/references/group-calls.md +0 -205
  280. package/skills/cometchat-android-v5-calls/references/idle-timeout.md +0 -117
  281. package/skills/cometchat-android-v5-calls/references/in-call-chat.md +0 -134
  282. package/skills/cometchat-android-v5-calls/references/join-session.md +0 -120
  283. package/skills/cometchat-android-v5-calls/references/migration-v4-to-v5.md +0 -222
  284. package/skills/cometchat-android-v5-calls/references/participant-management.md +0 -110
  285. package/skills/cometchat-android-v5-calls/references/picture-in-picture.md +0 -106
  286. package/skills/cometchat-android-v5-calls/references/raise-hand.md +0 -248
  287. package/skills/cometchat-android-v5-calls/references/recording.md +0 -101
  288. package/skills/cometchat-android-v5-calls/references/ringing-integration.md +0 -152
  289. package/skills/cometchat-android-v5-calls/references/screen-sharing.md +0 -78
  290. package/skills/cometchat-android-v5-calls/references/server-fcm-voip.md +0 -215
  291. package/skills/cometchat-android-v5-calls/references/session-settings.md +0 -121
  292. package/skills/cometchat-android-v5-calls/references/setup.md +0 -137
  293. package/skills/cometchat-android-v5-calls/references/share-invite.md +0 -156
  294. package/skills/cometchat-android-v5-calls/references/video-controls.md +0 -87
  295. package/skills/cometchat-android-v5-calls/references/voip-calling.md +0 -526
  296. package/skills/cometchat-android-v5-components/SKILL.md +0 -431
  297. package/skills/cometchat-android-v5-core/SKILL.md +0 -486
  298. package/skills/cometchat-android-v5-customization/SKILL.md +0 -469
  299. package/skills/cometchat-android-v5-extensions/SKILL.md +0 -127
  300. package/skills/cometchat-android-v5-features/SKILL.md +0 -131
  301. package/skills/cometchat-android-v5-placement/SKILL.md +0 -277
  302. package/skills/cometchat-android-v5-production/SKILL.md +0 -95
  303. package/skills/cometchat-android-v5-push/SKILL.md +0 -619
  304. package/skills/cometchat-android-v5-testing/SKILL.md +0 -188
  305. package/skills/cometchat-android-v5-theming/SKILL.md +0 -167
  306. package/skills/cometchat-android-v5-troubleshooting/SKILL.md +0 -74
  307. package/skills/cometchat-android-v6/SKILL.md +0 -108
  308. package/skills/cometchat-android-v6-calls/references/add-calls-to-existing-chat.md +0 -97
  309. package/skills/cometchat-android-v6-calls/references/advanced-features.md +0 -87
  310. package/skills/cometchat-android-v6-calls/references/call-layouts.md +0 -100
  311. package/skills/cometchat-android-v6-calls/references/call-session.md +0 -163
  312. package/skills/cometchat-android-v6-calls/references/device-management.md +0 -172
  313. package/skills/cometchat-android-v6-calls/references/group-calls.md +0 -191
  314. package/skills/cometchat-android-v6-calls/references/idle-timeout.md +0 -110
  315. package/skills/cometchat-android-v6-calls/references/in-call-chat.md +0 -141
  316. package/skills/cometchat-android-v6-calls/references/raise-hand.md +0 -188
  317. package/skills/cometchat-android-v6-calls/references/ringing-integration.md +0 -176
  318. package/skills/cometchat-android-v6-calls/references/server-fcm-voip.md +0 -127
  319. package/skills/cometchat-android-v6-calls/references/share-invite.md +0 -105
  320. package/skills/cometchat-android-v6-compose-theming/SKILL.md +0 -250
  321. package/skills/cometchat-android-v6-kotlin-theming/SKILL.md +0 -233
  322. package/skills/cometchat-angular-calls/SKILL.md +0 -380
  323. package/skills/cometchat-angular-calls/references/add-calls-to-existing-chat.md +0 -96
  324. package/skills/cometchat-angular-calls/references/call-layouts.md +0 -123
  325. package/skills/cometchat-angular-calls/references/call-session.md +0 -167
  326. package/skills/cometchat-angular-calls/references/custom-ui.md +0 -239
  327. package/skills/cometchat-angular-calls/references/device-management.md +0 -154
  328. package/skills/cometchat-angular-calls/references/group-calls.md +0 -433
  329. package/skills/cometchat-angular-calls/references/idle-timeout.md +0 -161
  330. package/skills/cometchat-angular-calls/references/in-call-chat.md +0 -148
  331. package/skills/cometchat-angular-calls/references/lazy-loading-pitfalls.md +0 -205
  332. package/skills/cometchat-angular-calls/references/migration-v4-to-v5.md +0 -53
  333. package/skills/cometchat-angular-calls/references/ngzone-and-async-callbacks.md +0 -184
  334. package/skills/cometchat-angular-calls/references/picture-in-picture.md +0 -285
  335. package/skills/cometchat-angular-calls/references/raise-hand.md +0 -172
  336. package/skills/cometchat-angular-calls/references/recording-screen-share.md +0 -260
  337. package/skills/cometchat-angular-calls/references/ringing-integration.md +0 -133
  338. package/skills/cometchat-angular-calls/references/server-web-push-vapid.md +0 -100
  339. package/skills/cometchat-angular-calls/references/share-invite.md +0 -122
  340. package/skills/cometchat-angular-calls/references/virtual-background.md +0 -29
  341. package/skills/cometchat-angular-components/SKILL.md +0 -235
  342. package/skills/cometchat-angular-core/SKILL.md +0 -386
  343. package/skills/cometchat-angular-customization/SKILL.md +0 -616
  344. package/skills/cometchat-angular-features/SKILL.md +0 -329
  345. package/skills/cometchat-angular-patterns/SKILL.md +0 -256
  346. package/skills/cometchat-angular-placement/SKILL.md +0 -314
  347. package/skills/cometchat-angular-production/SKILL.md +0 -564
  348. package/skills/cometchat-angular-push/SKILL.md +0 -389
  349. package/skills/cometchat-angular-testing/SKILL.md +0 -605
  350. package/skills/cometchat-angular-theming/SKILL.md +0 -290
  351. package/skills/cometchat-angular-troubleshooting/SKILL.md +0 -364
  352. package/skills/cometchat-astro-patterns/SKILL.md +0 -708
  353. package/skills/cometchat-calls/SKILL.md +0 -364
  354. package/skills/cometchat-calls/references/use-case-broadcast.md +0 -199
  355. package/skills/cometchat-calls/references/use-case-marketplace.md +0 -157
  356. package/skills/cometchat-calls/references/use-case-support.md +0 -189
  357. package/skills/cometchat-calls/references/use-case-team.md +0 -180
  358. package/skills/cometchat-calls/references/use-case-telehealth.md +0 -153
  359. package/skills/cometchat-components/SKILL.md +0 -1142
  360. package/skills/cometchat-core/SKILL.md +0 -1048
  361. package/skills/cometchat-customization/SKILL.md +0 -580
  362. package/skills/cometchat-customization/references/component-catalog.md +0 -236
  363. package/skills/cometchat-features/SKILL.md +0 -861
  364. package/skills/cometchat-flutter-v5/SKILL.md +0 -173
  365. package/skills/cometchat-flutter-v5-calls/SKILL.md +0 -455
  366. package/skills/cometchat-flutter-v5-calls/references/add-calls-to-existing-chat.md +0 -193
  367. package/skills/cometchat-flutter-v5-calls/references/call-layouts.md +0 -103
  368. package/skills/cometchat-flutter-v5-calls/references/call-session.md +0 -285
  369. package/skills/cometchat-flutter-v5-calls/references/device-management.md +0 -124
  370. package/skills/cometchat-flutter-v5-calls/references/group-calls.md +0 -181
  371. package/skills/cometchat-flutter-v5-calls/references/idle-timeout.md +0 -99
  372. package/skills/cometchat-flutter-v5-calls/references/in-call-chat.md +0 -135
  373. package/skills/cometchat-flutter-v5-calls/references/migration-v4-to-v5.md +0 -210
  374. package/skills/cometchat-flutter-v5-calls/references/raise-hand.md +0 -255
  375. package/skills/cometchat-flutter-v5-calls/references/ringing-integration.md +0 -196
  376. package/skills/cometchat-flutter-v5-calls/references/server-push-bridge.md +0 -101
  377. package/skills/cometchat-flutter-v5-calls/references/share-invite.md +0 -148
  378. package/skills/cometchat-flutter-v5-conversations/SKILL.md +0 -118
  379. package/skills/cometchat-flutter-v5-core/SKILL.md +0 -239
  380. package/skills/cometchat-flutter-v5-customization/SKILL.md +0 -358
  381. package/skills/cometchat-flutter-v5-events/SKILL.md +0 -156
  382. package/skills/cometchat-flutter-v5-messages/SKILL.md +0 -259
  383. package/skills/cometchat-flutter-v5-production/SKILL.md +0 -216
  384. package/skills/cometchat-flutter-v5-push/SKILL.md +0 -285
  385. package/skills/cometchat-flutter-v5-testing/SKILL.md +0 -401
  386. package/skills/cometchat-flutter-v5-theming/SKILL.md +0 -161
  387. package/skills/cometchat-flutter-v5-troubleshooting/SKILL.md +0 -130
  388. package/skills/cometchat-flutter-v5-users-groups/SKILL.md +0 -152
  389. package/skills/cometchat-flutter-v6/SKILL.md +0 -446
  390. package/skills/cometchat-flutter-v6-calls/references/add-calls-to-existing-chat.md +0 -136
  391. package/skills/cometchat-flutter-v6-calls/references/advanced-features.md +0 -89
  392. package/skills/cometchat-flutter-v6-calls/references/call-layouts.md +0 -105
  393. package/skills/cometchat-flutter-v6-calls/references/call-session.md +0 -229
  394. package/skills/cometchat-flutter-v6-calls/references/device-management.md +0 -105
  395. package/skills/cometchat-flutter-v6-calls/references/group-calls.md +0 -190
  396. package/skills/cometchat-flutter-v6-calls/references/idle-timeout.md +0 -88
  397. package/skills/cometchat-flutter-v6-calls/references/in-call-chat.md +0 -125
  398. package/skills/cometchat-flutter-v6-calls/references/raise-hand.md +0 -275
  399. package/skills/cometchat-flutter-v6-calls/references/ringing-integration.md +0 -171
  400. package/skills/cometchat-flutter-v6-calls/references/server-push-bridge.md +0 -93
  401. package/skills/cometchat-flutter-v6-calls/references/share-invite.md +0 -102
  402. package/skills/cometchat-flutter-v6-conversations/SKILL.md +0 -238
  403. package/skills/cometchat-flutter-v6-messages/SKILL.md +0 -384
  404. package/skills/cometchat-flutter-v6-theming/SKILL.md +0 -293
  405. package/skills/cometchat-flutter-v6-users-groups/SKILL.md +0 -224
  406. package/skills/cometchat-i18n/SKILL.md +0 -419
  407. package/skills/cometchat-ios/SKILL.md +0 -325
  408. package/skills/cometchat-ios-calls/references/add-calls-to-existing-chat.md +0 -181
  409. package/skills/cometchat-ios-calls/references/audio-modes-and-controls.md +0 -45
  410. package/skills/cometchat-ios-calls/references/avaudiosession-routing.md +0 -188
  411. package/skills/cometchat-ios-calls/references/call-layouts.md +0 -76
  412. package/skills/cometchat-ios-calls/references/call-session.md +0 -218
  413. package/skills/cometchat-ios-calls/references/callkit-and-pushkit.md +0 -357
  414. package/skills/cometchat-ios-calls/references/custom-ui.md +0 -322
  415. package/skills/cometchat-ios-calls/references/device-management.md +0 -171
  416. package/skills/cometchat-ios-calls/references/group-calls.md +0 -359
  417. package/skills/cometchat-ios-calls/references/idle-timeout.md +0 -184
  418. package/skills/cometchat-ios-calls/references/in-call-chat.md +0 -179
  419. package/skills/cometchat-ios-calls/references/migration-v4-to-v5.md +0 -196
  420. package/skills/cometchat-ios-calls/references/picture-in-picture.md +0 -246
  421. package/skills/cometchat-ios-calls/references/raise-hand.md +0 -26
  422. package/skills/cometchat-ios-calls/references/recording-screen-share.md +0 -252
  423. package/skills/cometchat-ios-calls/references/ringing-integration.md +0 -143
  424. package/skills/cometchat-ios-calls/references/server-apns-pushkit.md +0 -267
  425. package/skills/cometchat-ios-calls/references/share-invite.md +0 -148
  426. package/skills/cometchat-ios-calls/references/swiftui-uikit-hosting.md +0 -246
  427. package/skills/cometchat-ios-calls/references/voip-cert-setup.md +0 -166
  428. package/skills/cometchat-ios-production/SKILL.md +0 -738
  429. package/skills/cometchat-ios-testing/SKILL.md +0 -376
  430. package/skills/cometchat-ios-theming/SKILL.md +0 -667
  431. package/skills/cometchat-ios-troubleshooting/SKILL.md +0 -1003
  432. package/skills/cometchat-native-bare-patterns/SKILL.md +0 -550
  433. package/skills/cometchat-native-calls/SKILL.md +0 -671
  434. package/skills/cometchat-native-calls/references/add-calls-to-existing-chat.md +0 -203
  435. package/skills/cometchat-native-calls/references/call-layouts.md +0 -125
  436. package/skills/cometchat-native-calls/references/call-session.md +0 -182
  437. package/skills/cometchat-native-calls/references/custom-ui.md +0 -254
  438. package/skills/cometchat-native-calls/references/device-management.md +0 -158
  439. package/skills/cometchat-native-calls/references/expo-vs-bare.md +0 -179
  440. package/skills/cometchat-native-calls/references/group-calls.md +0 -296
  441. package/skills/cometchat-native-calls/references/idle-timeout.md +0 -128
  442. package/skills/cometchat-native-calls/references/in-call-chat.md +0 -145
  443. package/skills/cometchat-native-calls/references/migration-v4-to-v5.md +0 -72
  444. package/skills/cometchat-native-calls/references/picture-in-picture.md +0 -276
  445. package/skills/cometchat-native-calls/references/raise-hand.md +0 -205
  446. package/skills/cometchat-native-calls/references/recording-screen-share.md +0 -169
  447. package/skills/cometchat-native-calls/references/ringing-integration.md +0 -118
  448. package/skills/cometchat-native-calls/references/server-push-bridge.md +0 -135
  449. package/skills/cometchat-native-calls/references/server-push-payloads.md +0 -193
  450. package/skills/cometchat-native-calls/references/share-invite.md +0 -146
  451. package/skills/cometchat-native-calls/references/voip-push-end-to-end.md +0 -319
  452. package/skills/cometchat-native-components/SKILL.md +0 -628
  453. package/skills/cometchat-native-core/SKILL.md +0 -679
  454. package/skills/cometchat-native-customization/SKILL.md +0 -716
  455. package/skills/cometchat-native-expo-patterns/SKILL.md +0 -552
  456. package/skills/cometchat-native-features/SKILL.md +0 -638
  457. package/skills/cometchat-native-placement/SKILL.md +0 -509
  458. package/skills/cometchat-native-production/SKILL.md +0 -700
  459. package/skills/cometchat-native-push/SKILL.md +0 -594
  460. package/skills/cometchat-native-testing/SKILL.md +0 -582
  461. package/skills/cometchat-native-theming/SKILL.md +0 -681
  462. package/skills/cometchat-native-troubleshooting/SKILL.md +0 -501
  463. package/skills/cometchat-nextjs-patterns/SKILL.md +0 -899
  464. package/skills/cometchat-placement/SKILL.md +0 -1360
  465. package/skills/cometchat-production/SKILL.md +0 -1027
  466. package/skills/cometchat-react-calls/SKILL.md +0 -752
  467. package/skills/cometchat-react-calls/references/add-calls-to-existing-chat.md +0 -146
  468. package/skills/cometchat-react-calls/references/call-layouts.md +0 -160
  469. package/skills/cometchat-react-calls/references/call-session.md +0 -235
  470. package/skills/cometchat-react-calls/references/custom-ui.md +0 -247
  471. package/skills/cometchat-react-calls/references/device-management.md +0 -210
  472. package/skills/cometchat-react-calls/references/group-calls.md +0 -257
  473. package/skills/cometchat-react-calls/references/idle-timeout.md +0 -188
  474. package/skills/cometchat-react-calls/references/in-call-chat.md +0 -212
  475. package/skills/cometchat-react-calls/references/migration-v4-to-v5.md +0 -170
  476. package/skills/cometchat-react-calls/references/picture-in-picture.md +0 -245
  477. package/skills/cometchat-react-calls/references/raise-hand.md +0 -238
  478. package/skills/cometchat-react-calls/references/recording-screen-share.md +0 -144
  479. package/skills/cometchat-react-calls/references/ringing-integration.md +0 -255
  480. package/skills/cometchat-react-calls/references/server-web-push-vapid.md +0 -241
  481. package/skills/cometchat-react-calls/references/share-invite.md +0 -175
  482. package/skills/cometchat-react-calls/references/testing-calls-on-web.md +0 -216
  483. package/skills/cometchat-react-calls/references/virtual-background.md +0 -32
  484. package/skills/cometchat-react-calls/references/voip-and-web-push.md +0 -165
  485. package/skills/cometchat-react-patterns/SKILL.md +0 -628
  486. package/skills/cometchat-react-push/SKILL.md +0 -634
  487. package/skills/cometchat-react-router-patterns/SKILL.md +0 -758
  488. package/skills/cometchat-react-testing/SKILL.md +0 -413
  489. package/skills/cometchat-theming/SKILL.md +0 -498
  490. package/skills/cometchat-troubleshooting/SKILL.md +0 -294
@@ -1,325 +0,0 @@
1
- ---
2
- name: cometchat-ios
3
- description: Entry-point for CometChat iOS UI Kit integration in any Swift/iOS project. Detects the project type, gathers requirements through an interactive conversation, and writes production-quality integration code for UIKit and SwiftUI applications.
4
- license: "MIT"
5
- metadata:
6
- author: "CometChat"
7
- version: "3.0.0"
8
- tags: "cometchat dispatcher entry ios swift uikit swiftui chat messaging"
9
- ---
10
-
11
- > **Ground truth:** `CometChatUIKitSwift ~> 5` (+ `CometChatCallsSDK ~> 5`) — Pods/SPM `.swiftinterface` + `ui-kit/ios`. **Official docs:** https://www.cometchat.com/docs/ui-kit/ios/overview · **Docs MCP:** `claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp` (or fetch the URL directly without MCP). Verify symbols against the installed package/source before relying on them.
12
-
13
- ## Use this skill when
14
-
15
- The user wants to add CometChat to any iOS project. Trigger phrases:
16
-
17
- - `/cometchat` (or invoke the cometchat-ios skill via your agent's mechanism — keyword "cometchat" or "integrate chat" works in most agents)
18
- - "add cometchat", "integrate cometchat", "add chat to my app"
19
- - "add messaging", "add chat ui", "add in-app chat"
20
- - "integrate chat in ios", "add chat to swift app"
21
-
22
- This is the **entry point for iOS integration**. Do NOT invoke
23
- framework-specific skills directly — this dispatcher detects the
24
- project type first and routes to the right ones.
25
-
26
- **Supported project types:**
27
-
28
- | Type | Description |
29
- |---|---|
30
- | **UIKit** | Traditional UIKit-based iOS apps using Storyboards or programmatic UI |
31
- | **SwiftUI** | Modern SwiftUI-based iOS apps |
32
- | **Hybrid** | Apps using both UIKit and SwiftUI |
33
-
34
- The iOS UI Kit loads `CometChatUIKitSwift` via CocoaPods or Swift Package Manager, along with `CometChatSDK`.
35
-
36
- ## How this skill works
37
-
38
- This skill is **interactive and conversational**. You don't just detect
39
- the project type and dump code. You have a conversation with the developer
40
- to understand their project, their use case, and exactly where chat
41
- should go — THEN you write code that fits.
42
-
43
- **Pattern skills (loaded from your context):**
44
- - `cometchat-ios-core` — initialization, login, provider pattern, anti-patterns
45
- - `cometchat-ios-components` — component catalog, props, composition patterns
46
- - `cometchat-ios-placement` — WHERE to put chat (navigation, tabs, modals)
47
- - `cometchat-ios-theming` — customizing colors, fonts, and styles
48
- - `cometchat-ios-customization` — custom views, templates, formatters
49
-
50
- **Key principle: ask, don't assume.** Every piece of information you need
51
- from the user should be asked explicitly. Don't guess the view controller,
52
- don't guess where the trigger button goes, don't guess the auth system.
53
-
54
- ## Steps
55
-
56
- ### Step 1 — Detect project type + map the project
57
-
58
- First, check for iOS project indicators:
59
-
60
- **Detection checklist:**
61
- 1. Look for `.xcodeproj` or `.xcworkspace` files
62
- 2. Check for `Podfile` (CocoaPods), `Package.swift` (SPM as a package), or SPM dep refs in `*.xcodeproj/project.pbxproj` (SPM via Xcode GUI)
63
- 3. Read `Info.plist` for app configuration
64
- 4. Check for SwiftUI indicators (`@main App`, `ContentView.swift`)
65
- 5. Check for UIKit indicators (`AppDelegate.swift`, `SceneDelegate.swift`, Storyboards)
66
-
67
- **If the project has NO `Podfile`, NO `Package.swift`, AND no SPM refs in the .xcodeproj** (the default state of every freshly Xcode-created `File → New → App` project), STOP. You must establish a dependency-management mechanism before touching integration code. Read `cometchat-ios-core` § 1.0 for the two options (CocoaPods script-able, SPM Xcode-GUI) and complete that step first. Skipping this produces an integration with `import CometChatUIKitSwift` that cannot resolve at build time.
68
-
69
- **Then read the project yourself — this is critical.**
70
-
71
- - `Podfile`, `Package.swift`, or SPM refs in `*.xcodeproj/project.pbxproj` — existing dependencies
72
- - The source directory structure — list all directories under the project
73
- - Find the entry point: `AppDelegate.swift`, `SceneDelegate.swift`, or `@main App`
74
- - Find existing view controllers or SwiftUI views
75
- - Find the navigation structure: `UINavigationController`, `UITabBarController`, `NavigationStack`
76
-
77
- Store this mental map — you'll use it throughout the conversation.
78
-
79
- **Compatibility baselines:**
80
- - iOS 13+ required for CometChat UI Kit (CometChatSDK floor is iOS 11)
81
- - **iOS 16+ required if you use calling** — `CometChatCallsSDK` 5.x has a deployment target of iOS 16.0; a project targeting iOS 13 will fail to link the Calls SDK
82
- - Swift 5.0+ required
83
- - Xcode 14+ recommended
84
-
85
- ### Step 2 — Set up credentials (onboarding)
86
-
87
- **Ask the user for their CometChat credentials:**
88
-
89
- Ask the user (preserve this exact shape — `question`, `header`, `multiSelect`, `options[].label`, `options[].description` — agents have varying primitive names but all support this structured form):
90
- - **question:** "Let's set up CometChat. Do you have your credentials?"
91
- - **header:** "CometChat Setup"
92
- - **multiSelect:** false
93
- - **options:**
94
- 1. label: "I have my App ID, Region, and Auth Key", description: "I'll paste them now"
95
- 2. label: "I need to create a CometChat account", description: "Guide me to get credentials"
96
- 3. label: "I'll set them up later", description: "Just show me the integration code"
97
-
98
- **If they have credentials:**
99
- Ask for:
100
- 1. App ID (from CometChat Dashboard)
101
- 2. Region (`us`, `eu`, or `in`)
102
- 3. Auth Key (for development mode)
103
-
104
- **If they need to create an account:**
105
- Direct them to:
106
- > "Create a free account at https://app.cometchat.com
107
- > 1. Sign up and create a new app
108
- > 2. Go to API & Auth Keys section
109
- > 3. Copy your App ID, Region, and Auth Key
110
- > Tell me when you have them."
111
-
112
- ### Step 3 — Interactive requirements gathering
113
-
114
- #### 3a. "What are you building?"
115
-
116
- Ask the user (preserve the structured shape — `question`/`header`/`multiSelect`/`options[].label`/`options[].description`):
117
- - **question:** "What kind of app are you building?"
118
- - **header:** "Your app"
119
- - **multiSelect:** false
120
- - **options:**
121
- 1. label: "Messaging app", description: "Chat is the main feature — like WhatsApp, Telegram, or iMessage"
122
- 2. label: "Marketplace or platform", description: "Buyers and sellers communicate — like Airbnb or eBay"
123
- 3. label: "SaaS or productivity", description: "Team chat or support chat inside a product"
124
- 4. label: "Social or community", description: "User profiles with messaging — like a dating app or community"
125
- 5. label: "Support or helpdesk", description: "Customer-to-agent communication"
126
- 6. label: "Just exploring", description: "Quick demo — fastest path to see chat working"
127
-
128
- **If "Just exploring":** Skip the rest of Step 3 and scaffold the minimal integration — one view controller showing `CometChatConversations` with `cometchat-uid-1` pre-logged-in.
129
-
130
- #### 3b. Show what you recommend and why
131
-
132
- | Intent | What you'll set up |
133
- |---|---|
134
- | **Messaging app** | A dedicated messages tab with conversation list + message view |
135
- | **Marketplace** | A "Chat with seller" button on product screens + an inbox tab |
136
- | **SaaS / dashboard** | A chat modal triggered from navigation + a messages section |
137
- | **Social / community** | A full messenger with tabs: Chats, Calls, Users, Groups |
138
- | **Support** | A floating chat button that opens a support conversation |
139
-
140
- Ask: "Does this sound right, or do you want a different approach?"
141
-
142
- #### 3c. Ask where things should go
143
-
144
- **Show the user their actual project structure** — list the view controllers/views you found in Step 1.
145
-
146
- **For UIKit projects:**
147
- > "I found these view controllers in your project:
148
- > - MainViewController
149
- > - ProfileViewController
150
- > - SettingsViewController
151
- >
152
- > Where should the messages screen be accessible from?"
153
-
154
- **For SwiftUI projects:**
155
- > "I found these views in your project:
156
- > - ContentView
157
- > - HomeView
158
- > - ProfileView
159
- >
160
- > Where should the messages view be accessible from?"
161
-
162
- #### 3d. Detect and ask about authentication
163
-
164
- Look for auth libraries in the project:
165
- - `FirebaseAuth` → Firebase Authentication
166
- - `AuthenticationServices` → Sign in with Apple
167
- - `GoogleSignIn` → Google Sign-In
168
- - Custom auth patterns
169
-
170
- Report what you found and ask:
171
-
172
- If auth detected:
173
- > "I see you're using [Firebase Auth / etc.]. Here's how CometChat will work:
174
- >
175
- > - **Development (now):** I'll use CometChat's Auth Key for quick testing
176
- > - **Production (later):** Your server will mint per-user auth tokens
177
- >
178
- > Start with dev mode for now?"
179
-
180
- If no auth detected:
181
- > "I don't see an authentication system yet. For now, I'll set up CometChat
182
- > with a hardcoded test user (cometchat-uid-1).
183
- >
184
- > When you add auth later, you can connect them."
185
-
186
- #### 3e. Confirm the plan
187
-
188
- **Show EXACTLY what you'll do before doing it:**
189
-
190
- > "Here's what I'll create:
191
- >
192
- > **New files:**
193
- > - `CometChatManager.swift` — initialization and login handling
194
- > - `ChatViewController.swift` — main chat interface
195
- >
196
- > **Files I'll modify:**
197
- > - `AppDelegate.swift` — add CometChat initialization
198
- > - `MainViewController.swift` — add navigation to chat
199
- >
200
- > **Dependencies:** CometChatUIKitSwift, CometChatSDK
201
- >
202
- > **Auth mode:** Development (Auth Key)
203
- >
204
- > Proceed? [y/n]"
205
-
206
- Wait for explicit confirmation.
207
-
208
- ### Step 4 — Reference pattern skills
209
-
210
- **All skills are already loaded in your context.** Read and follow them directly:
211
-
212
- 1. `cometchat-ios-core` — initialization, login, provider pattern
213
- 2. `cometchat-ios-components` — component catalog, composition patterns
214
- 3. `cometchat-ios-placement` — placement pattern for the chosen approach
215
- 4. `cometchat-ios-theming` — if customization is needed
216
-
217
- ### Step 5 — Write the integration
218
-
219
- Execute the confirmed plan:
220
-
221
- 1. **Add dependencies** — CocoaPods or SPM
222
- 2. **CometChatManager** — singleton for init/login
223
- 3. **Chat UI** — appropriate components for the use case
224
- 4. **Wire into existing project** — READ each file before modifying
225
- 5. **Environment setup** — credentials configuration
226
-
227
- ### Step 6 — Verify + show result
228
-
229
- After writing code:
230
-
231
- 1. Verify the project builds
232
- 2. Check for any missing imports
233
- 3. Surface any common issues
234
-
235
- **Result message:**
236
- > "CometChat is integrated! Here's what was set up:
237
- >
238
- > - CometChatManager.swift ✓
239
- > - ChatViewController.swift ✓
240
- > - Dependencies added ✓
241
- >
242
- > Next steps:
243
- > 1. Run `pod install` (if using CocoaPods)
244
- > 2. Build and run the app
245
- > 3. Navigate to the chat screen
246
- >
247
- > **About the empty conversation list:**
248
- > Every CometChat app has 5 pre-created test users: `cometchat-uid-1` through `uid-5`.
249
- > To see chat working:
250
- > 1. Open https://app.cometchat.com → your app → Users
251
- > 2. Send a message from `cometchat-uid-2` to `cometchat-uid-1`
252
- > 3. Refresh the app to see the conversation"
253
-
254
- ### Step 7 — Iteration menu
255
-
256
- Ask the user (preserve the structured shape — `question`/`header`/`options[].label`/`options[].description`):
257
- - **question:** "What would you like to do next?"
258
- - **header:** "Next step"
259
- - **options:**
260
- 1. label: "Customize look and feel", description: "Change colors, fonts, and styles"
261
- 2. label: "Add a feature", description: "Calls, reactions, polls, AI features"
262
- 3. label: "Customize a component", description: "Custom message bubbles, headers, etc."
263
- 4. label: "Set up push notifications", description: "APNs setup for message notifications"
264
- 5. label: "Set up production auth", description: "Replace dev Auth Key with server tokens"
265
- 6. label: "Troubleshoot an issue", description: "Debug common problems"
266
- 7. label: "I'm done", description: "Exit"
267
-
268
- ## Hard rules
269
-
270
- ### Always
271
-
272
- - **Ask, don't assume.** Every integration decision should be confirmed.
273
- - **Always detect project type first.** Do not assume UIKit or SwiftUI.
274
- - NEVER replace existing project files unless the user explicitly confirms.
275
- - ALWAYS read existing files before modifying them.
276
- - ALWAYS show the plan and get confirmation before writing.
277
- - For component names and properties, use the `cometchat-ios-components` skill — never invent from training data.
278
-
279
- ### iOS-specific
280
-
281
- - **Initialize CometChat in AppDelegate or App init** — before any UI renders
282
- - **Use the singleton pattern** for CometChatManager
283
- - **Handle async initialization properly** — don't show chat UI until init completes
284
- - **Respect iOS lifecycle** — handle background/foreground transitions
285
- - **Support both light and dark mode** — use CometChatTheme
286
-
287
- ## Error handling
288
-
289
- Common iOS integration errors:
290
-
291
- | Error | Cause | Solution |
292
- |---|---|---|
293
- | "CometChat is not initialized" | UI shown before init completes | Use completion handler pattern |
294
- | "Invalid App ID" | Wrong credentials | Verify App ID in dashboard |
295
- | "Module not found" | Dependencies not installed | Run `pod install` or add SPM package |
296
- | Build errors | Missing imports | Add `import CometChatUIKitSwift` |
297
-
298
- ## Skill routing reference
299
-
300
- | Skill | When to load |
301
- |---|---|
302
- | `cometchat-ios-core` | Always — before any integration code |
303
- | `cometchat-ios-components` | Always — before writing component code |
304
- | `cometchat-ios-placement` | When integrating — for placement patterns |
305
- | `cometchat-ios-theming` | When customizing themes |
306
- | `cometchat-ios-customization` | When writing custom views or templates |
307
- | `cometchat-ios-features` | When adding calls, reactions, polls, AI features |
308
- | `cometchat-ios-push` | When setting up push notifications |
309
- | `cometchat-ios-production` | When setting up production auth |
310
- | `cometchat-ios-troubleshooting` | When diagnosing problems |
311
-
312
- ## Complete Skill Set
313
-
314
- This iOS UI Kit skill set includes 9 comprehensive skills:
315
-
316
- 1. **cometchat-ios** (this file) — Entry-point dispatcher
317
- 2. **cometchat-ios-core** — Initialization, login, manager pattern
318
- 3. **cometchat-ios-components** — Complete component catalog
319
- 4. **cometchat-ios-placement** — Navigation patterns, tabs, modals
320
- 5. **cometchat-ios-theming** — Colors, fonts, dark mode
321
- 6. **cometchat-ios-customization** — Custom views, templates, formatters
322
- 7. **cometchat-ios-features** — Calls, reactions, polls, AI, extensions
323
- 8. **cometchat-ios-push** — Push notifications setup
324
- 9. **cometchat-ios-production** — Server-side auth, security
325
- 10. **cometchat-ios-troubleshooting** — Common issues and debugging
@@ -1,181 +0,0 @@
1
- # Adding calls to an existing chat integration (iOS)
2
-
3
- You have `CometChatUIKitSwift` working. This guide adds `CometChatCallsSDK` plus PushKit + CallKit + the seven hard rules.
4
-
5
- **Read first:** `cometchat-ios-calls/SKILL.md` — seven hard rules (init order, IncomingCall mount, hangup teardown, VoIP push, etc.).
6
-
7
- ---
8
-
9
- ## Step 1 — Install Calls SDK
10
-
11
- **SwiftPM:**
12
- - File → Add Packages → `https://github.com/cometchat/calls-sdk-ios` → version `5.0.0+`
13
- - Add `CometChatCallsSDK` to your app target
14
-
15
- **CocoaPods:**
16
- ```ruby
17
- pod 'CometChatCallsSDK', '~> 5.0'
18
- ```
19
- ```bash
20
- pod install --repo-update
21
- ```
22
-
23
- ---
24
-
25
- ## Step 2 — Add capabilities + Info.plist entries
26
-
27
- **Xcode → target → Signing & Capabilities:**
28
- - Push Notifications
29
- - Background Modes → check Audio, AirPlay, and Picture in Picture + Voice over IP + Remote notifications
30
-
31
- **Info.plist:**
32
- ```xml
33
- <key>UIBackgroundModes</key>
34
- <array>
35
- <string>audio</string>
36
- <string>voip</string>
37
- <string>remote-notification</string>
38
- </array>
39
- <key>NSCameraUsageDescription</key>
40
- <string>Camera access is required for video calls.</string>
41
- <key>NSMicrophoneUsageDescription</key>
42
- <string>Microphone access is required for calls.</string>
43
- ```
44
-
45
- ---
46
-
47
- ## Step 3 — Init order: chat → calls
48
-
49
- Wherever you currently call `CometChatUIKit.init(uikitSettings:)`, append the calls init:
50
-
51
- ```swift
52
- import CometChatSDK
53
- import CometChatCallsSDK
54
- import CometChatUIKitSwift
55
-
56
- // Existing chat init
57
- CometChatUIKit.init(uikitSettings: chatSettings) { result in
58
- switch result {
59
- case .success:
60
- // NEW: Calls init AFTER chat init succeeded.
61
- // File-based init (CometChatCallsSDK >= 5.0.2 — requires iOS 15.1+ deployment
62
- // target or CocoaPods silently resolves 5.0.1 without this API):
63
- // reads the same bundled cometchat-settings.json the chat side uses and
64
- // attributes the integration as ai-agent — see cometchat-ios-calls SKILL.md §2.
65
- CometChatCalls.initFromSettings(onSuccess: { _ in
66
- // calls ready
67
- }, onError: { error in
68
- print("CometChatCalls init failed: \(error?.errorDescription ?? "")")
69
- })
70
- // Pre-5.0.2 fallback: CallAppSettingsBuilder().setAppId(...).setRegion(...).build()
71
- // passed to CometChatCalls.init(callsAppSettings:onSuccess:onError:).
72
- case .onError(let error):
73
- print(error)
74
- }
75
- }
76
- ```
77
-
78
- ---
79
-
80
- ## Step 4 — Login
81
-
82
- Log in with the Chat SDK only. **There is no `CometChatCalls.login` and no `CometChat.loginAsync`** — the Calls SDK has no separate login step; it authenticates per call session via `generateToken`.
83
-
84
- ```swift
85
- CometChat.login(UID: uid, authKey: authKey, onSuccess: { user in
86
- // logged in — that's it. Do NOT call CometChatCalls.login (doesn't exist).
87
- // When a call starts, call CometChatCalls.generateToken(authToken:sessionID:)
88
- // with CometChat.getUserAuthToken() (User has no `authToken` property).
89
- }, onError: { error in /* surface */ })
90
- ```
91
-
92
- If you use server-minted auth tokens (recommended), use the `CometChat.login(UID:authToken:...)` overload instead of `authKey`.
93
-
94
- ---
95
-
96
- ## Step 5 — Mount IncomingCall at root
97
-
98
- In SwiftUI:
99
-
100
- ```swift
101
- @main
102
- struct YourApp: App {
103
- var body: some Scene {
104
- WindowGroup {
105
- RootView()
106
- .overlay(alignment: .top) {
107
- CometChatIncomingCall()
108
- }
109
- }
110
- }
111
- }
112
- ```
113
-
114
- In UIKit:
115
- - Make a `RootViewController` that holds your existing app + the `CometChatIncomingCallView`
116
- - Or use `UIWindow.rootViewController` swap pattern when an incoming call arrives
117
-
118
- ---
119
-
120
- ## Step 6 — PushKit + CallKit registration
121
-
122
- Implement `PKPushRegistryDelegate` (see `cometchat-ios-calls/references/server-apns-pushkit.md`):
123
-
124
- ```swift
125
- class VoipPushHandler: NSObject, PKPushRegistryDelegate {
126
- let registry = PKPushRegistry(queue: .main)
127
- let callProvider: CXProvider
128
-
129
- func pushRegistry(_ registry: PKPushRegistry, didUpdate credentials: PKPushCredentials, for type: PKPushType) {
130
- let token = credentials.token.map { String(format: "%02x", $0) }.joined()
131
- Task { try await api.registerVoipToken(uid: currentUid, token: token) }
132
- }
133
-
134
- func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) {
135
- // Report to CallKit IMMEDIATELY
136
- let update = CXCallUpdate()
137
- let dict = payload.dictionaryPayload
138
- update.remoteHandle = CXHandle(type: .generic, value: dict["callerUid"] as? String ?? "Unknown")
139
- update.localizedCallerName = dict["callerName"] as? String ?? "Unknown"
140
- update.hasVideo = (dict["callType"] as? String) == "video"
141
- callProvider.reportNewIncomingCall(with: UUID(), update: update) { _ in completion() }
142
- }
143
- }
144
- ```
145
-
146
- Init this handler from your `AppDelegate.didFinishLaunchingWithOptions`.
147
-
148
- ---
149
-
150
- ## Step 7 — Hangup teardown
151
-
152
- ```swift
153
- func endCall(sessionId: String) {
154
- CometChatCalls.endSession() // Calls SDK — EXISTS (not leaveSession)
155
- CometChat.endCall(sessionID: sessionId, onSuccess: { _ in }, onError: { _ in })
156
- callProvider.reportCall(with: callUUID, endedAt: nil, reason: .remoteEnded)
157
- }
158
- ```
159
-
160
- ---
161
-
162
- ## Verification checklist
163
-
164
- - [ ] `CometChatCallsSDK` in SwiftPM/CocoaPods
165
- - [ ] Background Modes capability + Info.plist UIBackgroundModes (audio + voip + remote-notification)
166
- - [ ] NSCameraUsageDescription + NSMicrophoneUsageDescription
167
- - [ ] Calls init runs AFTER chat init succeeds
168
- - [ ] NO `CometChatCalls.login` (doesn't exist) — Calls auth is per-session via `generateToken`
169
- - [ ] `CometChatIncomingCall` mounted at root (SwiftUI overlay or UIKit window-root)
170
- - [ ] PushKit registry initialized + reports to CallKit within 5s
171
- - [ ] Hangup teardown ends both SDK + CallKit + chat-side call record
172
- - [ ] Real-device smoke: backgrounded incoming call rings on lock screen
173
- - [ ] Run `cometchat verify --calls` — should pass
174
-
175
- ---
176
-
177
- ## Pointers
178
-
179
- - `cometchat-react-calls/references/add-calls-to-existing-chat.md` — canonical (no native modules)
180
- - `cometchat-ios-calls/SKILL.md` — seven hard rules
181
- - `cometchat-ios-calls/references/server-apns-pushkit.md` — server-side PushKit
@@ -1,45 +0,0 @@
1
- # iOS — Audio Modes + Custom Control Panel
2
-
3
- Verified against `CometChatCallsSDK` 5.x (`callssdk.swiftinterface`).
4
-
5
- ## 1. Audio modes (speaker / earpiece / Bluetooth)
6
-
7
- The SDK reports the available audio routes via the `CallsEventsDelegate` as typed `CallAudioMode` objects (swiftinterface:133 — `mode: String`, `isSelected: Bool`), and lets you switch programmatically by passing a `CallAudioMode`.
8
-
9
- ```swift
10
- import CometChatCallsSDK
11
-
12
- // Observe available routes + current selection (typed form).
13
- // swiftinterface:44 onAudioModeChanged(mode: [CallAudioMode])
14
- func onAudioModeChanged(mode: [CallAudioMode]) {
15
- self.audioRoutes = mode // each has .mode (e.g. "SPEAKER") and .isSelected
16
- }
17
-
18
- // Switch route with a typed CallAudioMode — the current setter.
19
- // swiftinterface:234 CometChatCalls.setAudioMode(_ audioMode: CallAudioMode)
20
- CometChatCalls.setAudioMode(CallAudioMode(mode: "SPEAKER", isSelected: true))
21
- ```
22
-
23
- Note the kit's default in-call UI already shows an audio-mode button; you only need the above for a **custom** control surface (or to drive routing yourself).
24
-
25
- Verified against `CometChatCallsSDK` swiftinterface: the typed `CallsEventsDelegate.onAudioModeChanged(mode: [CallAudioMode])` (swiftinterface:44) and `CometChatCalls.setAudioMode(_ audioMode: CallAudioMode)` (swiftinterface:234) are the CURRENT API. The string forms — `onAudioModeChanged(audioModeList: NSArray)` (swiftinterface:43) and `setAudioMode(mode: String)` (swiftinterface:235) — are DEPRECATED.
26
-
27
- ## 2. Custom control panel (hide built-in buttons)
28
-
29
- There is no separate "panel" object — you compose a custom control bar by **disabling the kit's default buttons** on the `CallSettingsBuilder`, then rendering your own controls (wired to `audioMuted(_:)`, `videoPaused(_:)`, `switchCamera()`, `endSession()`, etc. from the main skill):
30
-
31
- ```swift
32
- let settings = CallSettingsBuilder()
33
- .setEndCallButtonDisable(true)
34
- .setMuteAudioButtonDisable(true)
35
- .setPauseVideoButtonDisable(true)
36
- .setSwitchCameraButtonDisable(true)
37
- .setAudioModeButtonDisable(true)
38
- .setShowRecordingButton(false)
39
- .build()
40
- // then overlay your own SwiftUI/UIKit control bar on the call container
41
- ```
42
-
43
- Verified (on `CallSettingsBuilder`): `setEndCallButtonDisable`, `setMuteAudioButtonDisable`, `setPauseVideoButtonDisable`, `setSwitchCameraButtonDisable`, `setAudioModeButtonDisable`, `setShowRecordingButton` — all `(Bool) -> Self`.
44
-
45
- > **Not supported on iOS** (no SDK symbol — do not author): Virtual Background, and local screen-share **initiation** (receive-only). See the main skill's resolution note.