flutter-design-system
Enforce Design Language System adherence in Flutter. Use when enforcing design tokens, preventing hardcoded colors/spacing, or implementing a DLS in Flutter.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
Flutter Design System Enforcement
Priority: P0 (CRITICAL)
Zero tolerance for hardcoded design values.
Phase 0: Context Discovery (MANDATORY)
Before any UI refactoring, you MUST identify the project's Theme Archetype:
-
Check
main.dart: Look forMaterialApptheme configuration. -
Determine Pattern:
-
Theme-Driven (Adaptive): If you see
VThemeData(...).toThemeData()or extensiveThemeDataoverrides, you MUST useTheme.of(context).textThemeortheme.textThemefor feature code. -
Token-Driven (Static): Only use static tokens (
VTypography.*) if there is no global theme bridge or if you are defining the theme itself.
-
Theme-Driven (Adaptive): If you see
Guidelines
-
Colors: Use tokens (
VColors.*,AppColors.*), neverColor(0xFF...)orColors.red. -
Spacing: Use tokens (
VSpacing.*), never magic numbers like16or24. -
Typography: Prioritize
theme.textTheme.*for adaptive UI. UseVTypography.*tokens only for theme definitions or non-contextual logic. Never use inlineTextStyle. -
Borders: Use tokens (
VBorders.*), never rawBorderRadius. -
Components: Use DLS widgets (
VButton) over raw Material widgets (ElevatedButton) if available.
Anti-Patterns
-
No Hex Colors:
Color(0xFF...)is strictly forbidden. -
No Color Enums:
Colors.blueis forbidden in UI code. -
No Magic Spacing:
SizedBox(height: 10)is forbidden. -
No Inline Styles:
TextStyle(fontSize: 14)is forbidden. -
No Raw Widgets: Don't use
ElevatedButtonwhenVButtonexists.
Related Topics
mobile-ux-core | flutter/widgets | idiomatic-flutter
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-03-11
- 索引更新时间
- 2026-03-11
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!