UNPKG

prprompts-flutter-generator

Version:

AI-powered Flutter development with full automation + official extension support - Generate 32 security-audited guides & auto-implement in 2-3 hours. NEW v5.1: Official Claude Code plugin with hooks, Gemini TOML commands, Qwen MCP settings. Features: Comp

323 lines (254 loc) 8.95 kB
--- name: Generate PRD description: Generate complete Product Requirements Document with YAML frontmatter author: PRD Generator version: 1.1.0 tags: [prd, requirements, documentation, flutter, templates] --- # Generate Product Requirements Document ## Overview Generate a comprehensive Product Requirements Document (PRD) for a Flutter application. The PRD includes structured YAML frontmatter followed by detailed product specifications. ## Instructions ### Step 0: Template Selection (NEW in v4.1) **FIRST**, ask the user if they want to start from an industry template: ``` 🚀 PRD Generation - Starting Point Would you like to start from an industry template? Templates include pre-configured compliance, features, and best practices for specific domains. Available templates: 1. Healthcare - HIPAA-compliant, PHI encryption, patient portal features 2. Fintech - PCI-DSS compliant, payment security, never store card numbers 3. Education - COPPA/FERPA compliant, parental consent, student data protection 4. E-commerce - PCI-DSS + Stripe, shopping cart, product catalog, secure checkout 5. Logistics - GPS tracking, route optimization, offline-first, proof of delivery 6. SaaS/B2B - Multi-tenancy, enterprise SSO, subscription billing, audit logs 7. Generic - Start from scratch, fully customized Selection (1-7): ``` **IF user selects 1-6:** Load the corresponding template from `templates/prd-{type}-starter.md`: - `prd-healthcare-starter.md` (1) - `prd-fintech-starter.md` (2) - `prd-education-starter.md` (3) - `prd-ecommerce-starter.md` (4) - `prd-logistics-starter.md` (5) - `prd-saas-starter.md` (6) **Template Loading Process:** 1. Read the selected template file 2. Parse its YAML frontmatter (extract all key-value pairs) 3. Use template values as **defaults** for Step 1 questions 4. Display: `✅ Loaded [Type] template with pre-configured [compliance list]` 5. Proceed to Step 1 with defaults populated **IF user selects 7 (Generic):** Proceed to Step 1 with no defaults. **Template Customization:** After loading a template, user can still customize: - Project name (always required) - Add/remove features - Adjust team composition - Modify timelines - Add additional compliance requirements ### Step 1: Gather Information Ask the user these questions (or infer from their description). **IMPORTANT:** If a template was loaded in Step 0, show the template's default value in [brackets] and allow user to press Enter to keep it or type a new value. Example: ``` Project Name: [default from template if loaded] Project Type: healthcare [from template - press Enter to keep] Compliance: ["hipaa", "gdpr"] [from template - press Enter to keep or modify] ``` 1. **Project Name**: What's the app called? 2. **Project Type**: What category? - healthcare (patient apps, telemedicine, medical records) - fintech (payments, banking, investments) - education (learning platforms, student management) - logistics (delivery, tracking, fleet management) - ecommerce (shopping, marketplace) - saas (business tools, productivity) - generic (other) 3. **Compliance Requirements**: Any regulatory requirements? - HIPAA (US healthcare data) - PCI-DSS (payment card data) - GDPR (EU user data) - SOX (financial reporting) - COPPA (children under 13) - FERPA (education records) - FDA (medical devices) - None 4. **Platforms**: Which platforms? - iOS, Android, Web, Windows, macOS, Linux 5. **Authentication**: How do users sign in? - JWT (JSON Web Tokens) - OAuth2 (OAuth 2.0 / OpenID Connect) - Firebase Authentication - Auth0 - Custom solution 6. **Architecture**: - Offline support needed? (Yes/No) - Real-time updates needed? (Yes/No) 7. **Sensitive Data**: What sensitive data is handled? - PHI (Protected Health Information) - PII (Personally Identifiable Information) - Payment data (credit cards) - Financial data - Biometric data - None 8. **Team**: - Team size? (small: 1-5, medium: 6-15, large: 16+) - How many junior developers? 9. **Demo**: How often will you demo to stakeholders? - None, Weekly, Biweekly, Monthly 10. **Features**: List 3-7 main features ### Step 2: Generate YAML Frontmatter Create frontmatter with these exact keys: ```yaml --- # PROJECT METADATA project_name: "AppName" project_version: "1.0.0" created_date: "YYYY-MM-DD" last_updated: "YYYY-MM-DD" # CLASSIFICATION project_type: "healthcare" # healthcare|fintech|education|logistics|ecommerce|saas|generic compliance: ["hipaa", "gdpr"] # [] if none platforms: ["ios", "android", "web"] # AUTHENTICATION & SECURITY auth_method: "jwt" # jwt|oauth2|firebase|auth0|custom jwt_config: # Only if auth_method is jwt algorithm: "RS256" # RS256|RS384|RS512|ES256 access_token_expiry: "15m" refresh_token_expiry: "7d" validate_claims: ["aud", "iss", "exp", "sub"] sensitive_data: ["phi", "pii"] # phi|pii|payment|financial|biometric|[] encryption_requirements: at_rest: "AES-256-GCM" in_transit: "TLS-1.3" e2e_required: true # For messaging features # ARCHITECTURE offline_support: true real_time: true state_management: "bloc" # bloc|riverpod|provider|getx architecture_style: "clean_architecture" backend_type: "rest" # rest|graphql|grpc|firebase # FEATURES features: - name: "User Authentication" complexity: "medium" # low|medium|high|critical requires: ["biometric_auth", "mfa"] - name: "Dashboard" complexity: "medium" requires: ["real_time_updates", "data_visualization"] # TEAM team_size: "large" # small|medium|large team_composition: mobile: size: 8 junior: 2 mid: 4 senior: 2 backend: size: 5 tech_stack: ["node.js", "postgresql", "redis"] qa: size: 3 specializations: ["automation", "security", "performance"] design: size: 2 security: size: 1 role: "consultant" # full-time|consultant|part-time # PERFORMANCE & QUALITY performance_targets: cold_start_time: "2s" frame_rate: "60fps" api_response_time: "500ms" testing_requirements: unit_test_coverage: 85 widget_test_coverage: 75 integration_tests_required: true # DEPLOYMENT demo_frequency: "weekly" # none|weekly|biweekly|monthly demo_requirements: environment: "dedicated" entry_point: "lib/main_demo.dart" auth_protection: "basic_auth" synthetic_data: true # BUSINESS business_context: timeline: "9 months" mvp_timeline: "4 months" target_users: 50000 # CUSTOMIZATION prprompts_config: generate_all_files: true verbosity: "detailed" include_junior_explanations: true auto_generate_subagents: true --- ``` ### Step 3: Generate Document Body After the YAML frontmatter (closing with `---`), generate these sections: #### Section 1: Executive Summary 2-3 paragraphs covering: - What the app does - Target users - Core value proposition - Key differentiators #### Section 2: Product Vision - Problem being solved - Long-term vision (3-5 years) - Success metrics #### Section 3: Target Users **Primary Users:** - Persona 1: [Name, role, needs, pain points] - Persona 2: [Name, role, needs, pain points] **Secondary Users:** - Persona 3: [Name, role, needs] #### Section 4: Core Features (Detailed) For each feature from frontmatter: **4.X [Feature Name]** **Description:** [2-3 sentences] **User Stories:** - As a [user type], I want to [action] so that [benefit] - As a [user type], I want to [action] so that [benefit] **Acceptance Criteria:** - [ ] Criterion 1 - [ ] Criterion 2 - [ ] Criterion 3 **Technical Requirements:** - Requirement 1 - Requirement 2 **Compliance Considerations:** (if applicable) - [Specific compliance rules for this feature] [Continue with remaining sections: Non-Functional Requirements, Compliance, User Flows, Data Model, API Specifications, Design, Technical Architecture, Testing, Deployment, Timeline, Risks, Success Metrics, and Appendices] ## Output File Save to: `docs/PRD.md` ## Validation After generating, verify: - [ ] YAML frontmatter is valid (test at yamllint.com) - [ ] All required keys present in frontmatter - [ ] Compliance sections match frontmatter - [ ] Features are detailed with user stories - [ ] Technical architecture matches project needs - [ ] Timeline is realistic - [ ] Success metrics are measurable ## Next Steps Message After generating PRD, tell user: ``` Generated PRD at docs/PRD.md Your PRD includes: - Project Type: [type] - Compliance: [list] - Platforms: [list] - Features: [count] - Timeline: [duration] Next steps: 1. Review: cat docs/PRD.md 2. Customize: vim docs/PRD.md 3. Analyze: claude analyze-prd 4. Refine: claude refine-prd (NEW - interactive quality improvement) 5. Generate PRPROMPTS: claude gen-prprompts PRD Highlights: - [Key customization 1 based on project] - [Key customization 2 based on compliance] - [Key customization 3 based on team] Ready to generate PRPROMPTS? (y/n) ```