SkillAgentSearch skills...

flutterfire-configure

Use when adding Firebase to a Flutter project, running flutterfire configure, initializing Firebase in main.dart, or configuring multiple flavors.

Install / Use

npx skills add evanca/flutter-ai-rules --skill flutterfire-configure

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

87/100

Supported Platforms

Universal

Our assessment of flutterfire-configure

flutterfire-configure scores 87/100 on our quality scale, 1748th of 4,634 Development & Engineering skills we index (top 38%).

Its SKILL.md is 4.6 KB long, well organised into 10 sections with 6 code examples: a solid amount of guidance for an agent.

It has 646 GitHub stars, a meaningful sign that others use it.

Substance
26/30
Structure
20/20
Description
15/15
Adoption
12/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 19 days ago, so flutterfire-configure is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

flutterfire-configure compared with similar skills

All 4 of these similar skills score higher than flutterfire-configure; compare them before choosing.

SkillScoreStarsUpdatedFormat
flutterfire-configure (this skill)by evanca8764619d agoSKILL.md
ai-job-searchby MadsLorentzen10044.9ktodayCLAUDE.md
claude-howtoby luongnv8910041.7k3d agoCLAUDE.md
algorithmic-artby anthropics100177.9k11d agoSKILL.md
pptxby anthropics100177.9k11d agoSKILL.md

Frequently asked questions

How do I install flutterfire-configure?
Run npx skills add evanca/flutter-ai-rules --skill flutterfire-configure. The install tabs above show the steps for each supported agent.
Which AI agents does flutterfire-configure work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is flutterfire-configure safe to use?
It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is flutterfire-configure still maintained?
The repository was last updated 19 days ago, so flutterfire-configure is actively maintained.

name: flutterfire-configure description: "Use when adding Firebase to a Flutter project, running flutterfire configure, initializing Firebase in main.dart, or configuring multiple flavors." license: MIT

FlutterFire Configure Skill

This skill defines how to correctly set up and configure Firebase for Flutter applications.

When to Use

Use this skill when:

  • Adding Firebase to a Flutter project for the first time.
  • Running flutterfire configure after adding a new Firebase service or platform.
  • Initializing Firebase in main.dart.
  • Setting up separate Firebase projects for multiple app flavors.

1. Prerequisites

Install the required tools:

npm install -g firebase-tools
firebase login
dart pub global activate flutterfire_cli

Minimum platform requirements:

  • Android: API level 19 (KitKat) or higher
  • Apple: iOS 11 or higher

2. Setup and Configuration

# From your Flutter project directory:
flutterfire configure

# Add the core Firebase package:
flutter pub add firebase_core
  • Re-run flutterfire configure any time you add support for a new platform or start using a new Firebase service.
  • For Android-specific services (Crashlytics, Performance Monitoring), the FlutterFire CLI automatically adds the required Gradle plugins.
  • Rebuild with flutter run after adding new Firebase plugins.

3. Firebase Initialization

import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(const MyApp());
}
  • Call WidgetsFlutterBinding.ensureInitialized() before Firebase initialization.
  • Place Firebase initialization before any other Firebase service calls.
  • Never modify firebase_options.dart manually — it is auto-generated.
  • Commit firebase_options.dart to version control — it contains non-secret configuration identifiers.
  • For Firebase Emulator Suite: await Firebase.initializeApp(demoProjectId: "demo-project-id").

4. Verification and Best Practices

After configuration, verify the setup is working:

  1. Run flutter run and confirm the app launches without Firebase initialization errors.
  2. Check the debug console for Firebase initialized successfully or similar confirmation.
  3. Verify firebase_options.dart was generated with the correct project ID.
  • Enable Firebase Analytics for optimal experience with Crashlytics, Remote Config, and other products.
  • Use a consistent Firebase project across all platforms for data consistency.
  • For iOS/macOS apps using certain Firebase services, add the Keychain Sharing capability in Xcode.
  • Test the Firebase configuration with both debug and release builds.
  • Check version compatibility between Flutter plugins and the underlying Firebase SDK.

5. Multiple App Flavors

Create separate Firebase projects per environment (development, staging, production):

flutterfire config \
  --project=flutter-app-dev \
  --out=lib/firebase_options_dev.dart \
  --ios-bundle-id=com.example.flutterApp.dev \
  --ios-out=ios/flavors/dev/GoogleService-Info.plist \
  --android-package-name=com.example.flutter_app.dev \
  --android-out=android/app/src/dev/google-services.json

Centralize Firebase initialization by flavor:

// firebase.dart
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/services.dart';
import 'package:flutter_app/firebase_options_prod.dart' as prod;
import 'package:flutter_app/firebase_options_stg.dart' as stg;
import 'package:flutter_app/firebase_options_dev.dart' as dev;

Future<void> initializeFirebaseApp() async {
  final firebaseOptions = switch (appFlavor) {
    'prod' => prod.DefaultFirebaseOptions.currentPlatform,
    'stg' => stg.DefaultFirebaseOptions.currentPlatform,
    'dev' => dev.DefaultFirebaseOptions.currentPlatform,
    _ => throw UnsupportedError('Invalid flavor: $appFlavor'),
  };
  await Firebase.initializeApp(options: firebaseOptions);
}
// main.dart
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await initializeFirebaseApp();
  runApp(const MainApp());
}
  • Use appFlavor or environment variables to select the configuration at runtime.
  • Import each flavor's config with namespace aliases (e.g., as dev).
  • Use a helper script to automate multi-flavor configuration.

References

Related Skills

View on GitHub
GitHub Stars646
CategoryDevelopment
Updated19d ago
Forks67

Languages

Shell

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions