{
  "markdown": "# Flutter extension for Gemini CLI\n\nHelp Gemini CLI create, build, test, and run Flutter apps.\n\n- **Status: Experimental** - This is an experimental project. Features and commands may change drastically. We welcome your feedback!\n\n## ✨ Features\n\n- **🚀 Project Bootstrapping**: Create new Flutter projects from scratch with built-in best practices, including linters, documentation, and design planning.\n- **🔧 Guided Modifications**: Execute complex modification tasks with automated planning, git branch management, and step-by-step implementation guides for your approval.\n- **✅ Automated Pre-Commit Checks**: Automatically format, analyze, and test your code before committing to maintain codebase quality.\n- **✍️ Smart Commit Messaging**: Generate descriptive, conventional commit messages based on your staged changes.\n- **🧠 Context Priming**: Initializes Gemini with specific rules and context for Dart and Flutter, ensuring high-quality, idiomatic code generation.\n\n## 📋 Prerequisites\n\n1.  **Gemini CLI 0.4.0+** installed and configured.\n2.  **Flutter & Dart SDK** installed on your system.\n3.  **Git** installed and available in your PATH.\n\n## 🚀 Installation\n\n### 1. Install from GitHub\n\nUse the `gemini extensions install` terminal command to install directly from the source repository:\n\n```bash\ngemini extensions install https://github.com/gemini-cli-extensions/flutter.git --auto-update\n```\n\nThe `--auto-update` is optional: if specified, it will update to new versions as they are released.\n\nYou can manage the extension with the following commands:\n\n- Update to the latest version.\n\n  ```bash\n  gemini extensions update flutter\n  ```\n\n- Uninstall the extension.\n\n  ```bash\n  gemini extensions uninstall flutter\n  ```\n\n**Note for Windows users:** There is currently a [known issue](https://github.com/google-gemini/gemini-cli/issues/10616) with installing extensions on Gemini CLI for Windows. The workaround is as follows:\n\n1. Follow instructions above to attempt to install the plugin (this will fail).\n\n   ```bash\n       gemini extensions install https://github.com/gemini-cli-extensions/flutter.git\n   ```\n\n2. In the command line, navigate to the folder in the home user's path where the code was downloaded (USER is the user's username)\n\n   ```bash\n       cd %TEMP%\n   ```\n\n3. Locate the folder for the downloaded extension. It will be the latest titled `gemini-extension<hash>` where `<hash>` is a 6 character string. Change into this directory.\n\n   ```bash\n       cd gemini-extension123456\n   ```\n\n4. There should be a zip file in this folder called \"win32.flutter.zip\". Unpack this file using `tar` (available in modern Windows versions) or by right-clicking it in File Explorer and selecting \"Extract All...\".\n\n   ```bash\n       tar xvf win32.flutter.zip\n   ```\n\n5. Use the path flag to gemini installation\n\n   ```bash\n       gemini extensions install --path %TEMP%\\gemini-extension123456\n   ```\n\n### 2. Available Commands\n\nThe new commands will be available in new Gemini CLI sessions. The following commands will be available (with or without the `flutter:` prefix):\n\n- `/create-app` - Guides you through bootstrapping a new Flutter project with best practices.\n- `/create-package` - Guides you through bootstrapping a new Dart package with best practices.\n- `/modify` - Manages a structured modification session with automated planning.\n- `/commit` - Automates pre-commit checks and generates a descriptive commit message.\n\n## 💡 Usage\n\nThis extension provides powerful commands to automate key phases of the development lifecycle.\n\n### `/create-app`\n\nInitiates a guided process to bootstrap a new Flutter application, ensuring your project starts with a solid foundation.\n\n**Process:**\n\n1.  Asks for the package's purpose, details, and desired location on your filesystem.\n2.  Creates a new Flutter project with recommended settings and linter rules.\n3.  Generates starter `pubspec.yaml`, `README.md`, and `CHANGELOG.md` files.\n4.  Produces a `DESIGN.md` and `IMPLEMENTATION.md` for your review and approval before any code is written.\n\n```bash\n/create-app I want to create a trip planning app\n```\n\n### `/modify`\n\nStarts a structured session to modify existing code. It helps you plan and execute changes safely and efficiently.\n\n**Process:**\n\n1.  Asks for your high-level modification goals and what you want to accomplish.\n2.  Offers to create a new `git` branch for the modification work, isolating changes.\n3.  Generates a `MODIFICATION_DESIGN.md` design document detailing the proposed changes.\n4.  Creates a phased `MODIFICATION_IMPLEMENTATION.md` plan for your review and approval.\n\n```bash\n/modify\n```\n\n### `/commit`\n\nPrepares your staged `git` changes for a clean, high-quality commit. It acts as an automated pre-commit hook and message generator.\n\n**Process:**\n\n1.  Runs `dart fix` and `dart format` to clean and format your code.\n2.  Executes the Dart analyzer to check for static analysis issues.\n3.  Runs your project's test suite to ensure all tests are passing.\n4.  Generates a descriptive commit message based on the staged changes for you to review, edit, and approve.\n\n```bash\n/commit\n```\n\n## ⚙️ Coding Guidelines\n\nThis extension enforces a specific set of coding standards to ensure consistency and quality. These rules are defined in the extension's repository:\n\n- **`flutter.md`**: Contains rules and best practices for writing Dart and Flutter code. These rules are opinionated, and we encourage you to review them to ensure they align with your style.\n\n## Connecting to a running app\n\nYou can connect to an app by providing the Flutter extension with the URL for\nthe Dart Tooling Daemon:\n\n1. **Run the app**: in VSCode on a target device (iOS, Android, macOS, or web)\n2. **Execute the Copy DTD Uri action**: Open the VSCode Command Runner\n   (Cmd+Shift+P, or Ctrl+Shift+P) and type \"Copy DTD Uri to Clipboard\" to copy the\n   DTD URL to your clipboard\n3. **Paste the URL into Gemini CLI**: Enter a prompt like \"Connect to the\n   Flutter app with this DTD URL: \" and paste the URL from your clipboard. You\n   should see a \"Connection succeeded\" message from the\n   connect_dart_tooling_daemon MCP tool.\n\nAlternatively, you can run from the command line with the `--print-dtd` flag:\n\n```bash\n$ flutter run --print-dtd\n...\nThe Dart Tooling Daemon is available at: ws://127.0.0.1:52636/M3G9d1Q3hFk=\n```\n\nTo learn more about the Dart and Flutter MCP server, see the\n[Dart and Flutter MCP server](https://dart.dev/tools/mcp-server)\npage on dart.dev or the\n[dart_mcp_server README](https://github.com/dart-lang/ai/tree/main/pkgs/dart_mcp_server).\n\n## Known issues\n\n- Running a Flutter app from within Gemini CLI and then triggering a Hot Reload\n  does not work in Flutter stable <= 3.37.0.\n  Tracking issue: [gemini-cli-extensions/flutter#15](https://github.com/gemini-cli-extensions/flutter/issues/15)\n\n## 🐛 Troubleshooting\n\n### Common Issues\n\n1.  **\"Command not recognized\"**: Ensure the extension is installed correctly and you have restarted the Gemini CLI. Verify the installation with `gemini extensions list`.\n\n2.  **\"Gemini CLI version error\"**: This extension requires Gemini CLI version 0.4.0 or greater. Check your version with `gemini --version` and update if necessary.\n\n3.  **\"[WARN] Skipping extension MCP config for server with key \"dart\" as it already exists.\"**:\n    This warning appears if you have manually configured the Dart MCP server in your `.gemini/settings.json` file.\n    Since this extension manages the Dart MCP server, you can safely remove your manual configuration to resolve the warning.\n\n### Filing Issues\n\nIf you have feedback, suggestions, or run into issues, please [file an issue on GitHub](https://github.com/gemini-cli-extensions/flutter/issues/new/choose).\n\n## 🤝 Contributing\n\nContributions are welcome! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) guide for more details on how to get started.\n",
  "bytes": 7890,
  "sha": "e8adbaa224ccf6be48b1a1bf4cf5564857f9dd4264761047ff72a2139004f832",
  "repo_slug": "gemini-cli-extensions/flutter",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_gemini_cli_extensions_flutter_c544d274/readme"
}