open source · published on pub.dev

23 packages, out in the open.

Everything we publish, organized by what it does, linked straight to pub.dev and GitHub. The packages with a story get a full write-up.

Hooks Docs

6 of these have a full write-up: install steps, the key APIs, a usage example, and (for the four skills) the exact reference map our agents read before they touch code. The rest are here in full - name, what it does, and a straight link to pub.dev and the source.

Architecture

The state and app-foundation layer. utopia_hooks and utopia_cms carry the full write-up; the rest are satellites and companions you would reach for alongside them.

utopia_hooks

Flexible state management for Flutter, inspired by React Hooks - local, global, async, and form state in one model.

utopia_cms

An admin-panel toolkit for Flutter - sortable, filterable CRUD tables and per-row actions over Firebase, Supabase, Hasura, or any GraphQL backend.

utopia_cli

The command line for this stack - scaffolds a Screen · State · View app with its .claude/ layer wired, then describe, doctor, and an MCP server give agents and CI a JSON-first view of the project.

utopia_arch

The hooks foundation folded into a full app skeleton - DI, navigation, error handling, and preferences persistence in one package.

utopia_hooks_riverpod

Lets utopia_hooks and Riverpod run side by side in a codebase that already has both.

utopia_lints

Our recommended lint rule set - the conventions the hooks pattern assumes, enforced by the analyzer.

utopia_widgets

Small, generic widgets that come up often enough to share instead of rewrite.

utopia_cms_firebase

The Firebase and Firestore backend for utopia_cms - a ready-made delegate over a collection.

utopia_cms_graphql

The generic GraphQL backend for utopia_cms - a service layer for any GraphQL API without a prebuilt delegate.

utopia_cms_hasura

The Hasura backend for utopia_cms - CRUD tables, filters, and many-to-many relationships over Hasura GraphQL.

Infrastructure

Thin, focused wrappers - REST, crash reporting, file saving, and the localization toolchain - built to be swapped in without reshaping the app around them.

utopia_rest

REST API support built on Dio - the networking layer under our services.

utopia_firebase_crashlytics

Firebase Crashlytics setup plus a Reporter implementation, wired in one step.

utopia_reporter

The Reporter architecture on its own - a single interface for logging and crash reporting you can back with any service.

utopia_save_file

A unified, correct implementation of file saving across platforms - the part every app gets subtly wrong once.

utopia_localization_annotationutopia_localization_generatorutopia_localization_utils

Our localization toolchain: annotate strings, generate the code from a Google Sheet, and use the generated output at runtime - three packages, one pipeline.

Utilities

The low-level building blocks: bytes, collections, connectivity, platform checks, generic helpers, and validation. Small on purpose.

utopia_bytes

Byte-level helpers for binary data - encoding, decoding, and the conversions in between.

utopia_collections

Collection utilities that fill the gaps in Dart's standard list, set, and map APIs.

utopia_connectivity

A connectivity state hook - know when the app is online, offline, or in between, without polling by hand.

utopia_platform_utils

Android and iOS platform checks and helpers, in one package instead of scattered Platform.is* calls.

utopia_utils

Generic Dart extensions and utilities, plus the Reporter architecture - our most-used package outside the core stack.

utopia_validation

Generic validation building blocks - the pieces a form or an API boundary checks input against.

AI tooling

The skills our Claude Code agents run on, published under the utopia-flutter-skills marketplace. Not on pub.dev - installed as Claude Code plugins, and the same skills your team keeps after hand-over.

utopia-hooks

The skill our agents follow when they write a Flutter screen - Screen/State/View, the hook catalog, and a quality gate after every edit.

utopia-cms

The skill that stops a Flutter admin panel being hand-rolled - declare your fields, point a delegate at your backend, done.

utopia-ai-arch

The skill that builds and polices the agent system itself - a four-agent roster, enforcement hooks, and a drift catalogue.

utopia-hooks-migrate-bloc

A 5-agent pipeline that takes a BLoC codebase to utopia_hooks screen by screen, behind a hard exit gate.

talk to us

The team behind these packages can build your app.

The same architecture under our open source runs in the apps we ship. Tell us what you are building.

Hooks Docs