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
Markdown
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)
```