Introduction
An open-source Flutter UI library, inspired by coss.com/ui, Cal.com's design system. No app shell required, accessible, one import.
fossui is a component set for developers tired of every Flutter app looking like
Material. It drops into any app (a bare WidgetsApp, CupertinoApp, or
MaterialApp) and reads its own theme first, not replacing yours. The look comes
from coss.com/ui, Cal.com's design system: clean, neutral, superellipse corners.
One import, one theme, light and dark out of the box.
Why fossui
- A look that isn't Material. A neutral, understated aesthetic with superellipse corners, drawn from the coss/Cal.com design language.
- Framework-agnostic. Built on
package:flutter/widgets.dart, with no platform channels and noFossAppwrapper. The widgets work under any app shell. - Reads your theme, not the other way around. Components resolve
context.fossThemefirst, so they keep their look inside an existing app instead of inheriting whatever the surrounding shell imposes. - One theme object. A single
FossThemeDataholds every semantic token: color, type, radius, spacing, shadow, motion. Reskin the whole app, light and dark, in one call. - Light on dependencies. One runtime dependency and no bundled icon package.
Pass your own icons through plain
Widgetslots. - AI-native. An MCP server, a skill, and a rules snippet hand your coding agent the real component API, so AI-written fossui code compiles the first try.
- Accessible by default. Semantics, focus, and touch targets are built into each component.
Install
flutter pub add fossuiimport 'package:fossui/fossui.dart';Under 0.x, APIs and tokens can still change between releases, so pin a version you have tested against.
Quick start
Register the theme once, then use the widgets anywhere.
import 'package:flutter/widgets.dart';
import 'package:fossui/fossui.dart';
void main() => runApp(
FossTheme(
data: FossThemeData.light,
child: WidgetsApp(
color: FossThemeData.light.colors.background,
builder: (context, _) => Center(
child: FossButton(
onPressed: () {},
child: const Text('Get started'),
),
),
),
),
);No shell lock-in. FossTheme is a plain InheritedWidget, so context.fossTheme
resolves the same way under WidgetsApp, CupertinoApp, or any other app
widget. See theming to reskin the set, and
AI native to wire up your coding agent.