A Handy Toolkit for Mobile App Debugging 🚀
ISpect is a simple yet versatile library inspired by web inspectors, tailored for mobile application development.
An add-on package to use the Gemini AI Api to generate a `report` and `log` questions.
Show some ❤️ and star the repo to support the project!
Packages
ISpect can be extended using other parts of this package
Package | Version | Description |
---|---|---|
ispect | Main package of ISpect | |
ispect_ai | An add-on package to use the Gemini AI Api to generate a report and log questions |
|
ispect_jira | An add-on package to use the Jira Atlassian Api to create issue tickets immediately via Feedback |
|
ispect_device | An additional package for using tools to view platform & device info. | |
ispectify | An additional package for logging and handling. Based on Talker . |
|
ispectify_bloc | An additional package for logging and handling BLoC . |
|
ispectify_dio | An additional package for logging and handling Dio . |
|
ispectify_http | An additional package for logging and handling http . |
📌 Features
- ✅ Draggable panel for route to ISpect page and manage Inspector tools You can also use it separately: https://pub.dev/packages/draggable_panel
- ✅ Localizations: kk, en, zh, ru, es, fr, de, pt, ar, ko, ja, hi. (I will add more translations in the future.)
- ✅
ISpectify
logger (inspired onTalker
) implementation: BLoC, Dio, http, Routing, Provider - ✅ You can customize more options during initialization of ISpect like BLoC, Dispatcher error and etc.
- ✅ Updated ISpect page: added more options.
- Detailed
HTTP
logs:request
,response
,error
- Debug tools
- Cache manager
- Device and app info (ispect_device)
- Detailed
- ✅ Feedback builder from pub.dev/feedback
- ✅ Performance tracker
- ✅ AI helper
📜 Showcase





Easy to use
Simple example of use ISpect
You can manage ISpect using ISpect.read(context)
.
Put this code in your project at an screen and learn how it works. 😊
Instructions for use:
- Wrap
runApp
withISpect.run
method and passISpectify
instance to it. - Initialize
ISpectGoogleAi
toMaterialApp
and pass the Google Ai token. For example, from an.env
file or an environment variable.
ISpectGoogleAi.init('token');
- In
actionItems
insideISpectOptions
add the corresponding Action buttons. For example:
actionItems: [
ISpectifyActionItem(
title: 'AI Chat',
icon: Icons.bubble_chart,
onTap: (context) {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => const AiChatPage(),
),
);
},
),
ISpectifyActionItem(
title: 'AI Reporter',
icon: Icons.report_rounded,
onTap: (context) {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => const AiReporterPage(),
),
);
},
),
],
- Add
ISpectAILocalization
to yourlocalizationsDelegates
inMaterialApp
.
localizationsDelegates: ISpectLocalizations.localizationDelegates([ // ISpect localization delegates
ExampleGeneratedLocalization.delegate, // Your localization delegate
ISpectAILocalization.delegate, // ISpect AI localization delegate
]),
- Add
ISpectBuilder
widget to your material app's builder and putNavigatorObserver
.
Please, check the example for more details.
Note
- To add
ISpect Jira
, follow the instructions provided here ispect_jira.
You can also check out an example of usage directly in ispect_jira/example.
- To
platform & device
tools follow the instructions provided here ispect_device.
You can also check out an example of usage directly in ispect_device/example.
For handle routing (GoRouter)
You can use ISpectNavigatorObserver
, but in practice it does not always work correctly with the GoRouter
package. You need add observer in each GoRoute.
Alternatively, you can use a listener
:
_router.routerDelegate.addListener(() {
final String location =
_router.routerDelegate.currentConfiguration.last.matchedLocation;
ISpect.route(location);
});