AA

aditzeb/assetgenie

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

47 stars 0 forks 品質 72 トレンド 17MIT

純粋なダーツで書かれた完全なローカルモデルコンテキストプロトコル(MCP)サーバーは、Flutterプロジェクトアセットとローカリゼーション構造を自動化、監査、最適化します.

概要

純粋なダーツで書かれた完全なローカルモデルコンテキストプロトコル(MCP)サーバーは、Flutterプロジェクトアセットとローカリゼーション構造を自動化、監査、最適化します。 CursorやClaude DesktopなどのAIクライアントに接続して、AIがプロジェクトのアセットや翻訳構造と直接やり取りできるようにします。 AssetGenie は、LM のコンテキストに 5 つの強力なツールを公開します。 プロジェクトの pubspec.yaml と物理的なフォルダーをスキャンして、アセット異常を特定します。 - pubspec.yaml で宣言された物理的なファイルを欠落させるフラグ。 - pubspec.yaml で宣言されていない物理的資産(未決定資産)をフラグします。 - 構成可能なファイルサイズのしきい値(デフォルト:500 KB)を超える重アセットを特定します。 - lib/ソースコードの参照を検索することで、未使用の物理ファイルを自動的にチェックします。 翻訳キーをローカル・アプリケーション・リソース・バンドル(.arb)ファイルに安全に更新または注入します。 - 手動のコピー/ペーストなしで新しい翻訳を追加します.

概要(AI 翻訳)

純粋なダーツで書かれた完全なローカルモデルコンテキストプロトコル(MCP)サーバーは、Flutterプロジェクトアセットとローカリゼーション構造を自動化、監査、最適化します。 CursorやClaude DesktopなどのAIクライアントに接続して、AIがプロジェクトのアセットや翻訳構造と直接やり取りできるようにします。

お問い合わせ

OST の特徴

AssetGenie は、LM のコンテキストに 5 つの強力なツールを公開します。

##1. assetgenie_audit_health プロジェクトの pubspec.yaml と物理的なフォルダーをスキャンして、アセット異常を特定します。

  • [pubspec.yamlで宣言された物理的なファイルが欠落しているフラグ。
  • pubspec.yamlで宣言されていない物理的資産(未決定資産)をフラグします。
  • 構成可能なファイルサイズのしきい値(デフォルト:500 KB)を超える重アセットを特定します。
  • [lib/ソースコードの参照を検索することで、未使用の物理ファイルを自動的にチェックします。

##2. assetgenie_sync_localization 翻訳キーをローカルアプリケーションリソースバンドル([.arb])ファイルに安全に更新または注入します。

  • マニュアルのコピー/貼り付けなしで新しい翻訳を追加します。
  • それぞれのプロパティの横にある、フォーマットとグループメタデータキー(@key)を標準化します。
  • 標準的なARBの指針に従ってキーをアルファベット化して下さい。

##3.

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

AssetGenie 🧞‍♂️

A complete, local Model Context Protocol (MCP) server written in pure Dart to automate, audit, and optimize Flutter project assets and localization structure. Connect it to AI clients like Cursor or Claude Desktop to let the AI interact directly with your project’s assets and translation structures.


🚀 Features

AssetGenie exposes five powerful tools to the LLM context:

1. assetgenie_audit_health

Scans the project’s pubspec.yaml and physical folders to identify asset anomalies:

  • Flags missing physical files declared in pubspec.yaml.
  • Flags physical assets that are not declared in pubspec.yaml (undeclared assets).
  • Identifies heavy assets exceeding a configurable file size threshold (default: 500 KB).
  • Automatically checks for unused physical files by searching for references in lib/ source code.

2. assetgenie_sync_localization

Safely updates or injects translation keys into local Application Resource Bundle (.arb) files:

  • Appends new translations without manual copying/pasting.
  • Standardizes formatting and groups metadata keys (@key) next to their respective properties.
  • Alphabetizes keys according to standard ARB guidelines.

3. assetgenie_generate_constants

Auto-generates clean, modern Dart constants from physical asset files:

  • Recursively walks through the physical assets folders.
  • Converts file paths into structured camelCase variable names.
  • Resolves identifier collisions and reserved keywords dynamically.
  • Writes a safe config class Assets inside lib/generated/ to prevent typos and hardcoded string values.

4. assetgenie_audit_localization

Audits the project’s ARB localization files to ensure quality and consistency:

  • Compares target locales against a primary locale to find missing translation keys.
  • Detects extra translation keys defined in target locales but missing in the primary locale.
  • Validates that parameterized placeholders (e.g., {name}) match between translations to prevent runtime formatting crashes.
  • Scans Dart code recursively in lib/ to identify unused translation keys.

5. assetgenie_app_harness

Connects to a running Flutter application via its Dart VM Service to inspect layout, capture state, or stream logs:

  • Retrieves a clean, structured JSON Widget Summary Tree from the active application context.
  • Requests a live PNG screenshot of the application’s current layout, returning it directly in the tool response.
  • Streams and captures stdout/stderr console prints and runtime logging statements over WebSocket.

🛠️ Installation & Setup

Ensure you have Dart SDK installed on your system.

  1. Clone the repository:

    git clone https://github.com/aditzeb/AssetGenie.git
    cd AssetGenie
    
  2. Download package dependencies:

GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "assetgenie": { "command": "dart", "args": [ "run", "C:\\path\\to\\AssetGenie\\bin\\main.dart" ] } } }