flutter_dev_toolkit 1.1.0 copy "flutter_dev_toolkit: ^1.1.0" to clipboard
flutter_dev_toolkit: ^1.1.0 copied to clipboard

A powerful, modular in-app developer console for Flutter apps. Includes logs, network inspector, route tracker, performance tools, and plugin system.

Flutter Dev Toolkit #

πŸš€ A modular in-app developer console for Flutter apps.

Track logs, API calls, navigation, performance, app state, and add your own plugins β€” all in real time, inside your app.


✨ Features #

  • βœ… In-app Dev Console
  • βœ… Colored logs with filtering
  • βœ… Network call inspector (http, dio, retrofit)
  • βœ… Route stack and screen duration tracker
  • βœ… Export logs
  • βœ… Plugin system for custom tools
  • βœ… App State Inspector (Bloc support)

πŸ›  Installation #

Add to your pubspec.yaml:

dependencies:
  flutter_dev_toolkit: ^latest_version

Then:

flutter pub get

πŸš€ Getting Started #

Initialize the toolkit in main.dart: #

void main() {
  FlutterDevToolkit.init(
    config: DevToolkitConfig(
      disableBuiltInPlugins: [],
      logger: DefaultLogger(),
      enableRouteInterceptor: true,
      enableNetworkInterceptor: true,
      enableLifecycleInterceptor: true,
    ),
  );

  runApp(MyApp());
}

Add the Dev Console to your widget tree: #

MaterialApp(
  builder: (context, child) {
    return Stack(
      children: [
        child!,
        const DevOverlay(),
      ],
    );
  },
  home: const SplashScreen(),
  navigatorObservers: [RouteInterceptor.instance],
);

🧩 Plugins #

You can add custom developer tools as plugins:

class CounterPlugin extends DevToolkitPlugin {
  @override 
  String get name => 'Counter';
  @override 
  IconData get icon => Icons.exposure_plus_1;

  @override 
  void onInit() {
    debugPrint('CounterPlugin loaded!');
  }

  @override 
  Widget buildTab(BuildContext context) => Center(child: Text('Counter Tab'));
}

Register it before runApp:

FlutterDevToolkit.registerPlugin(CounterPlugin());

πŸ” App State Inspector (Built-in) #

Inspect app-wide state transitions from supported frameworks.

βœ… Current Support:

  • Bloc via DevBlocObserver

Usage:

// Add this line before initialising blocs
Bloc.observer = DevBlocObserver();

// Add this line after FlutterDevToolkit.init();
FlutterDevToolkit.registerPlugin(
  AppStateInspectorPlugin([
    BlocAdapter(), // built-in
  ]),
);

This shows:

  • State source (Bloc type)
  • Timestamp
  • Copy to clipboard support

πŸ“€ Exporting #

You can export logs and routes via the Actions Tab.


πŸ“ Custom Logs #

Log custom messages using:

FlutterDevToolkit.logger.log('Hello!');
FlutterDevToolkit.logger.log('Something went wrong', level: LogLevel.error);

πŸ–ΌοΈ Screenshots #

Log Console

[screenshots/logs.png]

Actions Tab

[screenshots/actions.png]

Bloc Inspector – Detail View

[screenshots/bloc_inspector_details.png]

Bloc Inspector – Overview

[screenshots/bloc_inspector.png]

Device Info

[screenshots/device_info.png]

Network Error Detail

[screenshots/network_details_error.png]

Network Request

[screenshots/network_details_request.png]

Network Response

[screenshots/network_details_response.png]

Network Interceptor

[screenshots/network_interceptor.png]

Route Tracker

[screenshots/route.png]

πŸ“„ License #

MIT

4
likes
0
points
54
downloads

Publisher

unverified uploader

Weekly Downloads

A powerful, modular in-app developer console for Flutter apps. Includes logs, network inspector, route tracker, performance tools, and plugin system.

Repository (GitHub)
View/report issues

Topics

#debug #logging #network #developer-tools #flutter

Documentation

Documentation

License

unknown (license)

Dependencies

bloc, dio, flutter, flutter_bloc, http, share_plus

More

Packages that depend on flutter_dev_toolkit