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

317 lines (242 loc) 8.6 kB
--- name: Auto Generate PRD description: Generate complete PRD from project description file (no questions) author: PRD Auto-Generator version: 1.0.0 tags: [prd, automation, ai-generation] --- # Auto-Generate PRD from Project Description ## Overview Automatically generate a complete Product Requirements Document from a simple project description file. No user interaction required - full AI inference. ## Input File Detection Look for description files in this order: 1. File specified by user: `--file path/to/description.md` 2. `project_description.md` (root directory) 3. `docs/project_description.md` 4. `PROJECT_DESCRIPTION.md` 5. `README.md` (if contains project description) ## Inference Rules ### Step 1: Read Description File Extract: - App name and purpose - Target users - Key features (3-10) - Special requirements (compliance, offline, etc.) ### Step 2: Infer Project Type **Keywords → Type:** - "patient", "doctor", "medical", "health", "HIPAA", "telemedicine" → **healthcare** - "payment", "bank", "transaction", "credit card", "financial", "PCI" → **fintech** - "student", "teacher", "course", "learning", "education", "FERPA" → **education** - "delivery", "tracking", "shipping", "logistics", "fleet" → **logistics** - "shopping", "cart", "checkout", "ecommerce", "marketplace" → **ecommerce** - "business", "workflow", "productivity", "SaaS", "enterprise" → **saas** - None of above → **generic** ### Step 3: Infer Compliance Requirements **Keywords → Compliance:** - "HIPAA", "PHI", "protected health information" → Add "hipaa" - "PCI-DSS", "PCI", "credit card", "payment card" → Add "pci-dss" - "GDPR", "European", "EU users", "data protection" → Add "gdpr" - "SOX", "Sarbanes-Oxley" → Add "sox" - "COPPA", "children under 13", "parental consent" → Add "coppa" - "FERPA", "student records" → Add "ferpa" - "FDA", "medical device" → Add "fda" ### Step 4: Infer Platforms **Default:** ["ios", "android"] (if not mentioned) **Keywords → Platforms:** - "iOS", "iPhone", "iPad" → Add "ios" - "Android", "Play Store" → Add "android" - "web", "website", "browser" → Add "web" - "desktop", "Windows", "macOS" → Add respective platform ### Step 5: Infer Authentication Method **Keywords → Auth Method:** - "JWT", "JSON Web Token" → **jwt** - "OAuth", "OAuth2", "social login" → **oauth2** - "Firebase Auth", "Google sign-in" → **firebase** - "Auth0", "Okta" → **auth0** **Default:** "jwt" ### Step 6: Infer Offline Support **Keywords → offline_support: true:** - "offline", "work without internet", "rural areas" - "sync", "background sync", "local storage" - "airplane mode", "poor network" **Default:** false ### Step 7: Infer Real-Time Requirements **Keywords → real_time: true:** - "real-time", "live", "instant", "WebSocket" - "chat", "messaging", "notifications" - "live updates", "streaming", "collaborative" **Default:** false ### Step 8: Infer Sensitive Data **Keywords → Sensitive Data:** - "medical records", "health data", "diagnosis" → Add "phi" - "personal information", "PII", "name", "email" → Add "pii" - "credit card", "payment", "bank account" → Add "payment" - "financial data", "balance", "transaction" → Add "financial" - "biometric", "fingerprint", "Face ID" → Add "biometric" ### Step 9: Infer Team Size **Calculate Complexity Score (S):** - Compliance requirements: +2 per standard - Platforms: +1 per platform - Real-time: +2 - Offline: +2 - Complex features (video, ML, payments): +3 each - Basic features (CRUD, lists): +1 each **Score → Team Size:** - S < 10: "small" (1-5 people) - S 10-20: "medium" (6-15 people) - S > 20: "large" (16+ people) ### Step 10: Infer Demo Frequency **Keywords → Demo Frequency:** - "weekly demo", "every week""weekly" - "biweekly", "every two weeks""biweekly" - "monthly", "once a month""monthly" - No mention → "weekly" (default) ### Step 11: Infer Features with Complexity **Complexity Heuristic:** - **Low:** Simple CRUD, lists, forms, settings - **Medium:** Authentication, search, filtering, dashboards - **High:** Real-time chat, file upload, notifications, analytics - **Critical:** Video/audio, payments, ML/AI, medical device integration ### Step 12: Generate Complete YAML Frontmatter ```yaml --- # AUTO-GENERATED from project description # Generated: [timestamp] # Source: [filename] project_name: "[Extracted from title]" project_version: "1.0.0" created_date: "[today]" last_updated: "[today]" generation_method: "auto" project_type: "[inferred]" compliance: [inferred list] platforms: [inferred list] auth_method: "[inferred]" jwt_config: # Only if auth_method is jwt algorithm: "RS256" access_token_expiry: "15m" refresh_token_expiry: "7d" validate_claims: ["aud", "iss", "exp", "sub"] sensitive_data: [inferred list] encryption_requirements: at_rest: "AES-256-GCM" in_transit: "TLS-1.3" e2e_required: [true if messaging] offline_support: [inferred] real_time: [inferred] state_management: "bloc" architecture_style: "clean_architecture" backend_type: "rest" features: [inferred list with complexity] team_size: "[inferred]" team_composition: [based on team_size] performance_targets: cold_start_time: "2s" frame_rate: "60fps" api_response_time: "500ms" testing_requirements: unit_test_coverage: [85-90 based on compliance] widget_test_coverage: [75-85 based on compliance] integration_tests_required: true demo_frequency: "[inferred]" demo_requirements: environment: "dedicated" entry_point: "lib/main_demo.dart" synthetic_data: [true if PHI/payment] business_context: timeline: "[calculated from complexity]" mvp_timeline: "[40-50% of timeline]" target_users: [10k/50k/100k based on team size] prprompts_config: generate_all_files: true verbosity: "detailed" include_junior_explanations: [true if juniors > 0] auto_generate_subagents: true inference_notes: confidence_score: [0-100] ambiguous_fields: [list] assumptions: [list] --- ``` ### Step 13: Generate Document Body Generate complete PRD following template structure with: 1. Executive Summary (from description) 2. Product Vision (inferred) 3. Target Users (extracted or generated personas) 4. Core Features (expanded from list) 5. Non-Functional Requirements (based on inferred data) 6. Compliance Requirements (only for inferred standards) 7. Technical Architecture 8. Testing Strategy 9. Timeline & Milestones 10. All other standard sections ### Step 14: Add AI Inference Notes Section At end of PRD: ```markdown ## 18. AI Inference Notes **Generation Method:** Automatic (from project description) **Inference Confidence:** [High/Medium/Low] **Key Inferences:** - Project Type: [type] (keywords: [list]) - Compliance: [list] (keywords: [list]) - Offline Support: [true/false] (reason: [explanation]) - Real-Time: [true/false] (reason: [explanation]) **Ambiguous Areas:** [List low-confidence areas] **Recommended Reviews:** - [ ] Verify compliance requirements - [ ] Review feature priorities - [ ] Confirm timeline estimates - [ ] Validate team size **Manual Customization:** To customize this auto-generated PRD: 1. Edit docs/PRD.md 2. Update YAML frontmatter 3. Regenerate PRPROMPTS: claude gen-prprompts ``` ## Output File Save complete PRD to: `docs/PRD.md` ## Success Message ``` ✅ Auto-generated PRD from [filename] Generated docs/PRD.md with: - Project Type: [type] - Compliance: [list or "None"] - Platforms: [list] - Features: [count] ([X] P0, [Y] P1) - Team Size: [size] - Timeline: [duration] (MVP: [duration]) Inference Confidence: [High/Medium/Low] [If Medium/Low:] ⚠️ Some fields inferred with low confidence. Review section 18 (AI Inference Notes). Next steps: 1. Review: cat docs/PRD.md 2. Customize if needed: vim docs/PRD.md 3. Analyze: claude analyze-prd 4. Generate PRPROMPTS: claude gen-prprompts Auto-generate PRPROMPTS now? (y/n) ``` ## Error Handling ### If description file not found: ``` ❌ Error: No project description file found. Searched locations: - project_description.md - docs/project_description.md - PROJECT_DESCRIPTION.md Please create a project description file with: - What the app does - Target users - Key features (3-10) Or specify file: claude auto-gen-prd --file path/to/description.md ``` ### If description too vague: ``` ⚠️ Warning: Low confidence in inference Generated PRD with best guesses. Low confidence areas: - Project type (assumed: generic) - Compliance (none detected) - Platforms (assumed: iOS + Android) Please review docs/PRD.md and update as needed. ```