
Cometchat Flutter V5
- 4 installs
- 70 repo stars
- Updated June 23, 2026
- cometchat/cometchat-skills
Orchestrator for building chat with CometChat Flutter UIKit v5 that routes to feature-specific skills and confirms the two-package v5 setup.
About
Acts as the entry-point skill for CometChat Flutter UIKit v5, detecting the project and routing to feature skills. A developer uses it when starting a chat build on the GetX-based v5 packages.
- Detects v5 via pubspec (cometchat_chat_uikit + cometchat_calls_uikit)
- Explains the two-barrel import split for chat vs calls
Cometchat Flutter V5 by the numbers
- 4 all-time installs (skills.sh)
- Ranked #874 of 1,039 Mobile Development skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cometchat/cometchat-skills --skill cometchat-flutter-v5Add your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 4 |
|---|---|
| repo stars | ★ 70 |
| Last updated | June 23, 2026 |
| Repository | cometchat/cometchat-skills ↗ |
What it does
Orchestrator for building chat with CometChat Flutter UIKit v5 that routes to feature-specific skills and confirms the two-package v5 setup.
Files
CometChat Flutter UIKit v5 — Orchestrator
Entry point skill for the CometChat UIKit v5 packages. Routes to feature skills based on context.
Project Detection
Confirm the project uses CometChat UIKit v5 by checking pubspec.yaml for:
dependencies:
cometchat_chat_uikit: ^5.2.14
cometchat_calls_uikit: ^5.0.15 # Optional, for calling featuresThe v5 uses separate packages (unlike v6 which bundles everything):
cometchat_chat_uikit— Chat UI componentscometchat_calls_uikit— Call UI components (re-exportscometchat_uikit_shared+cometchat_sdk+cometchat_calls_sdk; does NOT re-exportcometchat_chat_uikit)cometchat_uikit_shared— Shared utilities
Imports — two barrels, not one. For chat-only apps, the chat barrel is sufficient. If you also need voice/video calls, add a SECOND import — the calls barrel does NOT re-export the chat barrel.
// Always:
import 'package:cometchat_chat_uikit/cometchat_chat_uikit.dart';
// Add this only if your app uses calls:
import 'package:cometchat_calls_uikit/cometchat_calls_uikit.dart';Key v5 vs v6 Differences
| Aspect | v5 | v6 |
|---|---|---|
| State management | GetX (GetBuilder, GetxController) | BLoC (Bloc, Equatable) |
| Packages | Separate (chat_uikit + calls_uikit) | Single (cometchat_chat_uikit) |
| Controllers | Get.put() internally | ServiceLocator pattern |
| SDK | cometchat_sdk ^4.1.2 | cometchat_sdk ^5.0.0 |
Skill Routing
| User mentions | Route to skill |
|---|---|
| init, login, logout, UIKitSettings, setup, GetX, GetBuilder | cometchat-flutter-v5-core |
| theme, colors, dark mode, styling, CometChatColorPalette, merge() | cometchat-flutter-v5-theming |
| conversations, conversation list, recent chats | cometchat-flutter-v5-conversations |
| messages, message list, composer, compact composer, header, keyboard, threads | cometchat-flutter-v5-messages |
| users, groups, group members, contacts, CometChatChangeScope | cometchat-flutter-v5-users-groups |
| calls, voice call, video call, CometChatCallButtons, incoming call, call logs | cometchat-flutter-v5-calls |
| events, listeners, real-time, typing indicator, online status, receipts | cometchat-flutter-v5-events |
| custom bubbles, templates, DataSource, decorator, formatters, slot views, extensions | cometchat-flutter-v5-customization |
| push notifications, FCM, APNs, VoIP, token, firebase messaging, callkit | cometchat-flutter-v5-push |
| auth tokens, ProGuard, release build, security, environment, production | cometchat-flutter-v5-production |
| error, debug, not working, crash, fix, troubleshoot, verify | cometchat-flutter-v5-troubleshooting |
Architecture Overview
The UIKit v5 follows a GetX controller pattern:
{component}/
├── cometchat_{component}.dart # StatefulWidget
├── cometchat_{component}_controller.dart # extends GetxController
├── cometchat_{component}_style.dart # ThemeExtension with merge()
└── {component}_builder_protocol.dart # Request builder protocolGolden Path — Minimal Chat App (v5)
import 'package:flutter/material.dart';
import 'package:cometchat_chat_uikit/cometchat_chat_uikit.dart';
// Add the calls import only if your app uses voice/video calls:
// import 'package:cometchat_calls_uikit/cometchat_calls_uikit.dart';
const String appId = 'YOUR_APP_ID';
const String region = 'us';
const String authKey = 'YOUR_AUTH_KEY';
void main() => runApp(const MyApp());
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
bool _initializing = true;
bool _loggedIn = false;
@override
void initState() {
super.initState();
_initCometChat();
}
void _initCometChat() {
final settings = (UIKitSettingsBuilder()
..appId = appId
..region = region
..authKey = authKey
..subscriptionType = CometChatSubscriptionType.allUsers
..callingExtension = CometChatCallingExtension())
.build();
CometChatUIKit.init(
uiKitSettings: settings,
onSuccess: (_) {
setState(() {
_loggedIn = CometChatUIKit.loggedInUser != null;
_initializing = false;
});
},
onError: (e) {
debugPrint('Init failed: ${e.message}');
setState(() => _initializing = false);
},
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorKey: CallNavigationContext.navigatorKey,
home: _initializing
? const Scaffold(body: Center(child: CircularProgressIndicator()))
: _loggedIn
? HomeScreen()
: LoginScreen(),
);
}
}Key points:
- Always import
package:cometchat_chat_uikit/cometchat_chat_uikit.dartfor chat widgets; addpackage:cometchat_calls_uikit/cometchat_calls_uikit.dartas a second import only when using calls CometChatUIKit.login(uid)takes a String directlyCallNavigationContext.navigatorKeyset on MaterialAppCometChatCallingExtension()set on UIKitSettingsBuildersubscriptionTypealways set
Autonomous Mode
- If
pubspec.yamlhascometchat_chat_uikitv5.x orcometchat_calls_uikitv5.x → proceed without asking - If credentials exist in code → reuse them
- If user says "messages screen" → generate Scaffold + Header + List + Composer
- Always add
subscriptionTypeto UIKitSettingsBuilder - Always use
CometChatThemeHelperfor colors, never hardcode - Always import from
cometchat_chat_uikitbarrel for chat widgets. Addcometchat_calls_uikitas a SECOND import for calls — never as a replacement (the calls barrel does not re-export chat).
Android Build Requirements
android.useAndroidX=trueandandroid.enableJetifier=trueingradle.propertiesminSdk 26inandroid/app/build.gradle- ProGuard:
-keep class com.cometchat.** { *; }