Introducing Tapir 0.0.24
Drive your running Flutter app. Read by humans, driven by agents.
Snapshot the Semantics tree, then tap, type, scroll and screenshot by ref. One contract backs the CLI and the MCP tools. Debug builds only.
Snapshot. Act. Verify.
End-to-end testing on Flutter is a stitched-together ritual. Tapir gives the running app one extension family and one CLI for humans and agents alike.
-
Semantics snapshot
A YAML tree of the running app with stable
Learn more about Semantics snapshot[ref=eN]tokens. Every action targets a ref. -
Actionability gate
Each gesture waits until the widget is enabled, on screen, stable and hit-testable.
Learn more about Actionability gate -
Frame attribution
Bracket an interaction and see which widget types built, how often and for how long.
Learn more about Frame attribution -
Built for agents
The same contracts back the CLI and the MCP tools, so a human and an agent drive alike.
Learn more about Built for agents -
Magic aware
Snapshot enrichers let Magic add its own state beside the Semantics tree.
Learn more about Magic aware -
Wind aware
Wind's class cache hit, miss and bypass counters show up next to the frame report.
Learn more about Wind aware
Your agent speaks Tapir.
The Tapir skill teaches your coding assistant to snapshot first, act by ref and verify after, before the first tap. One command wires it up.
run in your project other editors
works with
And drives the app itself.
Skills teach the loop. The stdio MCP server gives your agent the whole CLI surface as tools, plus an evaluate call.
-
Local stdio
Runs in your project, nothing to host.
-
The whole CLI
Every command is also an MCP tool.
-
No account
MIT, free forever.
# stdio, runs on your machine
Local, no account, MIT.