Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 09:03:24 +08:00
commit c431765352
13 changed files with 1442 additions and 0 deletions

View File

@@ -0,0 +1,322 @@
---
allowed-tools: Read, Glob, Grep, Write, MultiEdit, TodoWrite
description: Generate comprehensive app design document with project stage assessment
---
# Generate Application Design Document
**User Request:** $ARGUMENTS
## Context
- Project root: !`pwd`
- Package.json: @package.json
- Existing design docs: !`ls -la .claude/rules/ 2>/dev/null || echo "No .claude/rules directory yet"`
## Goal
Create a comprehensive Application Design Document based on deep codebase analysis and user input. The document provides a high-level overview of the application's architecture, core features, user experience, and business logic while remaining technology-agnostic and focused on the "what" rather than the "how".
## Process
### 1. Initial Analysis
- Analyze project structure and existing codebase
- Review package.json for project name and dependencies
- Check for existing documentation in .claude/rules/
- Identify key application features and patterns
- **Think deeply** about the application's purpose and architecture
### 2. Codebase Deep Dive
**Think harder about the application's architecture and business logic.**
Analyze the codebase to understand:
- **Application Structure:** Main modules, features, and components
- **User Flows:** Authentication, navigation, key user journeys
- **Data Models:** Conceptual relationships and entities
- **Business Logic:** Core rules, workflows, and processes
- **Integrations:** External services and APIs
- **Security Patterns:** Authentication and authorization approaches
_Extended thinking helps identify non-obvious patterns, understand complex business rules from code, and make strategic decisions about what aspects are most important to document._
### 3. Interactive Q&A Session
**CRITICAL:** Ask project stage question FIRST, then 4-7 additional questions:
- Use lettered/numbered options for easy response
- Focus on business goals and user needs
- Gather context for proper documentation
### 4. Update Project Configuration
Based on project stage response:
- Update `.claude/rules/3-project-status.mdc` with current stage
- Set appropriate DO/DON'T priorities for the stage
- Document stage-specific development guidelines in the Cursor rule
### 5. Generate Document
Create comprehensive app design document following the standard structure
### 6. Save and Organize
- Create `.claude/rules/` directory if needed
- Save as `1-app-design-document.mdc`
- Suggest next steps (tech stack doc, PRD, etc.)
## Required Questions Template
### 🎯 CRITICAL: Project Stage Assessment (Ask First!)
**1. What stage is your application currently in?**
a) **Pre-MVP** - Building initial version, not deployed to production yet
b) **MVP** - Basic version deployed and live with early users
c) **Production** - Mature application with established user base
d) **Enterprise** - Large scale deployment, multiple teams involved
**2. Based on your selected stage, here are the development priorities:**
- **Pre-MVP Priorities:**
- ✅ DO: Core functionality, security basics, input validation, working features
- ❌ DON'T: Unit tests, performance optimization, accessibility polish, perfect code
- 🚀 Focus: Ship fast with security, iterate based on feedback
- **MVP Priorities:**
- ✅ DO: Critical path testing, basic monitoring, user feedback loops
- ❌ DON'T: Comprehensive test coverage, advanced patterns, premature optimization
- 🚀 Focus: Stability for early users, rapid iteration
- **Production Priorities:**
- ✅ DO: Testing, monitoring, performance, accessibility, documentation
- ❌ DON'T: Skip security reviews, ignore technical debt
- 🚀 Focus: Reliability, scalability, user experience
- **Enterprise Priorities:**
- ✅ DO: Comprehensive testing, security audits, team coordination, compliance
- ❌ DON'T: Skip documentation, ignore code standards
- 🚀 Focus: Team efficiency, maintainability, compliance
### 📋 Context-Specific Questions (Ask 4-7 based on analysis)
**3. Application Purpose & Users**
- What is the primary problem your application solves?
- Who are your target users and what are their main goals?
**4. Unique Value Proposition**
- What makes your application unique compared to existing solutions?
- What's your competitive advantage?
**5. User Roles & Permissions**
- What different types of users interact with your system?
- Examples: end users, admins, moderators, content creators, viewers
**6. Core User Journeys**
- What are the 2-3 most critical user flows?
- Example: Sign up → Create content → Share → Get feedback
**7. Business Model & Growth**
- How does this application generate value?
- Options: SaaS subscription, marketplace, freemium, advertising, one-time purchase
**8. Integration Ecosystem**
- What external services must you integrate with?
- Examples: payment processors, email services, analytics, social platforms
**9. Scale & Performance Goals**
- What scale are you planning for in the next 12 months?
- Users: dozens, hundreds, thousands, millions?
- Geographic: local, national, global?
**10. Success Metrics**
- How will you measure if your application is successful?
- Examples: user retention, revenue, engagement, conversion rates
## Document Structure
The generated document must follow this high-level structure:
### **Introduction**
- Application overview and purpose
- Target audience and user base
- Core value proposition
- Business context and goals
### **Core Features**
- **Feature Category 1:** (e.g., User Management)
- Purpose and user benefit
- Key functionalities
- User experience considerations
- **Feature Category 2:** (e.g., Content Creation)
- Purpose and user benefit
- Key functionalities
- User experience considerations
- **[Additional feature categories as needed]**
### **User Experience**
- User personas and roles
- Key user journeys and flows
- Interface design principles
- Accessibility and usability considerations
### **System Architecture**
- High-level system components
- Data flow and relationships
- Integration points and external services
- Security and privacy approach
### **Business Logic**
- Core business rules and processes
- Data models and relationships (conceptual)
- Workflow and state management
- Validation and business constraints
### **Future Considerations**
- Planned enhancements and features
- Scalability considerations
- Potential integrations
- Long-term vision and roadmap
## Target Audience
The document should be accessible to:
- **Business stakeholders** who need to understand the application's purpose and capabilities
- **Product managers** planning features and roadmaps
- **Designers** creating user interfaces and experiences
- **New developers** joining the project who need a high-level understanding
- **Technical leaders** making architectural decisions
The language should be clear, business-focused, and avoid technical implementation details.
## Writing Principles
### DO:
- **Business Focus:** Describe WHAT the application does, not HOW
- **User Value:** Emphasize benefits and outcomes for users
- **Clear Language:** Write for non-technical stakeholders
- **Visual Thinking:** Use diagrams and flows where helpful
- **Future Ready:** Consider growth and evolution paths
### DON'T:
- **Technical Details:** No code snippets or implementation specifics
- **Technology Stack:** Save for 2-tech-stack.mdc document
- **Database Schemas:** Keep data models conceptual
- **API Specifications:** Focus on capabilities, not endpoints
- **Performance Metrics:** Describe goals, not technical benchmarks
## Output
- **Format:** Markdown (`.mdc`)
- **Location:** `.claude/rules/`
- **Filename:** `1-app-design-document.mdc`
## Execution Steps
### 1. Start with Analysis
- Use Read, Glob, and Grep to explore the codebase
- Identify key features and patterns
- Look for existing documentation
- **Use extended thinking:** "Think deeply about this codebase's architecture, business purpose, and how different components work together to serve users"
### 2. Interactive Q&A
- **MUST ASK PROJECT STAGE FIRST**
- Present questions with numbered/lettered options
- Wait for user responses before proceeding
### 3. Update Project Status in Cursor Rule
Update `.claude/rules/3-project-status.mdc` with the project stage information:
```markdown
---
description: Project status and stage-specific development guidelines
globs:
alwaysApply: true
---
# Project Status Guidelines
## Current Project Stage: [Stage Name]
**Stage**: [Pre-MVP | MVP | Production | Enterprise]
### DO Care About (Current Stage Priorities)
[Stage-specific DO priorities from template below]
### DO NOT Care About (Skip for Velocity)
[Stage-specific DON'T priorities from template below]
### Development Approach
[Stage-specific development focus]
## Stage-Based Development Guidelines
[Keep existing stage categories and guidelines from the original file]
```
**Stage-Specific Content:**
- **Pre-MVP**:
- ✅ DO: Core functionality, security basics, input validation, working features
- ❌ DON'T: Unit tests, performance optimization, accessibility polish, perfect code
- 🚀 Focus: Ship fast with security, iterate based on feedback
- **MVP**:
- ✅ DO: Critical path testing, basic monitoring, user feedback loops
- ❌ DON'T: Comprehensive test coverage, advanced patterns, premature optimization
- 🚀 Focus: Stability for early users, rapid iteration
- **Production**:
- ✅ DO: Testing, monitoring, performance, accessibility, documentation
- ❌ DON'T: Skip security reviews, ignore technical debt
- 🚀 Focus: Reliability, scalability, user experience
- **Enterprise**:
- ✅ DO: Comprehensive testing, security audits, team coordination, compliance
- ❌ DON'T: Skip documentation, ignore code standards
- 🚀 Focus: Team efficiency, maintainability, compliance
### 4. Generate Document
- Follow the standard structure
- Tailor content to project stage
- Keep language accessible
### 5. Save and Next Steps
- Create directories: `mkdir -p .claude/docs .claude/rules`
- Save design document: `.claude/rules/1-app-design-document.mdc`
- Update Claude rule: `.claude/rules/3-project-status.mdc`
- Suggest: "Would you like me to create a technical stack document next?"