I build Flutter and Laravel developer tools that an AI coding agent can drive: a utility-first styling framework, an end-to-end driver, a runtime inspector, and a read-only MCP server for Laravel.
12+ years shipping production software, and since 2023 building production systems on top of LLMs and agents. I lead engineering and AI at Yorkshire Trading Company, where I run e-commerce for its own brands, Yorkshire Trading and Rydale. I also maintain the @fluttersdk ecosystem, from Izmir.
// Flutter native
Container(
padding: EdgeInsets.all(24),
margin: EdgeInsets.symmetric(horizontal: 16),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12),
boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.1), blurRadius: 10, offset: Offset(0, 4))],
),
child: Text('Hello', style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
)
// Wind
WDiv(
className: 'p-6 mx-4 bg-white dark:bg-gray-800 rounded-xl shadow-lg',
child: WText('Hello', className: 'text-xl font-bold'),
)The Flutter team looked at the same problem. In the Decorators experiment they wrote that "the source code can be a bit verbose due to heavy nesting", ran 3 rounds of user studies with 8 participants, and closed it with "we've decided not to move forward with the decorators experiment". Their experiment chained modifiers onto a widget. Wind takes the other route: utility strings parsed into a widget tree, so the styling stays declarative and the tree stays flat.
flutter pub add fluttersdk_windW-prefix widgets, a parser per utility family, and a themeable token set. Documentation · pub.dev
Your agent gets the same docs I do. One command installs the skills, and mcp.fluttersdk.com answers search-docs over streamable HTTP, public and no auth, so the agent looks the grammar up instead of guessing it.
/plugin marketplace add fluttersdk/ai
/plugin install fluttersdk@fluttersdk-marketplace
| Package | What it is | Downloads | Quality |
|---|---|---|---|
| Dusk | End-to-end driver. Taps, snaps and screenshots a live app over VM Service, the way Playwright drives a browser. Exposed to the agent over MCP. | ||
| Telescope | Passive runtime inspector. Captures HTTP, logs, exceptions and DB queries and surfaces them over MCP. Debug-only, zero release overhead. |
An agent writing Flutter code cannot see the app it just built. It guesses at the widget tree, never taps a button, and never reads the exception it caused. Dusk gives it hands, Telescope gives it eyes.
Both are built on Artisan, a composable Dart CLI framework and stdio MCP server. Magic, a Laravel-style app framework for Flutter, is in alpha.
laravel-agent-mcp gives Claude Code and Cursor read-only access to your running app: schema, logs, queue, cache, routes, config. Twenty-four tools read. One executes, and it ships denied: an empty allowlist, exact command matching with no wildcards, and option-level default-deny, because route:list and migrate --force are not the same risk.
An agent writing a migration has never seen your schema. It invents column names, assumes relationships your tables dropped, and reasons about a queue it cannot observe. The result is plausible, confident and wrong.
composer require anilcancakir/laravel-agent-mcplaravel-ai-sdk-skills is a skill system for Laravel AI SDK agents. Define capabilities as SKILL.md files and load them by progressive disclosure instead of bloating the context window.
ac puts a file between your request and the first edit. It interviews you for intent, writes the plan to disk, has an adversarial reviewer read it cold, then executes wave by wave with a model tier per step and four verification layers before anything is called done.
/plugin marketplace add anilcancakir/claude-code
/plugin install ac@ac
- Introducing Wind: Utility-First Styling for Flutter, Inspired by Tailwind CSS
- Level Up Your Laravel AI Agents with Modular Skills
- Forms in Flutter
- Flutter Internationalization by Using JSON Files
I take on consulting work in Flutter architecture. Reach me at anilcan.cakir@gmail.com or on LinkedIn.
Away from the screen
I design my own PCBs and solder them, run the house on Home Assistant and ESPHome, and print the part in Fusion 360 rather than buy it.




