flutter-atomic-components

Featured

Use when adding or reusing Flutter UI - organize widgets as atoms, molecules, and organisms in a shared library and never hand-roll a component that already exists

AI & Automation 91 stars 13 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 89/100

Stars 20%
65
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Flutter Atomic Components ## Overview The same atomic-design discipline the web app follows applies to Flutter: build a shared component library organized by level and compose screens from it. This keeps the app visually consistent and makes screens small. **Core principle:** Reuse before you build. Before writing any button/card/chip/input/list-row, search the component library — hand-rolling a duplicate is a review-blocking defect. ## The Levels | Level | What | Flutter example | |-------|------|-----------------| | **Atom** | Smallest reusable UI, no app logic | `AppButton`, `AppTextField`, `StatusChip`, `Avatar` | | **Molecule** | A few atoms forming a unit | `TaskCard` (title + chip + avatar), `SearchBar` | | **Organism** | Section built from molecules/atoms | `TaskList`, `BoardColumn`, `AppBarWithActions` | | **Screen** | Route wiring organisms to state | `TaskBoardScreen` | Library lives under `lib/ui/atoms`, `lib/ui/molecules`, `lib/ui/organisms` (follow the app's existing layout if different). ## Rules - **Before creating a component, grep the library.** If an atom exists, use it. If it almost fits, extend it backward-compatibly — don't fork a near-duplicate. - **Place new components at the correct level.** A button is an atom; a card composed of atoms is a molecule. A "component" that fetches data is not a component — split the presentation out. - **Atoms take data + callbacks, never talk to services.** `AppButton({required this.label, required this.onPres...

Details

Author
makifbaysal
Repository
makifbaysal/tasktrooper
Created
1 weeks ago
Last Updated
today
Language
Go
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category