πŸ‘€ Peekaboo

Peekaboo is a developer utility toolkit for Flutter apps β€” designed to reveal useful tools while staying invisible in production.

Easily inject debugging panels, secret gesture triggers, overlay loaders, platform overrides, and more into any Flutter app.


πŸš€ Features

  • πŸ”„ Global Overlay Loader (AppOverlayLoader)
  • πŸ› Developer Logger (PeekabooLogger)
  • πŸ“± Device Info + Emulator Detection
  • πŸ› οΈ Secret Dev Panel with:
    • Boot logs
    • Platform overrides
    • Feature toggles
    • Manual simulation tools
  • 🎯 Platform override & feature flag registry
  • πŸ•΅οΈ Hidden gesture triggers (invisible corners)
  • 🎨 Modular architecture β€” easy to plug & extend

πŸ”§ Installation

Add to your pubspec.yaml:

dependencies:
  peekaboo:
    git:
      url: https://github.com/YOUR_USERNAME/peekaboo.git

Or publish on pub.flutter-io.cn and use: peekaboo: ^0.0.1


πŸ› οΈ Usage

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await BootupService().initialize();
  runApp(MyApp());
}
AppOverlayLoader.show(context);
PeekabooLogger().d("This is a debug log");

Want a full dev panel?

DevGesture(
  onTriggered: () => Navigator.push(
    context,
    MaterialPageRoute(builder: (_) => const DevPanel()),
  ),
  child: YourAppUI(),
);

🧱 Modules Overview

Module Description
AppOverlayLoader Global loading overlay
PeekabooLogger Log with PrettyPrinter
DeviceHelper Device info and emulator detection
BootupService Collect and show boot logs
DevPanel Modular dev dashboard
DevGesture Secret corner tap to trigger dev tools
OverrideRegistry Feature flags and config injection
PlatformHelper Platform override utility

❌ No Production Overhead

All debug tools are:

  • Disabled in kReleaseMode
  • Triggered only by developers via gestures or flags

πŸ“ Folder Structure

lib/
β”œβ”€β”€ overlay_loading/
β”œβ”€β”€ logger/
β”œβ”€β”€ device_info/
β”œβ”€β”€ bootup/
β”œβ”€β”€ dev_panel/
β”œβ”€β”€ trigger/
β”œβ”€β”€ override/
β”œβ”€β”€ peekaboo.dart

πŸ§ͺ Try It Out

For internal development, use the simulator/ app (not published). It allows:

  • Visual testing of all modules
  • Interactive debug panel
  • Hot reload + update tests