flutter-pro-max-cli 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,60 +1,67 @@
1
1
  ---
2
2
  name: flutter-pro-max
3
- description: Chuyên gia Flutter với Clean Architecture, Performance, Dart 3
3
+ description: Chuyên gia Flutter với kiến thức sâu về Clean Architecture, Performance và Modern Dart 3
4
4
  ---
5
5
 
6
6
  # Flutter Pro Max - Flutter Design Intelligence
7
7
 
8
- Searchable database của Flutter widgets, packages, design patterns, colors, typography, và best practices.
8
+ Searchable database của Flutter widgets, packages, design patterns, architecture guidelines, và best practices.
9
9
 
10
10
  ## Prerequisites
11
11
 
12
+ Chỉ cần Python (không cần pip install):
13
+
12
14
  ```bash
13
- pip install rank-bm25
15
+ python3 --version || python --version
14
16
  ```
15
17
 
16
18
  ---
17
19
 
18
- ## How to Use
20
+ ## How to Use This Skill
21
+
22
+ Khi user yêu cầu Flutter work (design, build, create, implement, review, fix, improve), follow workflow này:
23
+
24
+ ### Step 1: Analyze User Requirements
25
+
26
+ Trích xuất thông tin từ request:
27
+ - **Architecture**: Clean Architecture, Feature-First, DDD
28
+ - **State Management**: Riverpod (default), Bloc, Provider
29
+ - **UI Components**: Widgets, Layouts, Animations
30
+ - **Package needs**: Networking, Database, Security, etc.
19
31
 
20
- ### Step 1: Analyze Requirements
21
- - **Architecture**: Clean Architecture, Feature-First
22
- - **State**: Riverpod (default), Bloc
23
- - **UI**: Widgets, Colors, Typography
32
+ ### Step 2: Search Relevant Data
24
33
 
25
- ### Step 2: Search (14 Sources)
34
+ Sử dụng `search.py` để tìm kiếm (auto-detect domain):
26
35
 
27
36
  ```bash
28
37
  python3 .codex/skills/flutter-pro-max/scripts/search.py "<keyword>" --top 5
29
- python3 .codex/skills/flutter-pro-max/scripts/search.py "<keyword>" --stack riverpod --top 5
30
38
  ```
31
39
 
32
- **Examples:**
40
+ **Với domain cụ thể:**
33
41
  ```bash
34
- # Widgets
35
- python3 .codex/skills/flutter-pro-max/scripts/search.py "ListView pagination" --top 5
42
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "<keyword>" --domain widget --top 5
43
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "<keyword>" --domain package --top 5
44
+ ```
36
45
 
37
- # Charts
38
- python3 .codex/skills/flutter-pro-max/scripts/search.py "chart bar" --top 5
46
+ **Với stack filter (loại bỏ conflicts):**
47
+ ```bash
48
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "<keyword>" --stack riverpod --top 5
49
+ ```
39
50
 
40
- # Typography
41
- python3 .codex/skills/flutter-pro-max/scripts/search.py "font modern SaaS" --top 5
51
+ **Available domains:** `widget`, `package`, `pattern`, `architect`, `chart`, `color`, `typography`, `style`, `ux`, `icon`, `landing`, `naming`, `product`, `prompt`
42
52
 
43
- # Colors
44
- python3 .codex/skills/flutter-pro-max/scripts/search.py "fintech crypto" --top 5
53
+ **Available stacks:** `riverpod`, `bloc`, `provider`
45
54
 
46
- # UX Guidelines
47
- python3 .codex/skills/flutter-pro-max/scripts/search.py "touch accessibility" --top 5
48
- ```
55
+ ### Step 3: Apply Technical Standards
49
56
 
50
- ### Step 3: Apply Standards
57
+ Luôn tuân thủ các tiêu chuẩn:
51
58
 
52
- #### Dart 3
59
+ #### Dart 3 Modern Syntax
53
60
  ```dart
54
- // Records
61
+ // Records
55
62
  (String name, int age) getUserInfo() => ('John', 25);
56
63
 
57
- // Pattern Matching
64
+ // Pattern Matching
58
65
  String getMessage(UIState state) => switch (state) {
59
66
  LoadingState() => 'Loading...',
60
67
  DataState(data: var d) => 'Data: $d',
@@ -62,39 +69,97 @@ String getMessage(UIState state) => switch (state) {
62
69
  };
63
70
  ```
64
71
 
65
- #### Performance
66
- - `const` constructors
67
- - `SizedBox` > `Container` for spacing
68
- - `ListView.builder` for lists
72
+ #### Performance Rules
73
+ - Luôn dùng `const` constructor khi có thể
74
+ - Ưu tiên `SizedBox` hơn `Container` cho spacing
75
+ - Dùng `ListView.builder` thay vì `ListView` + `children`
76
+
77
+ #### State Management
78
+ - **Default**: Riverpod với `riverpod_generator`
79
+ - **Alternative**: Bloc (khi user yêu cầu)
69
80
 
70
81
  ---
71
82
 
72
- ## Data Sources (14 files)
83
+ ## Search Reference
73
84
 
74
- | Type | File | Content |
75
- |------|------|---------|
76
- | Widget | `widget.csv` | 65+ widgets |
77
- | Package | `package.csv` | 100+ packages |
78
- | Pattern | `patterns.csv` | 100+ patterns |
79
- | Architecture | `architect.csv` | Clean Architecture |
80
- | Chart | `charts.csv` | Chart recommendations |
81
- | Color | `colors.csv` | Color palettes |
85
+ ### Available Data
86
+
87
+ | Domain | File | Content |
88
+ |--------|------|---------|
89
+ | Widgets | `widget.csv` | 65+ Flutter widgets với pro-tips |
90
+ | Packages | `package.csv` | 100+ packages với best practices |
91
+ | Patterns | `patterns.csv` | 100+ design patterns với code snippets |
92
+ | Architecture | `architect.csv` | Clean Architecture layer paths |
93
+ | Charts | `charts.csv` | Chart type recommendations |
94
+ | Colors | `colors.csv` | Color palettes by product type |
82
95
  | Typography | `typography.csv` | Font pairings |
83
- | Style | `styles.csv` | UI styles |
84
- | UX Guideline | `ux-guidelines.csv` | UX best practices |
85
- | Icon | `icons.csv` | Icons |
86
- | Landing | `landing.csv` | Landing patterns |
96
+ | Styles | `styles.csv` | UI style guidelines |
97
+ | UX Guidelines | `ux-guidelines.csv` | UX best practices |
98
+ | Icons | `icons.csv` | Icon recommendations |
99
+ | Landing | `landing.csv` | Landing page patterns |
87
100
  | Naming | `name_convention.csv` | Naming conventions |
88
- | Product | `products.csv` | Product styling |
89
- | Prompt | `prompts.csv` | AI prompts |
101
+ | Products | `products.csv` | Product type styling |
102
+ | Prompts | `prompts.csv` | AI prompt templates |
103
+
104
+ ### Search Examples
105
+
106
+ ```bash
107
+ # Auto-detect domain
108
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "ListView" --top 5
109
+
110
+ # Specific domain
111
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "network http" --domain package --top 5
112
+
113
+ # Stack filter
114
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "state" --stack riverpod --top 5
115
+
116
+ # JSON output
117
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "login" --json --top 3
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Example Workflow
123
+
124
+ **User Request:** "Tạo màn hình đăng nhập với Riverpod"
125
+
126
+ 1. **Search widgets:**
127
+ ```bash
128
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "form input" --domain widget --top 5
129
+ ```
130
+
131
+ 2. **Search patterns:**
132
+ ```bash
133
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "authentication login" --domain pattern --top 5
134
+ ```
135
+
136
+ 3. **Search packages:**
137
+ ```bash
138
+ python3 .codex/skills/flutter-pro-max/scripts/search.py "validation" --domain package --stack riverpod --top 5
139
+ ```
140
+
141
+ 4. **Apply results** to generate code với Riverpod state management
90
142
 
91
143
  ---
92
144
 
93
145
  ## Pre-Delivery Checklist
94
146
 
95
- - [ ] `const` constructors
96
- - [ ] Sound Null Safety
97
- - [ ] Dart 3 syntax
98
- - [ ] Clean Architecture
99
- - [ ] Touch targets 44x44px
100
- - [ ] WCAG contrast
147
+ ### Code Quality
148
+ - [ ] Sử dụng `const` constructors
149
+ - [ ] Sound Null Safety (không dùng `!` bừa bãi)
150
+ - [ ] Dart 3 syntax (Records, Pattern Matching)
151
+
152
+ ### Performance
153
+ - [ ] `ListView.builder` cho lists dài
154
+ - [ ] `SizedBox` thay vì `Container` cho spacing
155
+ - [ ] `const` widgets được đánh dấu
156
+
157
+ ### Architecture
158
+ - [ ] Tuân thủ Clean Architecture layers
159
+ - [ ] Dependency Injection đúng cách
160
+ - [ ] Repository pattern cho data access
161
+
162
+ ### State Management
163
+ - [ ] Riverpod providers được tổ chức hợp lý
164
+ - [ ] Không leak state giữa các features
165
+ - [ ] Error handling với AsyncValue
@@ -20,6 +20,10 @@ def _get_data_dir():
20
20
  script_dir.parent / ".shared" / "data",
21
21
  # When running from .shared/flutter-pro-max/scripts/
22
22
  script_dir.parent.parent / "data",
23
+ # When running from .agent/workflows/scripts/ (nested 3 levels deep)
24
+ script_dir.parent.parent.parent / ".shared" / "data",
25
+ # When running from .claude/skills/flutter-pro-max/scripts/ (nested 4 levels deep)
26
+ script_dir.parent.parent.parent.parent / ".shared" / "data",
23
27
  # Fallback: cwd
24
28
  Path.cwd() / ".shared" / "data",
25
29
  ]
@@ -1,23 +1,25 @@
1
1
  ---
2
- description: Flutter Pro Max - Chuyên gia Flutter với Clean Architecture và Performance
2
+ name: flutter-pro-max
3
+ description: Chuyên gia Flutter với kiến thức sâu về Clean Architecture, Performance và Modern Dart 3
3
4
  ---
4
5
 
5
- # flutter-pro-max
6
+ # Flutter Pro Max - Flutter Design Intelligence
6
7
 
7
- Searchable database của Flutter widgets, packages, design patterns, architecture guidelines, colors, typography, và best practices.
8
+ Searchable database của Flutter widgets, packages, design patterns, architecture guidelines, và best practices.
8
9
 
9
10
  ## Prerequisites
10
11
 
12
+ Chỉ cần Python (không cần pip install):
13
+
11
14
  ```bash
12
- python3 --version
13
- pip install rank-bm25
15
+ python3 --version || python --version
14
16
  ```
15
17
 
16
18
  ---
17
19
 
18
- ## How to Use This Command
20
+ ## How to Use This Skill
19
21
 
20
- Khi user yêu cầu Flutter work, follow workflow này:
22
+ Khi user yêu cầu Flutter work (design, build, create, implement, review, fix, improve), follow workflow này:
21
23
 
22
24
  ### Step 1: Analyze User Requirements
23
25
 
@@ -25,44 +27,35 @@ Trích xuất thông tin từ request:
25
27
  - **Architecture**: Clean Architecture, Feature-First, DDD
26
28
  - **State Management**: Riverpod (default), Bloc, Provider
27
29
  - **UI Components**: Widgets, Layouts, Animations
28
- - **Design**: Colors, Typography, Styles
29
30
  - **Package needs**: Networking, Database, Security, etc.
30
31
 
31
- ### Step 2: Search Relevant Data (14 Sources)
32
+ ### Step 2: Search Relevant Data
33
+
34
+ Sử dụng `search.py` để tìm kiếm (auto-detect domain):
32
35
 
33
36
  ```bash
34
37
  python3 .cursor/commands/scripts/search.py "<keyword>" --top 5
35
- python3 .cursor/commands/scripts/search.py "<keyword>" --stack riverpod --top 5
36
38
  ```
37
39
 
38
- **Available stacks:** `riverpod`, `bloc`, `provider`
39
-
40
- **Search Examples by Domain:**
40
+ **Với domain cụ thể:**
41
41
  ```bash
42
- # Flutter Widgets
43
- python3 .cursor/commands/scripts/search.py "ListView pagination" --top 5
44
-
45
- # Design Patterns
46
- python3 .cursor/commands/scripts/search.py "authentication login" --top 5
47
-
48
- # Charts
49
- python3 .cursor/commands/scripts/search.py "chart bar comparison" --top 5
50
-
51
- # Typography
52
- python3 .cursor/commands/scripts/search.py "font modern SaaS" --top 5
42
+ python3 .cursor/commands/scripts/search.py "<keyword>" --domain widget --top 5
43
+ python3 .cursor/commands/scripts/search.py "<keyword>" --domain package --top 5
44
+ ```
53
45
 
54
- # Colors by Product
55
- python3 .cursor/commands/scripts/search.py "fintech crypto dark" --top 5
46
+ **Với stack filter (loại bỏ conflicts):**
47
+ ```bash
48
+ python3 .cursor/commands/scripts/search.py "<keyword>" --stack riverpod --top 5
49
+ ```
56
50
 
57
- # UX Guidelines
58
- python3 .cursor/commands/scripts/search.py "touch target accessibility" --top 5
51
+ **Available domains:** `widget`, `package`, `pattern`, `architect`, `chart`, `color`, `typography`, `style`, `ux`, `icon`, `landing`, `naming`, `product`, `prompt`
59
52
 
60
- # UI Styles
61
- python3 .cursor/commands/scripts/search.py "glassmorphism neumorphism" --top 5
62
- ```
53
+ **Available stacks:** `riverpod`, `bloc`, `provider`
63
54
 
64
55
  ### Step 3: Apply Technical Standards
65
56
 
57
+ Luôn tuân thủ các tiêu chuẩn:
58
+
66
59
  #### Dart 3 Modern Syntax
67
60
  ```dart
68
61
  // ✅ Records
@@ -89,24 +82,40 @@ String getMessage(UIState state) => switch (state) {
89
82
 
90
83
  ## Search Reference
91
84
 
92
- ### Available Data Sources (14 files)
85
+ ### Available Data
93
86
 
94
- | Type | File | Content |
95
- |------|------|---------|
96
- | Widget | `widget.csv` | 65+ Flutter widgets với pro-tips |
97
- | Package | `package.csv` | 100+ packages với best practices |
98
- | Pattern | `patterns.csv` | 100+ design patterns với code snippets |
87
+ | Domain | File | Content |
88
+ |--------|------|---------|
89
+ | Widgets | `widget.csv` | 65+ Flutter widgets với pro-tips |
90
+ | Packages | `package.csv` | 100+ packages với best practices |
91
+ | Patterns | `patterns.csv` | 100+ design patterns với code snippets |
99
92
  | Architecture | `architect.csv` | Clean Architecture layer paths |
100
- | Chart | `charts.csv` | Chart type recommendations by data |
101
- | Color | `colors.csv` | Color palettes by product type |
102
- | Typography | `typography.csv` | Font pairings với Google Fonts |
103
- | Style | `styles.csv` | UI style guidelines (Glass, Neubrutalism...) |
104
- | UX Guideline | `ux-guidelines.csv` | UX best practices (Do/Don't) |
105
- | Icon | `icons.csv` | Icon recommendations |
106
- | Landing | `landing.csv` | Landing page section patterns |
107
- | Naming | `name_convention.csv` | Dart/Flutter naming conventions |
108
- | Product | `products.csv` | Product type styling recommendations |
109
- | Prompt | `prompts.csv` | AI prompt templates |
93
+ | Charts | `charts.csv` | Chart type recommendations |
94
+ | Colors | `colors.csv` | Color palettes by product type |
95
+ | Typography | `typography.csv` | Font pairings |
96
+ | Styles | `styles.csv` | UI style guidelines |
97
+ | UX Guidelines | `ux-guidelines.csv` | UX best practices |
98
+ | Icons | `icons.csv` | Icon recommendations |
99
+ | Landing | `landing.csv` | Landing page patterns |
100
+ | Naming | `name_convention.csv` | Naming conventions |
101
+ | Products | `products.csv` | Product type styling |
102
+ | Prompts | `prompts.csv` | AI prompt templates |
103
+
104
+ ### Search Examples
105
+
106
+ ```bash
107
+ # Auto-detect domain
108
+ python3 .cursor/commands/scripts/search.py "ListView" --top 5
109
+
110
+ # Specific domain
111
+ python3 .cursor/commands/scripts/search.py "network http" --domain package --top 5
112
+
113
+ # Stack filter
114
+ python3 .cursor/commands/scripts/search.py "state" --stack riverpod --top 5
115
+
116
+ # JSON output
117
+ python3 .cursor/commands/scripts/search.py "login" --json --top 3
118
+ ```
110
119
 
111
120
  ---
112
121
 
@@ -116,17 +125,17 @@ String getMessage(UIState state) => switch (state) {
116
125
 
117
126
  1. **Search widgets:**
118
127
  ```bash
119
- python3 .cursor/commands/scripts/search.py "form input text field" --top 5
128
+ python3 .cursor/commands/scripts/search.py "form input" --domain widget --top 5
120
129
  ```
121
130
 
122
131
  2. **Search patterns:**
123
132
  ```bash
124
- python3 .cursor/commands/scripts/search.py "authentication login" --top 5
133
+ python3 .cursor/commands/scripts/search.py "authentication login" --domain pattern --top 5
125
134
  ```
126
135
 
127
136
  3. **Search packages:**
128
137
  ```bash
129
- python3 .cursor/commands/scripts/search.py "validation form" --stack riverpod --top 5
138
+ python3 .cursor/commands/scripts/search.py "validation" --domain package --stack riverpod --top 5
130
139
  ```
131
140
 
132
141
  4. **Apply results** to generate code với Riverpod state management
@@ -143,12 +152,14 @@ String getMessage(UIState state) => switch (state) {
143
152
  ### Performance
144
153
  - [ ] `ListView.builder` cho lists dài
145
154
  - [ ] `SizedBox` thay vì `Container` cho spacing
155
+ - [ ] `const` widgets được đánh dấu
146
156
 
147
157
  ### Architecture
148
158
  - [ ] Tuân thủ Clean Architecture layers
159
+ - [ ] Dependency Injection đúng cách
149
160
  - [ ] Repository pattern cho data access
150
161
 
151
- ### UX/UI
152
- - [ ] Touch targets tối thiểu 44x44px
153
- - [ ] Colors đúng với product type
154
- - [ ] Typography phù hợp với brand
162
+ ### State Management
163
+ - [ ] Riverpod providers được tổ chức hợp lý
164
+ - [ ] Không leak state giữa các features
165
+ - [ ] Error handling với AsyncValue
@@ -20,6 +20,10 @@ def _get_data_dir():
20
20
  script_dir.parent / ".shared" / "data",
21
21
  # When running from .shared/flutter-pro-max/scripts/
22
22
  script_dir.parent.parent / "data",
23
+ # When running from .agent/workflows/scripts/ (nested 3 levels deep)
24
+ script_dir.parent.parent.parent / ".shared" / "data",
25
+ # When running from .claude/skills/flutter-pro-max/scripts/ (nested 4 levels deep)
26
+ script_dir.parent.parent.parent.parent / ".shared" / "data",
23
27
  # Fallback: cwd
24
28
  Path.cwd() / ".shared" / "data",
25
29
  ]
@@ -1,60 +1,67 @@
1
1
  ---
2
2
  name: flutter-pro-max
3
- description: Chuyên gia Flutter với Clean Architecture, Performance, Dart 3
3
+ description: Chuyên gia Flutter với kiến thức sâu về Clean Architecture, Performance và Modern Dart 3
4
4
  ---
5
5
 
6
6
  # Flutter Pro Max - Flutter Design Intelligence
7
7
 
8
- Searchable database của Flutter widgets, packages, design patterns, colors, typography, và best practices.
8
+ Searchable database của Flutter widgets, packages, design patterns, architecture guidelines, và best practices.
9
9
 
10
10
  ## Prerequisites
11
11
 
12
+ Chỉ cần Python (không cần pip install):
13
+
12
14
  ```bash
13
- pip install rank-bm25
15
+ python3 --version || python --version
14
16
  ```
15
17
 
16
18
  ---
17
19
 
18
- ## How to Use
20
+ ## How to Use This Skill
21
+
22
+ Khi user yêu cầu Flutter work (design, build, create, implement, review, fix, improve), follow workflow này:
23
+
24
+ ### Step 1: Analyze User Requirements
25
+
26
+ Trích xuất thông tin từ request:
27
+ - **Architecture**: Clean Architecture, Feature-First, DDD
28
+ - **State Management**: Riverpod (default), Bloc, Provider
29
+ - **UI Components**: Widgets, Layouts, Animations
30
+ - **Package needs**: Networking, Database, Security, etc.
19
31
 
20
- ### Step 1: Analyze Requirements
21
- - **Architecture**: Clean Architecture, Feature-First
22
- - **State**: Riverpod (default), Bloc
23
- - **UI**: Widgets, Colors, Typography
32
+ ### Step 2: Search Relevant Data
24
33
 
25
- ### Step 2: Search (14 Sources)
34
+ Sử dụng `search.py` để tìm kiếm (auto-detect domain):
26
35
 
27
36
  ```bash
28
37
  python3 .gemini/skills/flutter-pro-max/scripts/search.py "<keyword>" --top 5
29
- python3 .gemini/skills/flutter-pro-max/scripts/search.py "<keyword>" --stack riverpod --top 5
30
38
  ```
31
39
 
32
- **Examples:**
40
+ **Với domain cụ thể:**
33
41
  ```bash
34
- # Widgets
35
- python3 .gemini/skills/flutter-pro-max/scripts/search.py "ListView pagination" --top 5
42
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "<keyword>" --domain widget --top 5
43
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "<keyword>" --domain package --top 5
44
+ ```
36
45
 
37
- # Charts
38
- python3 .gemini/skills/flutter-pro-max/scripts/search.py "chart bar" --top 5
46
+ **Với stack filter (loại bỏ conflicts):**
47
+ ```bash
48
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "<keyword>" --stack riverpod --top 5
49
+ ```
39
50
 
40
- # Typography
41
- python3 .gemini/skills/flutter-pro-max/scripts/search.py "font modern SaaS" --top 5
51
+ **Available domains:** `widget`, `package`, `pattern`, `architect`, `chart`, `color`, `typography`, `style`, `ux`, `icon`, `landing`, `naming`, `product`, `prompt`
42
52
 
43
- # Colors
44
- python3 .gemini/skills/flutter-pro-max/scripts/search.py "fintech crypto" --top 5
53
+ **Available stacks:** `riverpod`, `bloc`, `provider`
45
54
 
46
- # UX Guidelines
47
- python3 .gemini/skills/flutter-pro-max/scripts/search.py "touch accessibility" --top 5
48
- ```
55
+ ### Step 3: Apply Technical Standards
49
56
 
50
- ### Step 3: Apply Standards
57
+ Luôn tuân thủ các tiêu chuẩn:
51
58
 
52
- #### Dart 3
59
+ #### Dart 3 Modern Syntax
53
60
  ```dart
54
- // Records
61
+ // Records
55
62
  (String name, int age) getUserInfo() => ('John', 25);
56
63
 
57
- // Pattern Matching
64
+ // Pattern Matching
58
65
  String getMessage(UIState state) => switch (state) {
59
66
  LoadingState() => 'Loading...',
60
67
  DataState(data: var d) => 'Data: $d',
@@ -62,39 +69,97 @@ String getMessage(UIState state) => switch (state) {
62
69
  };
63
70
  ```
64
71
 
65
- #### Performance
66
- - `const` constructors
67
- - `SizedBox` > `Container` for spacing
68
- - `ListView.builder` for lists
72
+ #### Performance Rules
73
+ - Luôn dùng `const` constructor khi có thể
74
+ - Ưu tiên `SizedBox` hơn `Container` cho spacing
75
+ - Dùng `ListView.builder` thay vì `ListView` + `children`
76
+
77
+ #### State Management
78
+ - **Default**: Riverpod với `riverpod_generator`
79
+ - **Alternative**: Bloc (khi user yêu cầu)
69
80
 
70
81
  ---
71
82
 
72
- ## Data Sources (14 files)
83
+ ## Search Reference
73
84
 
74
- | Type | File | Content |
75
- |------|------|---------|
76
- | Widget | `widget.csv` | 65+ widgets |
77
- | Package | `package.csv` | 100+ packages |
78
- | Pattern | `patterns.csv` | 100+ patterns |
79
- | Architecture | `architect.csv` | Clean Architecture |
80
- | Chart | `charts.csv` | Chart recommendations |
81
- | Color | `colors.csv` | Color palettes |
85
+ ### Available Data
86
+
87
+ | Domain | File | Content |
88
+ |--------|------|---------|
89
+ | Widgets | `widget.csv` | 65+ Flutter widgets với pro-tips |
90
+ | Packages | `package.csv` | 100+ packages với best practices |
91
+ | Patterns | `patterns.csv` | 100+ design patterns với code snippets |
92
+ | Architecture | `architect.csv` | Clean Architecture layer paths |
93
+ | Charts | `charts.csv` | Chart type recommendations |
94
+ | Colors | `colors.csv` | Color palettes by product type |
82
95
  | Typography | `typography.csv` | Font pairings |
83
- | Style | `styles.csv` | UI styles |
84
- | UX Guideline | `ux-guidelines.csv` | UX best practices |
85
- | Icon | `icons.csv` | Icons |
86
- | Landing | `landing.csv` | Landing patterns |
96
+ | Styles | `styles.csv` | UI style guidelines |
97
+ | UX Guidelines | `ux-guidelines.csv` | UX best practices |
98
+ | Icons | `icons.csv` | Icon recommendations |
99
+ | Landing | `landing.csv` | Landing page patterns |
87
100
  | Naming | `name_convention.csv` | Naming conventions |
88
- | Product | `products.csv` | Product styling |
89
- | Prompt | `prompts.csv` | AI prompts |
101
+ | Products | `products.csv` | Product type styling |
102
+ | Prompts | `prompts.csv` | AI prompt templates |
103
+
104
+ ### Search Examples
105
+
106
+ ```bash
107
+ # Auto-detect domain
108
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "ListView" --top 5
109
+
110
+ # Specific domain
111
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "network http" --domain package --top 5
112
+
113
+ # Stack filter
114
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "state" --stack riverpod --top 5
115
+
116
+ # JSON output
117
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "login" --json --top 3
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Example Workflow
123
+
124
+ **User Request:** "Tạo màn hình đăng nhập với Riverpod"
125
+
126
+ 1. **Search widgets:**
127
+ ```bash
128
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "form input" --domain widget --top 5
129
+ ```
130
+
131
+ 2. **Search patterns:**
132
+ ```bash
133
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "authentication login" --domain pattern --top 5
134
+ ```
135
+
136
+ 3. **Search packages:**
137
+ ```bash
138
+ python3 .gemini/skills/flutter-pro-max/scripts/search.py "validation" --domain package --stack riverpod --top 5
139
+ ```
140
+
141
+ 4. **Apply results** to generate code với Riverpod state management
90
142
 
91
143
  ---
92
144
 
93
145
  ## Pre-Delivery Checklist
94
146
 
95
- - [ ] `const` constructors
96
- - [ ] Sound Null Safety
97
- - [ ] Dart 3 syntax
98
- - [ ] Clean Architecture
99
- - [ ] Touch targets 44x44px
100
- - [ ] WCAG contrast
147
+ ### Code Quality
148
+ - [ ] Sử dụng `const` constructors
149
+ - [ ] Sound Null Safety (không dùng `!` bừa bãi)
150
+ - [ ] Dart 3 syntax (Records, Pattern Matching)
151
+
152
+ ### Performance
153
+ - [ ] `ListView.builder` cho lists dài
154
+ - [ ] `SizedBox` thay vì `Container` cho spacing
155
+ - [ ] `const` widgets được đánh dấu
156
+
157
+ ### Architecture
158
+ - [ ] Tuân thủ Clean Architecture layers
159
+ - [ ] Dependency Injection đúng cách
160
+ - [ ] Repository pattern cho data access
161
+
162
+ ### State Management
163
+ - [ ] Riverpod providers được tổ chức hợp lý
164
+ - [ ] Không leak state giữa các features
165
+ - [ ] Error handling với AsyncValue
@@ -20,6 +20,10 @@ def _get_data_dir():
20
20
  script_dir.parent / ".shared" / "data",
21
21
  # When running from .shared/flutter-pro-max/scripts/
22
22
  script_dir.parent.parent / "data",
23
+ # When running from .agent/workflows/scripts/ (nested 3 levels deep)
24
+ script_dir.parent.parent.parent / ".shared" / "data",
25
+ # When running from .claude/skills/flutter-pro-max/scripts/ (nested 4 levels deep)
26
+ script_dir.parent.parent.parent.parent / ".shared" / "data",
23
27
  # Fallback: cwd
24
28
  Path.cwd() / ".shared" / "data",
25
29
  ]