
Firebase Cloud Functions
Use when calling callable functions (httpsCallable), passing data to server-side logic...
Install
npx skills add evanca/flutter-ai-rules --skill firebase-cloud-functions -g -a claude-code -y- Repository
- evanca/flutter-ai-rules668
- Category
- Testing
- Updated
- 5d ago
- License
- MIT
- Context cost
- Lightabout 1,063 tokens
- Runs scripts
- No, instructions only
What it does
Use when calling callable functions (httpsCallable), passing data to server-side logic, handling function errors/timeouts, configuring regions, or testing with the Emulator Suite.
Firebase Cloud Functions Skill
This skill defines how to correctly call Firebase Cloud Functions from Flutter applications.
When to Use
Use this skill when:
- Implementing callable Cloud Functions in a Flutter project.
- Passing structured data to server-side functions and processing results.
- Handling errors, timeouts, and retries for function calls.
- Configuring region-specific function deployments.
- Testing Cloud Functions locally with the Firebase Emulator Suite.
1. Setup and Configuration
flutter pub add cloud_functions
import 'package:cloud_functions/cloud_functions.dart';
// After Firebase.initializeApp():
final functions = FirebaseFunctions.instance;
- Initialize Firebase before using any Cloud Functions features.
- For region-specific deployments, specify the region:
final functions = FirebaseFunctions.instanceFor(region: 'europe-west1');
- Deploy callable functions to Firebase before attempting to call them from the Flutter app.
- Consider implementing App Check to prevent abuse of Cloud Functions.
2. Calling Functions
Use httpsCallable to reference a function, then call to invoke it:
final result = await FirebaseFunctions.instance
.httpsCallable('functionName')
.call(data);
- Pass data as a
Map, it is automatically serialized to JSON:
final result = await FirebaseFunctions.instance
.httpsCallable('addMessage')
.call({
"text": messageText,
"push": true,
});
- Access the result via the
dataproperty, it is automatically deserialized from JSON:
final responseData = result.data;
// Cast to expected type if needed:
final message = result.data as Map<String, dynamic>;
final status = message['status'] as String;
- Do not pass authentication tokens in function parameters, they are automatically included by the SDK.
- Keep function names consistent between client code and server-side implementations.


