firebase-services

Wire Firebase services to Flutter domain interfaces with GetIt bootstrap.

1|Updated Apr 24, 2026
One-click install
npx skills add https://github.com/dimitriRemoiville/cc-mobile --skill firebase-services
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: firebase-services
Source: https://github.com/dimitriRemoiville/cc-mobile/tree/main/plugins/cc-mobile-flutter/skills/firebase-services
Command: npx skills add https://github.com/dimitriRemoiville/cc-mobile --skill firebase-services

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the challenge of integrating Firebase services in Flutter apps with decoupled interfaces that can be swapped or stubbed in tests, ensuring testability and clean architecture.

Core Features & Use Cases

  • Domain-level interfaces live in domain/services; concrete implementations wrap the Firebase SDKs in data/firebase; test support provides fake implementations; bootstrap at the composition root wires interfaces to implementations; supports Crashlytics, Analytics, Remote Config, and App Check; flavor-specific Firebase configurations are provided for dev/prod.
  • Use Case: Wire a new Firebase service or adjust flavor configuration without touching business logic, enabling easy testing with fakes.

Quick Start

Initialize Firebase at startup and wire the domain interfaces to the concrete implementations at the injection site.

Frequently Asked Questions about firebase-services

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I wire Firebase services behind clean interfaces in Flutter?

To wire Firebase services behind clean interfaces in Flutter, define domain-level interfaces and wrap the Firebase SDKs in concrete data implementations. Use a GetIt-based bootstrap at the composition root to inject these dependencies, decoupling business logic from Firebase SDKs.

How do I mock Firebase Analytics and Crashlytics in Flutter tests?

Mock Firebase Analytics and Crashlytics in Flutter tests by replacing concrete data implementations with fake stubs. The layered architecture uses domain interfaces that can be easily swapped during testing, ensuring your business logic remains decoupled from Firebase SDKs.

What is the best way to manage dev and prod Firebase flavor configurations in Flutter?

Manage dev and prod Firebase flavor configurations by providing flavor-specific setup files and wiring them into your GetIt bootstrap. This allows your Flutter app to load the correct Firebase configurations dynamically without altering the domain interfaces or business logic.

Can I use dependency injection with Remote Config and App Check in Flutter?

Yes, you can use dependency injection with Remote Config and App Check in Flutter. Register domain interfaces for these services and map them to their concrete Firebase implementations using GetIt, enabling test-friendly replacements and clean architecture.

Why decouple Firebase SDKs from business logic in Flutter?

Decoupling Firebase SDKs from business logic in Flutter ensures testability and clean architecture. By enforcing domain interfaces and concrete data implementations, you can swap or stub Firebase services during testing without modifying the core application logic.