AA

aditzeb/assetgenie

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

48 stars 0 forks Качество 72 Тренд 17MIT

Полный локальный сервер протокола контекста модели (MCP), написанный в чистом Dart для автоматизации, аудита и оптимизации активов проекта Flutter и структуры локализации.

Обзор

Полный локальный сервер протокола контекста модели (MCP), написанный в чистом Dart для автоматизации, аудита и оптимизации активов проекта Flutter и структуры локализации. Подключите его к клиентам ИИ, таким как Cursor или Claude Desktop, чтобы ИИ мог напрямую взаимодействовать с активами и структурами перевода вашего проекта. AssetGenie представляет пять мощных инструментов в контексте LLM: Сканирование pubspec.yaml и физических папок проекта для выявления аномалий активов: - Флаги, в которых отсутствуют физические файлы, объявленные в pubspec.yaml. Флаги физических активов, которые не декларируются в pubspec.yaml (незадекларированные активы). Идентифицирует тяжелые активы, превышающие настраиваемый порог размера файла (по умолчанию: 500 КБ). Автоматическая проверка неиспользуемых физических файлов путем поиска ссылок в исходном коде. Безопасно обновляет или вставляет ключи перевода в локальные файлы Application Resource Bundle (.arb): - Добавляет новые переводы без ручного копирования/вставки.

Обзор (машинный перевод)

Полный локальный сервер протокола контекста модели (MCP), написанный в чистом Dart для автоматизации, аудита и оптимизации активов проекта Flutter и структуры локализации. Подключите его к клиентам ИИ, таким как Cursor или Claude Desktop, чтобы ИИ мог напрямую взаимодействовать с активами и структурами перевода вашего проекта.

Feature Особенности

AssetGenie представляет пять мощных инструментов в контексте LLM:

###1.[T0] Сканирует pubspec.yaml и физические папки проекта для выявления аномалий активов: Флаги, в которых отсутствуют физические файлы, объявленные в pubspec.yaml.

  • Флаги физических активов, которые не декларируются в [[Т3]] (незадекларированные активы). Идентифицирует тяжелые активы, превышающие настраиваемый порог размера файла (по умолчанию: 500 КБ). Автоматическая проверка неиспользуемых физических файлов путем поиска ссылок в исходном коде lib/.

2.[5]

Безопасно обновляет или вставляет ключи перевода в локальные файлы Application Resource Bundle ([T6]):

  • Добавляет новые переводы без ручного копирования/пастинга. Стандартизирует форматирование и группирует метаданные ([T7]) рядом с их соответствующими свойствами. Алфавитизирует ключи в соответствии со стандартными рекомендациями ARB.

###3.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

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:

Открыть полный README на GitHub

Установка

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" ] } } }