buoy 0.3.4
buoy: ^0.3.4 copied to clipboard
Buoy tools for Flutter debug builds. Configure an account key and app integrations for in-app inspection and optional Desktop connections.
buoy #
Buoy adds developer tools to Flutter debug builds. Inspect supported requests, logs, storage, state, and performance in your app. The umbrella package registers its bundled tools; some need additional app integration.
Requirements #
Use a Flutter debug build and a Free or Pro Buoy account key. These packages require Dart 3.9 or later, below 4.0, and Flutter 3.27 or later; your Flutter installation must satisfy both constraints. The Buoy widget does not start its tools in profile or release builds, including with Pro.
Install and run #
flutter pub add buoy
Get a key from your Buoy account. This small app checks Console capture. In an existing app, keep your screens, navigator, and providers, and add the builder around their existing child.
import 'package:buoy/buoy.dart';
import 'package:flutter/material.dart';
void main() {
BuoyConsole.runZoned(() => runApp(const DemoApp()));
}
class DemoApp extends StatelessWidget {
const DemoApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
builder: (context, child) => BuoyDevTools(
deviceName: 'Flutter demo',
licenseKey: const String.fromEnvironment('BUOY_KEY'),
child: child ?? const SizedBox.shrink(),
),
home: Scaffold(
body: Center(
child: TextButton(
onPressed: () => print('Buoy setup check'),
child: const Text('Write a test log'),
),
),
),
);
}
}
flutter run --dart-define=BUOY_KEY=YOUR_LICENSE_KEY
Complete any account prompt, tap Write a test log, then open Buoy's Console and find Buoy setup check. If the menu shows account setup, check the supplied key. If Console is empty, confirm that the button ran inside BuoyConsole.runZoned after account access was established.
The umbrella widget registers its bundled tools. Installing an individual package requires its explicit registration call. Registration alone does not supply your app's router, provider observers, environment values, or authentication callbacks.
Tools #
| Tool | Package | App integration |
|---|---|---|
| Network | buoy_network | Supported HttpClient capture paths. |
| Storage | buoy_storage | BuoyPrefs for immediate write events; adapters for secure storage and MMKV. |
| Console | buoy_console | BuoyConsole.runZoned for print capture. |
| Env | buoy_env | Explicit configuration values and validation rules. |
| Routes | buoy_routes | Navigator observer and the existing go_router instance. |
| Images | buoy_images | BuoyImage around inspected images. |
| Impersonate | buoy_impersonate | User search, HTTP headers, backend authorization, and reset callbacks. |
| Image Overlay | buoy_image_overlay | Optional BuoyImageTarget tags; no desktop adapter. |
| Events | buoy_events | Registered, enabled source tools. |
| Riverpod | buoy_riverpod | ProviderObserver on the app’s ProviderScope. |
| Perf Monitor | buoy_perf_monitor | Open panel, HUD, or desktop watcher; platform-specific metrics. |
| Ask Buoy | buoy_ask_buoy | Pass askBuoy to BuoyDevTools. Hosted AI also needs signIn and Pro. |
Core and shared UI packages provide the registry, shell, sync client, widgets, and event stores. Flutter capabilities differ from the React Native suite; use each Flutter guide for supported behavior.
Desktop and MCP #
Open Buoy Desktop, sign in, and select the connected device. The default broker port is 42831. The iOS Simulator uses localhost; the Android emulator maps localhost to its host address. For a physical device, set socketUrl: 'http://YOUR_COMPUTER_LAN_IP:42831' on BuoyDevTools and use a network that can reach your computer.
MCP needs separate process account configuration and Pro access. Remote capabilities depend on each tool's adapter. Account validation makes network requests, and device sessions can cross your LAN. See Telemetry for data-flow details.
Accounts and plans #
Use a Free or Pro account key. See pricing for capture limits and paid features. Pro does not enable Flutter tools in profile or release builds. Your app controls which testers can inspect its data.
License #
Proprietary software. © Buoy LLC. See the Terms of Service and pricing.