Skip to main content

widget_review 0.1.0 copy "widget_review: ^0.1.0" to clipboard
widget_review: ^0.1.0 copied to clipboard

Visual code review for Flutter. Tap any widget in your running app, leave a comment, and your AI agent reads it live over MCP.

widget_review #

Visual code review for Flutter. Tap any widget in your running app, leave a comment, and your AI agent (Claude Code, Cursor, …) reads it live over MCP, with the widget's type, source file and line, visible text, and accessibility info. The agent fixes the code, replies, and resolves the review, and you see it happen in the app.

This is the in-app half. The agent connects through widget_review_mcp.

Setup #

flutter pub add widget_review
import 'package:widget_review/widget_review.dart';

void main() => runApp(const WidgetReview(child: MyApp()));

Run your app so the agent can find it:

flutter run --vmservice-out-file=.dart_tool/widget_review/vm_service_uri

Using the ▶ button in VS Code or Android Studio? Add the flag to your run configuration once, then keep using the button:

  • VS Code: in .vscode/launch.json, add toolArgs to your Flutter configuration (no file yet? Run → Add Configuration… creates one):

    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "Flutter",
          "request": "launch",
          "type": "dart",
          "toolArgs": ["--vmservice-out-file=.dart_tool/widget_review/vm_service_uri"]
        }
      ]
    }
    
  • Android Studio / IntelliJ: Run → Edit Configurations…, pick your Flutter configuration, and paste this into Additional run args:

    --vmservice-out-file=.dart_tool/widget_review/vm_service_uri
    

Then connect your agent:

dart pub global activate widget_review_mcp
claude mcp add widget-review -- widget_review_mcp

WidgetReview is active in debug builds only (enabled: kDebugMode by default). In release builds it returns your app unchanged.

Attaching images #

Reviews can carry screenshots, mockups or photos. Pasting an image needs no setup. The image button uses image_picker, which needs:

  • iOS: add this to ios/Runner/Info.plist. Widget Review never triggers the photo permission prompt, but image_picker is part of your release build too, and the App Store requires this entry for apps that include it.

    <key>NSPhotoLibraryUsageDescription</key>
    <string>Attach screenshots to widget reviews.</string>
    
  • macOS: add this to macos/Runner/DebugProfile.entitlements, or the macOS sandbox blocks the file picker.

    <key>com.apple.security.files.user-selected.read-only</key>
    <true/>
    

Using it #

  • Select: tap the select button in the toolbar, then tap a widget. In selection mode, drags still scroll your app.
  • Comment: say what should change. You can widen the selection to a parent from the path at the top, and pick a category and priority.
  • Images: attach screenshots, mockups or photos with the image button, or paste one into the comment box (⌘V / Ctrl+V, "Paste image" in the text menu, or from the keyboard on Android). The agent sees them with the review.
  • Pins: numbered badges follow the reviewed widgets.
  • Reviews: the list shows every review with the agent's replies. Tap one to jump to its widget.

Then ask your agent: "Check my widget reviews and fix them."

Reviews persist across hot restart, line numbers refresh on hot reload, and reviews re-find their widgets after refactors.

See the repository for the full guide, MCP tools, and architecture.

1
likes
160
points
375
downloads
screenshot

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Visual code review for Flutter. Tap any widget in your running app, leave a comment, and your AI agent reads it live over MCP.

Repository (GitHub)
View/report issues
Contributing

Topics

#devtools #mcp #ai #code-review #debugging

License

MIT (license)

Dependencies

flutter, image_picker, lucide_icons_flutter, pasteboard, path_provider

More

Packages that depend on widget_review