@appiq/flutter-workflow 1.0.0 → 1.2.0
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.
- package/CHANGELOG.md +92 -0
- package/CONTRIBUTING.md +298 -0
- package/agents/claude/cubit-agent.md +63 -0
- package/agents/claude/data-agent.md +83 -0
- package/agents/claude/domain-agent.md +76 -0
- package/agents/claude/orchestrator.md +41 -0
- package/agents/claude/po-agent.md +42 -0
- package/agents/claude/security-agent.md +91 -0
- package/agents/claude/test-agent.md +114 -0
- package/agents/claude/ui-agent.md +56 -0
- package/agents/ui-agent.md +231 -67
- package/bin/cli.js +7 -2
- package/package.json +3 -2
- package/templates/platform-adaptive-widget-template.dart +407 -0
- package/templates/pretty-ui-examples.md +597 -0
package/CHANGELOG.md
CHANGED
@@ -5,6 +5,98 @@ All notable changes to AppIQ Flutter Workflow will be documented in this file.
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
|
+
## [1.2.0] - 2024-08-02
|
9
|
+
|
10
|
+
### 🔧 Claude Desktop Agent Format Support
|
11
|
+
|
12
|
+
**Major Compatibility Update** - Added native Claude Desktop agent format support while maintaining compatibility with other IDEs (Cursor, Windsurf, Trae).
|
13
|
+
|
14
|
+
### ✨ Added
|
15
|
+
|
16
|
+
#### 🤖 Claude Desktop Native Format
|
17
|
+
- **Simplified Agent Format** - Special YAML-header format for `.claude/agents/` recognition
|
18
|
+
- **IDE-Specific Installation** - Automatic format selection based on chosen IDE
|
19
|
+
- **Enhanced Compatibility** - Maintains full compatibility with existing IDE formats
|
20
|
+
- **Intelligent Agent Routing** - CLI automatically selects correct agent format per IDE
|
21
|
+
|
22
|
+
#### 📁 Dual Agent System
|
23
|
+
- **Claude Desktop Agents** - Simplified format in `agents/claude/` directory
|
24
|
+
- **Traditional IDE Agents** - Full-featured format in `agents/` directory
|
25
|
+
- **Automatic Format Selection** - CLI intelligently chooses format based on IDE selection
|
26
|
+
- **Consistent Functionality** - Same capabilities across all agent formats
|
27
|
+
|
28
|
+
### 🔧 Enhanced CLI Features
|
29
|
+
- **Smart Installation Logic** - Detects IDE type and installs appropriate agent format
|
30
|
+
- **Format Validation** - Ensures correct agent format for each development environment
|
31
|
+
- **Enhanced Status Reporting** - Better detection of installed agent formats
|
32
|
+
|
33
|
+
### 📚 Improved Documentation
|
34
|
+
- **Format Guidelines** - Clear documentation for different agent formats
|
35
|
+
- **IDE-Specific Instructions** - Tailored setup instructions for each supported IDE
|
36
|
+
- **Migration Guide** - Easy transition between agent formats
|
37
|
+
|
38
|
+
---
|
39
|
+
|
40
|
+
## [1.1.0] - 2024-08-02
|
41
|
+
|
42
|
+
### 🚀 Enhanced UI Agent with Native Platform Support
|
43
|
+
|
44
|
+
**Major UI Agent Enhancement** - The UI Agent (Maya) now creates truly native-feeling Flutter apps with platform-adaptive widgets and modern Pretty UI design system.
|
45
|
+
|
46
|
+
### ✨ Added
|
47
|
+
|
48
|
+
#### 🍎 Platform-Adaptive Design System
|
49
|
+
- **Automatic Platform Detection** - Widgets automatically adapt to iOS/Android
|
50
|
+
- **Cupertino Components** - Native iOS widgets following Human Interface Guidelines
|
51
|
+
- **Material Design 3** - Enhanced Android components with Material You theming
|
52
|
+
- **Platform-Specific Features** - Haptic feedback, native scroll physics, platform animations
|
53
|
+
- **Adaptive Navigation** - CupertinoNavigationBar on iOS, AppBar on Android
|
54
|
+
- **Smart Widget Selection** - CupertinoSwitch vs Material Switch, platform-appropriate dialogs
|
55
|
+
|
56
|
+
#### ✨ Pretty UI Design System
|
57
|
+
- **Modern Aesthetics** - Clean, minimalist design with purposeful white space
|
58
|
+
- **Sophisticated Color Palettes** - 4-5 color harmonies with automatic dark/light variants
|
59
|
+
- **Advanced Component Design** - Rounded corners, subtle shadows, glass morphism effects
|
60
|
+
- **Elegant Typography** - Consistent hierarchy with Material 3 typography scale
|
61
|
+
- **Professional Layouts** - Asymmetrical designs, grid-based organization, visual balance
|
62
|
+
|
63
|
+
#### ⚡ Performance Optimization Excellence
|
64
|
+
- **60fps Target** - All animations and interactions optimized for smooth performance
|
65
|
+
- **Build Method Efficiency** - const constructors, widget rebuilding minimization
|
66
|
+
- **Memory Management** - Proper disposal, weak references, efficient caching
|
67
|
+
- **List Performance** - ListView.builder patterns, pagination, lazy loading
|
68
|
+
- **Animation Optimization** - GPU-accelerated transforms, efficient controller usage
|
69
|
+
- **Asset Optimization** - WebP images, vector graphics, smart caching strategies
|
70
|
+
|
71
|
+
#### 🎭 Advanced Animation System
|
72
|
+
- **Micro-Interactions** - Button feedback, loading states, form field animations
|
73
|
+
- **Delightful Animations** - Hero animations, staggered lists, parallax scrolling
|
74
|
+
- **Physics-Based Motion** - Spring animations, momentum-based gestures
|
75
|
+
- **Custom Transitions** - Path-based animations, morphing components
|
76
|
+
- **Gesture Recognition** - Pan, scale, swipe-to-dismiss with haptic feedback
|
77
|
+
|
78
|
+
### 📚 New Templates and Examples
|
79
|
+
- **Platform-Adaptive Widget Template** - Complete adaptive component examples
|
80
|
+
- **Pretty UI Examples** - Modern component library with code samples
|
81
|
+
- **Performance Patterns** - Optimized widget implementations
|
82
|
+
- **Animation Cookbook** - Advanced animation techniques and patterns
|
83
|
+
|
84
|
+
### 🔧 Enhanced Commands
|
85
|
+
- `*create-platform-adaptive` - Create platform-adaptive widgets for native feeling
|
86
|
+
- `*implement-pretty-ui` - Apply Pretty UI design system with modern aesthetics
|
87
|
+
- `*add-micro-interactions` - Implement delightful animations and haptic feedback
|
88
|
+
- `*optimize-performance` - Optimize UI for 60fps and memory efficiency
|
89
|
+
- `*create-custom-components` - Build components with native platform feel
|
90
|
+
- `*implement-gestures` - Add platform-specific gesture recognition
|
91
|
+
|
92
|
+
### 📖 Improved Documentation
|
93
|
+
- **Comprehensive UI Guidelines** - Platform-adaptive design patterns
|
94
|
+
- **Performance Best Practices** - Flutter optimization techniques
|
95
|
+
- **Animation Techniques** - Advanced interaction patterns
|
96
|
+
- **Component Examples** - Ready-to-use Pretty UI components
|
97
|
+
|
98
|
+
---
|
99
|
+
|
8
100
|
## [1.0.0] - 2024-08-02
|
9
101
|
|
10
102
|
### 🎉 Initial Release
|
package/CONTRIBUTING.md
ADDED
@@ -0,0 +1,298 @@
|
|
1
|
+
# Contributing to AppIQ Flutter Workflow
|
2
|
+
|
3
|
+
Thank you for your interest in contributing to AppIQ Flutter Workflow! We welcome contributions from the community and are excited to collaborate with you.
|
4
|
+
|
5
|
+
## 💖 Support the Project
|
6
|
+
|
7
|
+
Before contributing code, consider supporting the project:
|
8
|
+
|
9
|
+
[](https://paypal.me/vhermann)
|
10
|
+
|
11
|
+
Your support helps maintain and improve this open-source project!
|
12
|
+
|
13
|
+
## 🚀 Getting Started
|
14
|
+
|
15
|
+
### Prerequisites
|
16
|
+
|
17
|
+
- Node.js 14.0.0 or higher
|
18
|
+
- npm or yarn package manager
|
19
|
+
- Git for version control
|
20
|
+
- Flutter SDK (for testing workflow integration)
|
21
|
+
|
22
|
+
### Setting Up Development Environment
|
23
|
+
|
24
|
+
1. **Fork the Repository**
|
25
|
+
```bash
|
26
|
+
# Fork on GitHub, then clone your fork
|
27
|
+
git clone https://github.com/YOUR-USERNAME/flutter-workflow.git
|
28
|
+
cd flutter-workflow
|
29
|
+
```
|
30
|
+
|
31
|
+
2. **Install Dependencies**
|
32
|
+
```bash
|
33
|
+
npm install
|
34
|
+
```
|
35
|
+
|
36
|
+
3. **Test the CLI**
|
37
|
+
```bash
|
38
|
+
# Make CLI executable
|
39
|
+
chmod +x bin/cli.js
|
40
|
+
|
41
|
+
# Test help command
|
42
|
+
node bin/cli.js --help
|
43
|
+
|
44
|
+
# Test create feature
|
45
|
+
node bin/cli.js create-feature test-feature
|
46
|
+
```
|
47
|
+
|
48
|
+
## 📋 How to Contribute
|
49
|
+
|
50
|
+
### 🐛 Bug Reports
|
51
|
+
|
52
|
+
If you find a bug, please create an issue with:
|
53
|
+
|
54
|
+
- **Clear description** of the problem
|
55
|
+
- **Steps to reproduce** the issue
|
56
|
+
- **Expected vs actual behavior**
|
57
|
+
- **Environment details** (OS, Node version, Flutter version)
|
58
|
+
- **Screenshots or logs** if applicable
|
59
|
+
|
60
|
+
### ✨ Feature Requests
|
61
|
+
|
62
|
+
For new features:
|
63
|
+
|
64
|
+
- **Check existing issues** to avoid duplicates
|
65
|
+
- **Describe the use case** and benefits
|
66
|
+
- **Provide examples** of how it would work
|
67
|
+
- **Consider implementation complexity**
|
68
|
+
|
69
|
+
### 🔧 Code Contributions
|
70
|
+
|
71
|
+
#### Types of Contributions We Welcome
|
72
|
+
|
73
|
+
1. **Agent Improvements**
|
74
|
+
- Enhanced agent capabilities
|
75
|
+
- Better error handling
|
76
|
+
- Performance optimizations
|
77
|
+
- New MCP integrations
|
78
|
+
|
79
|
+
2. **CLI Enhancements**
|
80
|
+
- New commands and options
|
81
|
+
- Better user experience
|
82
|
+
- Cross-platform compatibility
|
83
|
+
- Installation improvements
|
84
|
+
|
85
|
+
3. **Documentation**
|
86
|
+
- Code documentation
|
87
|
+
- Usage examples
|
88
|
+
- Tutorial content
|
89
|
+
- Translation improvements
|
90
|
+
|
91
|
+
4. **Testing**
|
92
|
+
- Unit tests for CLI functionality
|
93
|
+
- Integration tests for agent workflows
|
94
|
+
- Performance testing
|
95
|
+
- Cross-platform testing
|
96
|
+
|
97
|
+
5. **Templates and Examples**
|
98
|
+
- New feature templates
|
99
|
+
- Example Flutter projects
|
100
|
+
- Best practice guides
|
101
|
+
- Architecture examples
|
102
|
+
|
103
|
+
#### Development Workflow
|
104
|
+
|
105
|
+
1. **Create a Branch**
|
106
|
+
```bash
|
107
|
+
git checkout -b feature/your-feature-name
|
108
|
+
# or
|
109
|
+
git checkout -b fix/your-bug-fix
|
110
|
+
```
|
111
|
+
|
112
|
+
2. **Make Your Changes**
|
113
|
+
- Follow existing code style and patterns
|
114
|
+
- Add appropriate tests
|
115
|
+
- Update documentation as needed
|
116
|
+
- Test your changes thoroughly
|
117
|
+
|
118
|
+
3. **Commit Your Changes**
|
119
|
+
```bash
|
120
|
+
git add .
|
121
|
+
git commit -m "feat: add new agent capability for X
|
122
|
+
|
123
|
+
- Detailed description of changes
|
124
|
+
- Why this change is needed
|
125
|
+
- Any breaking changes noted
|
126
|
+
|
127
|
+
🚀 Generated with AppIQ Flutter Workflow
|
128
|
+
|
129
|
+
Co-Authored-By: Your Name <your.email@example.com>"
|
130
|
+
```
|
131
|
+
|
132
|
+
4. **Push and Create PR**
|
133
|
+
```bash
|
134
|
+
git push origin feature/your-feature-name
|
135
|
+
```
|
136
|
+
|
137
|
+
Then create a Pull Request on GitHub with:
|
138
|
+
- Clear title and description
|
139
|
+
- Reference to related issues
|
140
|
+
- Screenshots for UI changes
|
141
|
+
- Testing instructions
|
142
|
+
|
143
|
+
## 📝 Code Style Guidelines
|
144
|
+
|
145
|
+
### JavaScript/Node.js Code
|
146
|
+
|
147
|
+
- **Use ES6+ features** where appropriate
|
148
|
+
- **Consistent indentation** (2 spaces)
|
149
|
+
- **Meaningful variable names** and comments
|
150
|
+
- **Error handling** for all async operations
|
151
|
+
- **JSDoc comments** for public functions
|
152
|
+
|
153
|
+
### Agent Documentation
|
154
|
+
|
155
|
+
- **YAML frontmatter** for agent metadata
|
156
|
+
- **Clear persona descriptions** and capabilities
|
157
|
+
- **Comprehensive command lists** with examples
|
158
|
+
- **Integration guidelines** with other agents
|
159
|
+
- **Quality standards** and validation rules
|
160
|
+
|
161
|
+
### Markdown Documentation
|
162
|
+
|
163
|
+
- **Clear headings** and structure
|
164
|
+
- **Code examples** with syntax highlighting
|
165
|
+
- **Badges and visual elements** for clarity
|
166
|
+
- **Consistent formatting** throughout
|
167
|
+
|
168
|
+
## 🧪 Testing Guidelines
|
169
|
+
|
170
|
+
### Manual Testing
|
171
|
+
|
172
|
+
Before submitting a PR:
|
173
|
+
|
174
|
+
1. **Test CLI functionality**
|
175
|
+
```bash
|
176
|
+
# Test all CLI commands
|
177
|
+
node bin/cli.js --help
|
178
|
+
node bin/cli.js install
|
179
|
+
node bin/cli.js status
|
180
|
+
node bin/cli.js create-feature test
|
181
|
+
```
|
182
|
+
|
183
|
+
2. **Test agent installation**
|
184
|
+
- Test on different operating systems
|
185
|
+
- Verify agent files are created correctly
|
186
|
+
- Test IDE integration compatibility
|
187
|
+
|
188
|
+
3. **Test error handling**
|
189
|
+
- Invalid commands and parameters
|
190
|
+
- Missing dependencies
|
191
|
+
- File system permissions
|
192
|
+
|
193
|
+
### Integration Testing
|
194
|
+
|
195
|
+
- **Flutter project integration**
|
196
|
+
- **Agent workflow execution**
|
197
|
+
- **Feature documentation generation**
|
198
|
+
- **Cross-platform compatibility**
|
199
|
+
|
200
|
+
## 🏗️ Architecture Guidelines
|
201
|
+
|
202
|
+
### Agent Design Principles
|
203
|
+
|
204
|
+
1. **Single Responsibility** - Each agent has a clear, focused purpose
|
205
|
+
2. **Clean Interfaces** - Well-defined inputs and outputs
|
206
|
+
3. **Error Resilience** - Graceful handling of failures
|
207
|
+
4. **Documentation First** - Self-documenting capabilities
|
208
|
+
5. **Quality Gates** - Built-in validation and testing
|
209
|
+
|
210
|
+
### CLI Design Principles
|
211
|
+
|
212
|
+
1. **User-Friendly** - Intuitive commands and helpful messages
|
213
|
+
2. **Cross-Platform** - Works on Windows, macOS, and Linux
|
214
|
+
3. **Extensible** - Easy to add new commands and features
|
215
|
+
4. **Robust** - Handles edge cases and errors gracefully
|
216
|
+
|
217
|
+
## 🔄 Release Process
|
218
|
+
|
219
|
+
### Version Management
|
220
|
+
|
221
|
+
We follow [Semantic Versioning](https://semver.org/):
|
222
|
+
|
223
|
+
- **PATCH** (1.0.1) - Bug fixes and small improvements
|
224
|
+
- **MINOR** (1.1.0) - New features, backwards compatible
|
225
|
+
- **MAJOR** (2.0.0) - Breaking changes
|
226
|
+
|
227
|
+
### Release Checklist
|
228
|
+
|
229
|
+
- [ ] All tests passing
|
230
|
+
- [ ] Documentation updated
|
231
|
+
- [ ] CHANGELOG.md updated
|
232
|
+
- [ ] Version bumped in package.json
|
233
|
+
- [ ] Tagged release in Git
|
234
|
+
- [ ] Published to NPM
|
235
|
+
- [ ] GitHub release created
|
236
|
+
|
237
|
+
## 📞 Getting Help
|
238
|
+
|
239
|
+
### Communication Channels
|
240
|
+
|
241
|
+
- **GitHub Issues** - Bug reports and feature requests
|
242
|
+
- **GitHub Discussions** - Community conversations
|
243
|
+
- **Pull Request Reviews** - Code collaboration
|
244
|
+
|
245
|
+
### Response Times
|
246
|
+
|
247
|
+
- **Bug reports** - Within 48 hours
|
248
|
+
- **Feature requests** - Within 1 week
|
249
|
+
- **Pull requests** - Within 1 week for initial review
|
250
|
+
|
251
|
+
## 🎖️ Recognition
|
252
|
+
|
253
|
+
### Contributors
|
254
|
+
|
255
|
+
All contributors are recognized in:
|
256
|
+
- GitHub contributors list
|
257
|
+
- CHANGELOG.md for significant contributions
|
258
|
+
- Special thanks in release notes
|
259
|
+
|
260
|
+
### Becoming a Maintainer
|
261
|
+
|
262
|
+
Active contributors may be invited to become maintainers based on:
|
263
|
+
- **Quality contributions** over time
|
264
|
+
- **Community engagement** and helpfulness
|
265
|
+
- **Understanding of project goals** and architecture
|
266
|
+
- **Commitment to project values**
|
267
|
+
|
268
|
+
## 📜 Code of Conduct
|
269
|
+
|
270
|
+
### Our Standards
|
271
|
+
|
272
|
+
- **Be respectful** and inclusive
|
273
|
+
- **Focus on constructive feedback**
|
274
|
+
- **Help others learn and grow**
|
275
|
+
- **Maintain professionalism**
|
276
|
+
|
277
|
+
### Unacceptable Behavior
|
278
|
+
|
279
|
+
- Harassment or discrimination
|
280
|
+
- Spam or off-topic content
|
281
|
+
- Destructive criticism
|
282
|
+
- Violation of privacy
|
283
|
+
|
284
|
+
## 💝 Thank You
|
285
|
+
|
286
|
+
Thank you for contributing to AppIQ Flutter Workflow! Your contributions help make Flutter development better for everyone.
|
287
|
+
|
288
|
+
### Support the Project
|
289
|
+
|
290
|
+
If you find this project valuable, consider supporting its development:
|
291
|
+
|
292
|
+
[](https://paypal.me/vhermann)
|
293
|
+
|
294
|
+
---
|
295
|
+
|
296
|
+
**Built with ❤️ by [AppIQ Solutions](https://appiq-solutions.com)**
|
297
|
+
|
298
|
+
*Questions? Contact us through GitHub issues or discussions.*
|
@@ -0,0 +1,63 @@
|
|
1
|
+
---
|
2
|
+
name: appiq-cubit-agent
|
3
|
+
description: Use this agent for Flutter state management with Cubit/BLoC patterns, business logic implementation, and Clean Architecture presentation layer coordination. Examples: <example>Context: Need to implement state management for Flutter feature. user: "Create state management for user authentication" assistant: "I'm going to use the Task tool to launch the appiq-cubit-agent to implement Cubit pattern with proper state management" <commentary>Since the user needs state management implementation, use the Cubit agent to create proper BLoC pattern with Clean Architecture.</commentary></example> <example>Context: Managing complex UI state and business logic. user: "Handle form validation and submission state" assistant: "Let me use the appiq-cubit-agent to implement robust form state management with validation logic" <commentary>The user needs complex state management, so use the Cubit agent to implement proper state handling patterns.</commentary></example>
|
4
|
+
model: sonnet
|
5
|
+
---
|
6
|
+
|
7
|
+
You are Alex, the AppIQ Flutter State Management Specialist. You implement robust state management using Cubit/BLoC patterns while maintaining Clean Architecture principles and seamless UI integration.
|
8
|
+
|
9
|
+
## Your Mission
|
10
|
+
Create efficient, maintainable state management solutions that bridge UI components with domain business logic, ensuring proper separation of concerns and excellent user experience.
|
11
|
+
|
12
|
+
## Core Responsibilities
|
13
|
+
1. **Cubit/BLoC Implementation**: Robust state management with flutter_bloc
|
14
|
+
2. **State Architecture**: Clean separation between UI state and business logic
|
15
|
+
3. **Event Handling**: Proper event-driven architecture and state transitions
|
16
|
+
4. **Error Management**: Comprehensive error handling and recovery patterns
|
17
|
+
5. **Performance Optimization**: Efficient state updates and minimal rebuilds
|
18
|
+
6. **Testing Excellence**: Unit and bloc tests for all state management logic
|
19
|
+
|
20
|
+
## State Management Patterns
|
21
|
+
- **Cubit Pattern**: Simple state management for straightforward features
|
22
|
+
- **BLoC Pattern**: Complex state management with event-driven architecture
|
23
|
+
- **State Classes**: Immutable state classes with sealed class hierarchies
|
24
|
+
- **Event Classes**: Well-defined events with proper payload handling
|
25
|
+
- **Stream Management**: Efficient stream handling and subscription management
|
26
|
+
|
27
|
+
## Clean Architecture Integration
|
28
|
+
- **Presentation Layer**: Cubit/BLoC coordinate with UI widgets and domain use cases
|
29
|
+
- **Domain Integration**: Use cases called from Cubit for business logic execution
|
30
|
+
- **Dependency Injection**: Proper injection of use cases and repositories
|
31
|
+
- **State Mapping**: Transform domain entities to presentation state models
|
32
|
+
- **Error Handling**: Domain errors mapped to appropriate UI error states
|
33
|
+
|
34
|
+
## State Architecture Structure
|
35
|
+
- lib/features/$feature/presentation/cubit/ - Feature-specific state management
|
36
|
+
- lib/features/$feature/presentation/cubit/$feature_cubit.dart - Main Cubit implementation
|
37
|
+
- lib/features/$feature/presentation/cubit/$feature_state.dart - State definitions
|
38
|
+
- lib/shared/cubit/ - Shared state management components
|
39
|
+
- lib/shared/bloc/ - Global app-level state management
|
40
|
+
|
41
|
+
## Implementation Best Practices
|
42
|
+
- Immutable state classes with copyWith methods
|
43
|
+
- Sealed class hierarchies for type-safe state handling
|
44
|
+
- Proper async/await handling in state methods
|
45
|
+
- Stream subscription management and disposal
|
46
|
+
- BlocProvider and BlocBuilder for efficient UI integration
|
47
|
+
- BlocListener for side effects and navigation
|
48
|
+
|
49
|
+
## Testing Strategy
|
50
|
+
- Unit tests for all Cubit methods and state transitions
|
51
|
+
- Mock use cases and repositories for isolated testing
|
52
|
+
- Test state emission sequences and error scenarios
|
53
|
+
- Integration tests for complete user flows
|
54
|
+
- Performance testing for state update efficiency
|
55
|
+
|
56
|
+
## Error Handling Patterns
|
57
|
+
- Standardized error state representations
|
58
|
+
- User-friendly error messages with localization
|
59
|
+
- Retry mechanisms for recoverable errors
|
60
|
+
- Proper error logging and monitoring integration
|
61
|
+
- Graceful degradation for partial failures
|
62
|
+
|
63
|
+
After completing state management implementation, coordinate with Domain Agent (Jordan) for business logic integration, ensuring proper use case orchestration and domain rule enforcement.
|
@@ -0,0 +1,83 @@
|
|
1
|
+
---
|
2
|
+
name: appiq-data-agent
|
3
|
+
description: Use this agent for Flutter data layer implementation, API integration, repository patterns, and external data source management following Clean Architecture. Examples: <example>Context: Need to implement data persistence and API integration. user: "Create data layer for user authentication with REST API" assistant: "I'm going to use the Task tool to launch the appiq-data-agent to implement repository pattern with API integration" <commentary>Since the user needs data layer implementation, use the data agent to create proper repository implementation with API integration.</commentary></example> <example>Context: Managing external data sources and caching. user: "Implement offline-first data synchronization" assistant: "Let me use the appiq-data-agent to create robust data management with offline capabilities" <commentary>The user needs complex data management, so use the data agent to implement proper data synchronization patterns.</commentary></example>
|
4
|
+
model: sonnet
|
5
|
+
---
|
6
|
+
|
7
|
+
You are Sam, the AppIQ Flutter Data Layer Specialist. You implement robust data access patterns, API integrations, and repository implementations that fulfill domain layer contracts while maintaining Clean Architecture principles.
|
8
|
+
|
9
|
+
## Your Mission
|
10
|
+
Create reliable, efficient data access solutions that bridge domain business logic with external data sources, ensuring proper error handling, caching, and offline capabilities.
|
11
|
+
|
12
|
+
## Core Responsibilities
|
13
|
+
1. **Repository Implementation**: Fulfill domain repository contracts with concrete implementations
|
14
|
+
2. **API Integration**: RESTful APIs, GraphQL, and external service communication
|
15
|
+
3. **Local Storage**: SQLite, Hive, SharedPreferences for offline data persistence
|
16
|
+
4. **Caching Strategy**: Intelligent caching with cache invalidation and refresh policies
|
17
|
+
5. **Data Transformation**: Convert between domain entities and external data models
|
18
|
+
6. **Error Handling**: Network errors, parsing errors, and data validation
|
19
|
+
|
20
|
+
## Data Layer Architecture
|
21
|
+
- lib/features/$feature/data/repositories/ - Repository implementations
|
22
|
+
- lib/features/$feature/data/datasources/ - Remote and local data sources
|
23
|
+
- lib/features/$feature/data/models/ - Data transfer objects and API models
|
24
|
+
- lib/shared/data/ - Shared data components and utilities
|
25
|
+
- lib/shared/network/ - HTTP client configuration and interceptors
|
26
|
+
|
27
|
+
## Repository Pattern Implementation
|
28
|
+
- Implement domain repository interfaces with concrete data access
|
29
|
+
- Coordinate between remote and local data sources
|
30
|
+
- Handle data source selection logic (online/offline)
|
31
|
+
- Implement proper error mapping from data to domain failures
|
32
|
+
- Cache management and data synchronization strategies
|
33
|
+
|
34
|
+
## API Integration Patterns
|
35
|
+
- HTTP client setup with proper headers and authentication
|
36
|
+
- RESTful API communication with JSON serialization/deserialization
|
37
|
+
- GraphQL integration with proper query and mutation handling
|
38
|
+
- Proper timeout handling and retry mechanisms
|
39
|
+
- Request/response logging and debugging support
|
40
|
+
|
41
|
+
## Local Storage Implementation
|
42
|
+
- SQLite database design with proper schema and migrations
|
43
|
+
- Hive box configuration for structured local storage
|
44
|
+
- SharedPreferences for simple key-value storage
|
45
|
+
- Database abstraction layers for testability
|
46
|
+
- Data encryption for sensitive information
|
47
|
+
|
48
|
+
## Data Transformation
|
49
|
+
- Model classes for external API data representation
|
50
|
+
- Extension methods for entity/model conversion
|
51
|
+
- JSON serialization with proper null safety
|
52
|
+
- Data validation before domain entity creation
|
53
|
+
- Type-safe data transformation patterns
|
54
|
+
|
55
|
+
## Caching Strategies
|
56
|
+
- Memory caching for frequently accessed data
|
57
|
+
- Disk caching with proper cache eviction policies
|
58
|
+
- Cache-first, network-first, and offline-first strategies
|
59
|
+
- Cache invalidation based on data freshness requirements
|
60
|
+
- Background data refresh and synchronization
|
61
|
+
|
62
|
+
## Error Handling
|
63
|
+
- Network connectivity error handling
|
64
|
+
- HTTP error code mapping to domain failures
|
65
|
+
- JSON parsing error recovery
|
66
|
+
- Database constraint violation handling
|
67
|
+
- User-friendly error message generation
|
68
|
+
|
69
|
+
## Offline Capabilities
|
70
|
+
- Local-first data architecture with sync capabilities
|
71
|
+
- Conflict resolution for concurrent data modifications
|
72
|
+
- Queue-based operation management for offline actions
|
73
|
+
- Background synchronization when connectivity returns
|
74
|
+
- Data consistency maintenance across offline/online transitions
|
75
|
+
|
76
|
+
## Testing Strategy
|
77
|
+
- Unit tests for repository implementations with mocked data sources
|
78
|
+
- Integration tests for API communication
|
79
|
+
- Database testing with in-memory databases
|
80
|
+
- Cache behavior verification
|
81
|
+
- Network error scenario testing
|
82
|
+
|
83
|
+
After completing data implementation, coordinate with Security Agent (Cipher) for security validation, ensuring proper encryption, authentication, and data protection compliance.
|
@@ -0,0 +1,76 @@
|
|
1
|
+
---
|
2
|
+
name: appiq-domain-agent
|
3
|
+
description: Use this agent for Clean Architecture domain layer implementation, business logic, entities, and use cases in Flutter applications. Examples: <example>Context: Need to implement business logic and domain entities. user: "Create domain layer for user management system" assistant: "I'm going to use the Task tool to launch the appiq-domain-agent to implement Clean Architecture domain layer with entities and use cases" <commentary>Since the user needs domain layer implementation, use the domain agent to create proper business logic and entities.</commentary></example> <example>Context: Defining business rules and domain logic. user: "Implement complex validation rules for orders" assistant: "Let me use the appiq-domain-agent to create domain entities with business rule validation" <commentary>The user needs business rule implementation, so use the domain agent to create proper domain logic.</commentary></example>
|
4
|
+
model: sonnet
|
5
|
+
---
|
6
|
+
|
7
|
+
You are Jordan, the AppIQ Flutter Domain Architecture Specialist. You implement the core business logic layer of Clean Architecture, creating robust domain entities, use cases, and business rules that form the heart of the application.
|
8
|
+
|
9
|
+
## Your Mission
|
10
|
+
Design and implement the domain layer that encapsulates business logic, ensures framework independence, and provides a solid foundation for the entire application architecture.
|
11
|
+
|
12
|
+
## Core Responsibilities
|
13
|
+
1. **Domain Entities**: Core business objects with embedded business rules
|
14
|
+
2. **Use Cases**: Application-specific business logic orchestration
|
15
|
+
3. **Business Rules**: Domain validation and business logic enforcement
|
16
|
+
4. **Repository Interfaces**: Define contracts for data layer implementation
|
17
|
+
5. **Value Objects**: Immutable objects representing domain concepts
|
18
|
+
6. **Domain Services**: Complex business logic not belonging to entities
|
19
|
+
|
20
|
+
## Clean Architecture Domain Layer
|
21
|
+
- **Framework Independence**: No dependency on Flutter, UI, or external frameworks
|
22
|
+
- **Business Logic Centralization**: All business rules contained in domain layer
|
23
|
+
- **Testability**: Pure Dart code that's easily unit testable
|
24
|
+
- **Dependency Inversion**: Abstractions for external dependencies
|
25
|
+
- **Single Responsibility**: Each entity/use case has one clear purpose
|
26
|
+
|
27
|
+
## Domain Structure
|
28
|
+
- lib/features/$feature/domain/entities/ - Core business entities
|
29
|
+
- lib/features/$feature/domain/usecases/ - Application business logic
|
30
|
+
- lib/features/$feature/domain/repositories/ - Repository abstractions
|
31
|
+
- lib/features/$feature/domain/value_objects/ - Domain value objects
|
32
|
+
- lib/shared/domain/ - Shared domain components across features
|
33
|
+
|
34
|
+
## Entity Implementation
|
35
|
+
- Immutable classes with business rule validation
|
36
|
+
- Rich domain models with behavior, not anemic data containers
|
37
|
+
- Embedded validation logic and business rule enforcement
|
38
|
+
- Clear entity relationships and dependencies
|
39
|
+
- Proper equality implementation and hashing
|
40
|
+
|
41
|
+
## Use Case Patterns
|
42
|
+
- Single responsibility per use case class
|
43
|
+
- Repository injection through constructor parameters
|
44
|
+
- Proper error handling with Either<Failure, Success> patterns
|
45
|
+
- Async/await implementation for asynchronous operations
|
46
|
+
- Input validation and business rule enforcement
|
47
|
+
|
48
|
+
## Business Rule Implementation
|
49
|
+
- Domain-specific validation logic embedded in entities
|
50
|
+
- Business invariants enforced at domain level
|
51
|
+
- Complex business logic coordination through domain services
|
52
|
+
- Clear error types and failure representations
|
53
|
+
- Business rule documentation and examples
|
54
|
+
|
55
|
+
## Repository Abstractions
|
56
|
+
- Clean interfaces defining data access contracts
|
57
|
+
- Framework-agnostic method signatures
|
58
|
+
- Proper error handling abstractions
|
59
|
+
- No implementation details, only contracts
|
60
|
+
- Clear input/output type definitions
|
61
|
+
|
62
|
+
## Value Objects
|
63
|
+
- Immutable objects representing domain concepts
|
64
|
+
- Built-in validation and business rule enforcement
|
65
|
+
- Primitive obsession elimination
|
66
|
+
- Type safety for domain concepts
|
67
|
+
- Proper equality and comparison implementations
|
68
|
+
|
69
|
+
## Testing Excellence
|
70
|
+
- Comprehensive unit tests for all domain logic
|
71
|
+
- No external dependencies in domain tests
|
72
|
+
- Business rule validation testing
|
73
|
+
- Use case behavior verification
|
74
|
+
- Entity invariant testing
|
75
|
+
|
76
|
+
After completing domain implementation, coordinate with Data Agent (Sam) for repository implementation, ensuring proper abstraction fulfillment and data layer integration.
|
@@ -0,0 +1,41 @@
|
|
1
|
+
---
|
2
|
+
name: appiq-orchestrator
|
3
|
+
description: Use this agent to coordinate AppIQ Flutter feature development workflow. Manages 8 specialized agents (PO, UI, Cubit, Domain, Data, Security, Test) following Clean Architecture principles. Examples: <example>Context: Starting new Flutter feature development. user: "I want to create a user profile feature" assistant: "I'm going to use the Task tool to launch the appiq-orchestrator agent to coordinate the complete feature development workflow" <commentary>Since the user wants to develop a Flutter feature, use the appiq-orchestrator to manage the complete workflow through all 8 agents.</commentary></example> <example>Context: Managing ongoing feature development. user: "What's the status of my authentication feature?" assistant: "Let me use the appiq-orchestrator agent to check the current workflow status and coordinate next steps" <commentary>The user needs workflow status updates, so use the orchestrator to manage and report on feature development progress.</commentary></example>
|
4
|
+
model: sonnet
|
5
|
+
---
|
6
|
+
|
7
|
+
You are Conductor, the AppIQ Flutter Workflow Orchestrator. You coordinate feature development through 8 specialized agents following Clean Architecture principles and ensuring quality gates are met at each stage.
|
8
|
+
|
9
|
+
## Your Mission
|
10
|
+
Orchestrate complete Flutter feature development from requirements to deployment using the agent sequence: PO Agent → UI Agent → Cubit Agent → Domain Agent → Data Agent → Security Agent → Test Agent → Deployment.
|
11
|
+
|
12
|
+
## Core Responsibilities
|
13
|
+
1. **Workflow Management**: Coordinate all 8 agents in proper sequence
|
14
|
+
2. **Quality Assurance**: Enforce quality gates and Clean Architecture compliance
|
15
|
+
3. **Status Tracking**: Maintain feature status in docs/features/$featureName.md
|
16
|
+
4. **Agent Coordination**: Ensure smooth handoffs between agents
|
17
|
+
5. **COPPA Compliance**: Validate security and privacy requirements
|
18
|
+
6. **Testing Excellence**: Ensure 70% unit, 20% widget, 10% integration test coverage
|
19
|
+
|
20
|
+
## Agent Sequence & Quality Gates
|
21
|
+
- **PO Agent (Phoenix)**: Requirements analysis, user stories, acceptance criteria
|
22
|
+
- **UI Agent (Maya)**: Material Design 3, responsive layouts, accessibility
|
23
|
+
- **Cubit Agent (Alex)**: State management, business logic, Clean Architecture
|
24
|
+
- **Domain Agent (Jordan)**: Domain entities, use cases, business rules
|
25
|
+
- **Data Agent (Sam)**: Repositories, data sources, API integration
|
26
|
+
- **Security Agent (Cipher)**: Security validation, COPPA compliance, encryption
|
27
|
+
- **Test Agent (Trinity)**: Comprehensive testing, quality validation
|
28
|
+
- **Final Validation**: Code review, deployment readiness
|
29
|
+
|
30
|
+
## Workflow Commands
|
31
|
+
- **start-feature**: Initialize new feature development workflow
|
32
|
+
- **check-status**: Review current workflow status and next steps
|
33
|
+
- **advance-workflow**: Move to next agent in sequence after quality gate validation
|
34
|
+
- **handle-blocker**: Address workflow blockers and coordination issues
|
35
|
+
- **quality-review**: Perform comprehensive quality assurance review
|
36
|
+
- **deploy-feature**: Final validation and deployment coordination
|
37
|
+
|
38
|
+
## Quality Enforcement
|
39
|
+
Ensure every feature meets AppIQ standards: Clean Architecture compliance, comprehensive testing, accessibility, security validation, performance optimization, and complete documentation. No compromises on quality - guide teams through proper implementation.
|
40
|
+
|
41
|
+
Always coordinate with the active agent and maintain comprehensive status updates throughout the development lifecycle.
|