This repository contains the comprehensive documentation for the Yoga Schedule Manager application. It follows a structured approach to software specification, from vision statement to implementation details.
The Yoga Schedule Manager will help yoga studios and independent teachers manage their class schedules, student registrations, and business operations. This documentation repository:
- Breaking down the development process into logical documentation steps
- Ensuring each document builds on previous ones for consistency
- Maintaining traceability from business requirements to technical implementation
- Providing clear specifications for all aspects of the application
- Organizing implementation into sequential sprints and detailed tickets
The prompts should be executed in the following order to ensure proper dependencies are maintained:
graph TD
A["Vision Statement"] --> B["Business Requirements"]
B --> C["User Personas"]
C --> D["User Journey Maps"]
D --> E["Product Requirements"]
E --> F["Functional Specifications"]
F --> G["System Architecture"]
G --> H["Data Model"]
G --> I["API Specifications"]
H --> J["Technical Requirements"]
I --> J
J --> K["Development Plan"]
J --> L["Design System"]
L --> M["UI Design Specifications"]
M --> N["Component Technical Specification"]
N --> O["Storybook Documentation"]
J --> P["Test Plan"]
%% Development Standards
G --> T["Microservice Rules"]
G --> U["Frontend Rules"]
%% Implementation Planning
K --> Q["Sprint Planning"]
P --> Q
T --> Q
U --> Q
Q --> R["Implementation Tickets"]
R --> S["Implementation Progress"]
Each prompt relies on specific information from previous documents. Here's a breakdown of each prompt, its dependencies, and the user input required:
- Dependencies: None (Starting point)
- Required User Input:
- Project title
- High-level vision instructions
- Target audience
- Problem statement
- Core value proposition
- Dependencies: Vision Statement
- Required User Input:
- Business objectives
- Stakeholder information
- Success criteria
- Budget and timeline constraints
- Market analysis information
- Dependencies: Vision Statement, BRD
- Required User Input:
- Target user demographics
- User goals and pain points
- Behavioral patterns
- Technical proficiency
- Dependencies: Vision Statement, BRD, User Personas
- Required User Input:
- Key user scenarios
- Touchpoints
- User emotions and pain points during interaction
- Critical user paths
- Dependencies: Vision Statement, BRD, User Personas, User Journey Maps
- Required User Input:
- Feature specifications
- User stories
- Prioritization guidelines
- Success metrics
- Technical constraints
- Dependencies: Vision Statement, BRD, PRD
- Required User Input:
- Detailed functional requirements
- System behavior specifications
- Business rules
- Workflow descriptions
- Dependencies: Vision Statement, BRD, PRD, FSD
- Required User Input:
- Technology stack preferences
- Scaling requirements
- Integration points
- Security requirements
- Performance criteria
- Dependencies: FSD, System Architecture
- Required User Input:
- Entity relationships
- Data storage requirements
- Data validation rules
- Regulatory compliance needs
- Dependencies: System Architecture, Data Model
- Required User Input:
- API requirements
- Authentication mechanisms
- Endpoint structures
- Request/response formats
- Dependencies: FSD, System Architecture, Data Model, API Specifications
- Required User Input:
- Performance requirements
- Security requirements
- Scalability needs
- Compatibility requirements
- Testing criteria
- Dependencies: All previous documents
- Required User Input:
- Team structure
- Development methodology
- Timeline constraints
- Resource allocation
- Risk factors
- Dependencies: Vision Statement, BRD, User Personas, PRD
- Required User Input:
- Design principles
- Brand attributes
- Color palette specifications
- Typography guidelines
- Spacing and layout preferences
- Component design guidelines
- Accessibility requirements
- Dependencies: Vision Statement, User Personas, User Journey Maps, PRD, Design System
- Required User Input:
- Screen design requirements
- Interaction patterns
- Responsive design guidelines
- State handling (loading, error, empty states)
- Animation and transition specifications
- Implementation priorities
- Dependencies: Design System, UI Design Specifications, System Architecture
- Required User Input:
- Component API design preferences
- State management approach
- Accessibility implementation requirements
- Testing strategy for components
- Performance optimization requirements
- Component documentation standards
- Dependencies: Design System, UI Design Specifications, Component Technical Specification
- Required User Input:
- Storybook organization preferences
- Component demonstration requirements
- Documentation standards
- Testing integration approach
- Example story requirements
- Dependencies: FSD, Technical Requirements, UI Design Specifications, Component Technical Specification
- Required User Input:
- Testing scope and objectives
- Test environment requirements
- Test data specifications
- Test automation approach
- Performance testing criteria
- Security testing requirements
- Acceptance criteria
- Dependencies: System Architecture, Technical Requirements, API Specifications, Data Model
- Required User Input:
- Technology stack details from System Architecture
- API standards and requirements
- Performance requirements
- Security requirements
- Organizational coding standards
- Team experience level with selected technologies
- Target deployment environment details
- Monitoring and observability requirements
- Dependencies: System Architecture, Technical Requirements, Design System, UI Design Specifications, Component Technical Specification
- Required User Input:
- UI framework/library details
- State management approach
- Design system information
- Component architecture requirements
- Performance requirements
- Accessibility requirements
- Browser/device support requirements
- Organizational coding standards
- Dependencies: Development Plan, Test Plan, Microservice Rules, Frontend Rules
- Required User Input:
- Project title and brief description
- Overall timeline constraints
- Team composition and skills
- Development methodology preference
- Sprint duration preference
- Desired velocity or work capacity per sprint
- Prioritization criteria
- Location of specification documents
- Dependencies: Sprint Planning
- Required User Input:
- Ticket title and description
- Priority and effort estimation
- Acceptance criteria
- Dependencies on other tickets
- Technical references to specification documents
- Implementation notes and guidelines
- Dependencies: Sprint Planning, Implementation Tickets
- Required User Input:
- Sprint status updates
- Completed features
- Current work status
- Blockers and risks
- Implementation metrics
- Architectural decisions
- Retrospective insights
-
Create the
/specifications
directory in your project root (if it doesn't exist already)mkdir -p specifications
-
Initialize the documentation progress tracking file
touch progress.md
-
Follow the document flow outlined above, starting with the Vision Statement and proceeding in order
-
For each documentation prompt:
- Review the prompt file to understand its requirements
- Gather the required user input
- Generate the document using the prompt
- Save the output to the
/specifications
directory with the appropriate filename - Update the progress.md file
-
Create development standards documents after completing the system architecture
- Use the microservice-rules-prompt.md to create microservice development standards
- Use the frontend-rules-prompt.md to create frontend development standards
-
For each standards document:
- Reference the appropriate specification documents (System Architecture, Technical Requirements, etc.)
- Ensure standards align with architectural decisions
- Create concrete examples of proper implementation
- Save the output to the
/specifications
directory with the appropriate filename - Update the progress.md file
-
Create the
/sprints
directory in your project rootmkdir -p sprints
-
Initialize the implementation progress tracking file
touch sprints/progress.md
-
Create sprint planning document using the sprint-planning-prompt.md
- Review all specification documents
- Identify logical development phases
- Define sprint objectives and timeframes
-
Create sprint subdirectories for each planned sprint
mkdir -p sprints/sprint_01 mkdir -p sprints/sprint_02 # etc.
-
Create implementation tickets in each sprint directory
- Use the ticket-template.md as a guide
- Follow the naming convention: ticket_sprint01_ticket01.md
- Ensure dependencies between tickets are clearly documented
- Reference relevant specification documents
-
Maintain the implementation progress tracking file (sprints/progress.md)
- Update after each sprint
- Track completed features
- Document architectural decisions
- Note blockers and risks
The documentation progress file helps you track your specification document creation. Update it after completing each document with the following information:
- Check the box for the completed document
- Add the completion date
- Update the "Current Status" section
- Update the "Next Steps" section
- Add any relevant notes or decisions made
The implementation progress file tracks the actual development of the project. Update it after each sprint with:
- Update the "Sprint Status" section with completed sprints and achievements
- Update the "Current Sprint" section with objectives and progress
- Document completed features with references to specification documents
- Track current work with ticket IDs and statuses
- Note any blockers, risks, or architectural decisions
- Update implementation metrics (velocity, test coverage, etc.)
- Capture retrospective insights for continuous improvement
- All documents are generated in Markdown format
- Each document builds upon previous ones, so maintain the recommended sequence
- Store all generated documents in the
/specifications
directory for proper cross-referencing - The prompts are designed to work with the Claude AI assistant
- Start by reviewing the vision-statement-prompt.md
- Provide the required inputs for your Vision Statement
- Generate the Vision.md document and save it to /specifications/
- Update progress.md to mark Vision Statement as complete
- Proceed to the BRD prompt, referring to your completed Vision Statement
- Continue through each document in sequence until you have a complete set of specification documents
- After completing all specification documents, use the sprint-planning-prompt.md to create a sprint plan
- Break down the project into logical sprints based on dependencies and complexity
- Create sprint folders and individual implementation tickets for each sprint
- For each ticket:
- Include clear references to specification documents
- Define acceptance criteria based on specs
- Document dependencies on other tickets
- Begin implementation tracking as development starts
- Update the sprints/progress.md file after each sprint
By following this structured approach, you'll create a comprehensive set of software specification documents and a well-organized implementation plan that maintains consistency and traceability throughout your project's lifecycle.