{"id":47943657,"url":"https://github.com/fluttersdk/ai","last_synced_at":"2026-07-26T01:00:19.068Z","repository":{"id":346638019,"uuid":"1171139558","full_name":"fluttersdk/ai","owner":"fluttersdk","description":"Teach your AI assistant Wind UI, Magic Framework, and more — across every major coding tool.","archived":false,"fork":false,"pushed_at":"2026-07-01T00:08:11.000Z","size":707,"stargazers_count":2,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-07-01T01:22:25.197Z","etag":null,"topics":["flutter","magic-framework","skills","wind-ui"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fluttersdk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-02T23:06:03.000Z","updated_at":"2026-07-01T00:08:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fluttersdk/ai","commit_stats":null,"previous_names":["fluttersdk/ai"],"tags_count":67,"template":false,"template_full_name":null,"purl":"pkg:github/fluttersdk/ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttersdk%2Fai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttersdk%2Fai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttersdk%2Fai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttersdk%2Fai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fluttersdk","download_url":"https://codeload.github.com/fluttersdk/ai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttersdk%2Fai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35897093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-25T02:00:06.922Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flutter","magic-framework","skills","wind-ui"],"created_at":"2026-04-04T08:17:18.652Z","updated_at":"2026-07-26T01:00:19.019Z","avatar_url":"https://github.com/fluttersdk.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/fluttersdk/ai/main/.github/ai-logo.png\" width=\"120\" alt=\"FlutterSDK AI Logo\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eFlutterSDK AI\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eAI coding skills for the FlutterSDK ecosystem.\u003c/strong\u003e\u003cbr/\u003e\n  Teach your AI assistant Wind UI, Magic Framework, and more — across every major coding tool.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/fluttersdk/ai/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/fluttersdk/ai/deploy-registry.yml?branch=main\u0026label=Registry\" alt=\"Registry\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/fluttersdk/ai/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/fluttersdk/ai?style=flat\" alt=\"GitHub stars\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://fluttersdk.github.io/ai/\"\u003eRegistry\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/fluttersdk/ai/issues\"\u003eIssues\u003c/a\u003e ·\n  \u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Why?\n\nAI coding assistants are powerful — but they don't know your frameworks. They hallucinate widget names, guess at API patterns, and miss conventions.\n\n**FlutterSDK AI fixes this.** It gives your AI structured knowledge about Wind UI's className system, Magic Framework's Laravel-inspired architecture, and more — so it generates correct code on the first try.\n\nOne install, every tool:\n\n| Tool | Integration |\n|:-----|:------------|\n| [OpenCode](https://github.com/opencodetool/opencode) | URL-based skill registry |\n| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | Plugin + Marketplace |\n| [Cursor](https://cursor.sh) | Rules (`.mdc`) |\n| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | Command templates (`.toml`) |\n| [VS Code Copilot](https://code.visualstudio.com/) | Instructions (`.md`) |\n| [Codex CLI](https://github.com/openai/openai-codex) | MCP config (`~/.codex/config.toml`) |\n| [Antigravity CLI](https://github.com/antigravity-cli/antigravity) | MCP config (`~/.gemini/config/mcp_config.json`) |\n| [Cline](https://github.com/cline/cline) | MCP config (`.mcp.json`) |\n| [Roo Code](https://github.com/RooVetGit/Roo-Code) | MCP config (`.mcp.json`) |\n\n## Skills\n\nFive skills are available. See [docs/SKILLS.md](docs/SKILLS.md) for full descriptions.\n\n| Skill | Version | What it covers |\n|:------|:--------|:---------------|\n| `wind-ui` | 1.0.0-alpha.6 | W-prefix widgets, `className` utility system, dark mode, responsive breakpoints |\n| `magic-framework` | 1.0.0-alpha.13 | IoC container, 17 facades, Eloquent ORM, GoRouter, forms, testing |\n| `fluttersdk-dusk` | 0.0.2 | E2E driver: 31 MCP tools to snap, tap, type, screenshot a running Flutter app |\n| `fluttersdk-telescope` | 0.0.1 | Runtime inspector: 9 ring buffers for HTTP, logs, exceptions, DB queries |\n| `fluttersdk-artisan` | 0.0.1 | CLI framework + stdio MCP server, 21 commands, plugin scaffold, `artisan_tinker` |\n\n## MCP Server\n\n`mcp.fluttersdk.com` exposes a single `search-docs` tool via Streamable HTTP.\nPublic, no auth required. Full client config snippets (Claude Code, Cursor,\nOpenCode, Codex CLI, Gemini CLI, VS Code Copilot, and more) are in\n[docs/MCP.md](docs/MCP.md).\n\nFor clients that only support stdio (Claude Desktop, older Codex CLI):\n\n```bash\nnpx @fluttersdk/mcp\n```\n\nThe npx bridge proxies stdio to the upstream HTTP server transparently.\n\n## Quick Start\n\n### Option 1: `npx skills` (Recommended)\n\nThe fastest way — works with [40+ AI coding agents](https://github.com/vercel-labs/skills).\n\n```bash\n# Install all FlutterSDK skills to all detected agents\nnpx skills add fluttersdk/ai\n\n# Install a specific skill\nnpx skills add fluttersdk/ai --skill wind-ui\n\n# Install globally (available across all projects)\nnpx skills add fluttersdk/ai -g\n```\n\n### Option 2: Universal Installer\n\n```bash\ngit clone https://github.com/fluttersdk/ai.git \u0026\u0026 cd ai\n\n# Preview what would be installed\nbash scripts/install.sh --dry-run --global\n\n# Install globally for all detected tools\nbash scripts/install.sh --global\n\n# Install globally and register the MCP server for all detected tools\nbash scripts/install.sh --global --with-mcp\n\n# Or install into your current Flutter project\nbash scripts/install.sh --project\n```\n\n### Option 3: Tool-Specific\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eOpenCode\u003c/strong\u003e\u003c/summary\u003e\n\nAdd the registry URL to your `opencode.json`:\n\n```json\n{\n    \"skills\": {\n        \"urls\": [\"https://fluttersdk.github.io/ai/\"]\n    }\n}\n```\n\nSkills are fetched automatically and cached locally.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Code\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\n/plugin marketplace add https://raw.githubusercontent.com/fluttersdk/ai/main/.claude-plugin/marketplace.json\n/plugin install fluttersdk@fluttersdk-marketplace\n```\n\nThe plugin auto-registers:\n- 5 skills (`/fluttersdk:wind-ui`, `/fluttersdk:magic-framework`, `/fluttersdk:fluttersdk-dusk`, `/fluttersdk:fluttersdk-telescope`, `/fluttersdk:fluttersdk-artisan`)\n- `/fluttersdk:flutter-review` and `/fluttersdk:flutter-test` slash commands\n- `fluttersdk` MCP server (HTTP transport to `mcp.fluttersdk.com`; no manual `.mcp.json` edit required)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCursor\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nmkdir -p .cursor/rules\ncp tool-templates/cursor/fluttersdk.mdc .cursor/rules/\n```\n\nActivates automatically for all `.dart` files.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eGemini CLI\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nmkdir -p ~/.gemini/commands\ncp tool-templates/gemini/*.toml ~/.gemini/commands/\n```\n\nUse with `/flutter-review` and `/flutter-test` commands.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eVS Code Copilot\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nmkdir -p .github\ncp .github/copilot-instructions.md .github/\n```\n\n\u003c/details\u003e\n\n## How It Works\n\n```\nskills/index.json              ← OpenCode fetches this from GitHub Pages\n  → wind-ui/SKILL.md           ← Skill definition + className rules\n  → wind-ui/references/*.md    ← On-demand widget docs, layout patterns, tokens\n  → magic-framework/SKILL.md   ← Skill definition + framework laws\n  → magic-framework/refs/*.md  ← Controllers, ORM, facades, routing, auth, ...\n```\n\n**OpenCode**: Fetches `fluttersdk.github.io/ai/index.json`, downloads listed skill files, caches locally.\n\n**Claude Code**: Plugin manifest (`.claude-plugin/plugin.json`) makes the repo installable. Skills in `skills/` are auto-discovered and namespaced under `/fluttersdk:`.\n\n**Deployment**: Push to `main` → GitHub Actions deploys `skills/` to GitHub Pages automatically.\n\n## Contributing\n\n### Adding a New Skill\n\n1. Create `skills/\u003cskill-name\u003e/SKILL.md` with YAML frontmatter (`name`, `description`)\n2. Add reference files in `skills/\u003cskill-name\u003e/references/`\n3. Update `skills/index.json` — list **every** file in the `files` array\n4. Bump version in `.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json`\n5. Push to `main`\n\nSee [CLAUDE.md](CLAUDE.md) for the full specification.\n\n\u003e **Important**: Every file must be listed in `index.json` — OpenCode only downloads listed files. Forgetting a file means users get incomplete skills.\n\n## License\n\nMIT — see [LICENSE](LICENSE) for details.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eBuilt with care by \u003ca href=\"https://github.com/fluttersdk\"\u003eFlutterSDK\u003c/a\u003e\u003c/sub\u003e\u003cbr/\u003e\n  \u003csub\u003eIf this saves you time, \u003ca href=\"https://github.com/fluttersdk/ai\"\u003egive it a star\u003c/a\u003e — it helps others discover it.\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluttersdk%2Fai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffluttersdk%2Fai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluttersdk%2Fai/lists"}