You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							174 lines
						
					
					
						
							4.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							174 lines
						
					
					
						
							4.1 KiB
						
					
					
				
								# Time Safari Development — Workflow and Processes
							 | 
						|
								
							 | 
						|
								> **Agent role**: Reference this file for development workflow details when
							 | 
						|
								  working with TimeSafari development processes.
							 | 
						|
								
							 | 
						|
								## Development Workflow
							 | 
						|
								
							 | 
						|
								### Build Commands
							 | 
						|
								
							 | 
						|
								```bash
							 | 
						|
								
							 | 
						|
								# Web (development)
							 | 
						|
								
							 | 
						|
								npm run build:web
							 | 
						|
								
							 | 
						|
								# Mobile
							 | 
						|
								
							 | 
						|
								npm run build:capacitor
							 | 
						|
								npm run build:native
							 | 
						|
								
							 | 
						|
								# Desktop
							 | 
						|
								
							 | 
						|
								npm run build:electron
							 | 
						|
								npm run build:electron:appimage
							 | 
						|
								npm run build:electron:deb
							 | 
						|
								npm run build:electron:dmg
							 | 
						|
								
							 | 
						|
								```
							 | 
						|
								
							 | 
						|
								### Testing Commands
							 | 
						|
								
							 | 
						|
								```bash
							 | 
						|
								
							 | 
						|
								# Web E2E
							 | 
						|
								
							 | 
						|
								npm run test:web
							 | 
						|
								
							 | 
						|
								# Mobile
							 | 
						|
								
							 | 
						|
								npm run test:mobile
							 | 
						|
								npm run test:android
							 | 
						|
								npm run test:ios
							 | 
						|
								
							 | 
						|
								# Type checking
							 | 
						|
								
							 | 
						|
								npm run type-check
							 | 
						|
								npm run lint-fix
							 | 
						|
								
							 | 
						|
								```
							 | 
						|
								
							 | 
						|
								## Development Principles
							 | 
						|
								
							 | 
						|
								### Code Organization
							 | 
						|
								
							 | 
						|
								- **Platform Services**: Abstract platform-specific code behind interfaces
							 | 
						|
								
							 | 
						|
								- **Service Factory**: Use `PlatformServiceFactory` for platform selection
							 | 
						|
								
							 | 
						|
								- **Type Safety**: Strict TypeScript, no `any` types, use type guards
							 | 
						|
								
							 | 
						|
								- **Modern Architecture**: Use current platform service patterns
							 | 
						|
								
							 | 
						|
								### Architecture Patterns
							 | 
						|
								
							 | 
						|
								- **Dependency Injection**: Services injected via mixins and factory pattern
							 | 
						|
								
							 | 
						|
								- **Interface Segregation**: Small, focused interfaces over large ones
							 | 
						|
								
							 | 
						|
								- **Composition over Inheritance**: Prefer mixins and composition
							 | 
						|
								
							 | 
						|
								- **Single Responsibility**: Each component/service has one clear purpose
							 | 
						|
								
							 | 
						|
								### Testing Strategy
							 | 
						|
								
							 | 
						|
								- **E2E**: Playwright for critical user journeys
							 | 
						|
								
							 | 
						|
								- **Unit**: Jest with F.I.R.S.T. principles
							 | 
						|
								
							 | 
						|
								- **Platform Coverage**: Web + Capacitor (Pixel 5) in CI
							 | 
						|
								
							 | 
						|
								- **Quality Assurance**: Comprehensive testing and validation
							 | 
						|
								
							 | 
						|
								## Current Development Focus
							 | 
						|
								
							 | 
						|
								### Active Development
							 | 
						|
								
							 | 
						|
								- **Feature Development**: Build new functionality using modern platform
							 | 
						|
								
							 | 
						|
								  services
							 | 
						|
								
							 | 
						|
								- **Performance Optimization**: Improve app performance and user experience
							 | 
						|
								
							 | 
						|
								- **Platform Enhancement**: Leverage platform-specific capabilities
							 | 
						|
								
							 | 
						|
								- **Code Quality**: Maintain high standards and best practices
							 | 
						|
								
							 | 
						|
								### Development Metrics
							 | 
						|
								
							 | 
						|
								- **Code Quality**: High standards maintained across all platforms
							 | 
						|
								
							 | 
						|
								- **Performance**: Optimized for all target devices
							 | 
						|
								
							 | 
						|
								- **Testing**: Comprehensive coverage maintained
							 | 
						|
								
							 | 
						|
								- **User Experience**: Focus on intuitive, accessible interfaces
							 | 
						|
								
							 | 
						|
								## Development Environment
							 | 
						|
								
							 | 
						|
								### Required Tools
							 | 
						|
								
							 | 
						|
								- **Node.js**: LTS version with npm
							 | 
						|
								
							 | 
						|
								- **Git**: Version control with proper branching strategy
							 | 
						|
								
							 | 
						|
								- **IDE**: VS Code with recommended extensions
							 | 
						|
								
							 | 
						|
								- **Platform Tools**: Android Studio, Xcode (for mobile development)
							 | 
						|
								
							 | 
						|
								### Environment Setup
							 | 
						|
								
							 | 
						|
								1. **Clone Repository**: `git clone <repository-url>`
							 | 
						|
								
							 | 
						|
								2. **Install Dependencies**: `npm install`
							 | 
						|
								
							 | 
						|
								3. **Environment Variables**: Copy `.env.example` to `.env.local`
							 | 
						|
								
							 | 
						|
								4. **Platform Setup**: Follow platform-specific setup guides
							 | 
						|
								
							 | 
						|
								### Quality Assurance
							 | 
						|
								
							 | 
						|
								- **Linting**: ESLint with TypeScript rules
							 | 
						|
								
							 | 
						|
								- **Formatting**: Prettier for consistent code style
							 | 
						|
								
							 | 
						|
								- **Type Checking**: TypeScript strict mode enabled
							 | 
						|
								
							 | 
						|
								- **Testing**: Comprehensive test coverage requirements
							 | 
						|
								
							 | 
						|
								---
							 | 
						|
								
							 | 
						|
								**See also**:
							 | 
						|
								
							 | 
						|
								- `.cursor/rules/app/timesafari.mdc` for core application context
							 | 
						|
								
							 | 
						|
								- `.cursor/rules/app/timesafari_platforms.mdc` for platform-specific details
							 | 
						|
								
							 | 
						|
								**Status**: Active development workflow
							 | 
						|
								**Priority**: High
							 | 
						|
								**Estimated Effort**: Ongoing reference
							 | 
						|
								**Dependencies**: timesafari.mdc, timesafari_platforms.mdc
							 | 
						|
								**Stakeholders**: Development team, DevOps team
							 | 
						|
								
							 | 
						|
								## Model Implementation Checklist
							 | 
						|
								
							 | 
						|
								### Before TimeSafari Development
							 | 
						|
								
							 | 
						|
								- [ ] **Environment Setup**: Verify development environment is ready
							 | 
						|
								- [ ] **Platform Tools**: Ensure platform-specific tools are available
							 | 
						|
								- [ ] **Dependencies**: Check all required dependencies are installed
							 | 
						|
								- [ ] **Environment Variables**: Configure local environment variables
							 | 
						|
								
							 | 
						|
								### During TimeSafari Development
							 | 
						|
								
							 | 
						|
								- [ ] **Platform Services**: Use modern platform service patterns
							 | 
						|
								- [ ] **Code Quality**: Follow ESLint and TypeScript strict rules
							 | 
						|
								- [ ] **Testing**: Implement comprehensive testing strategy
							 | 
						|
								- [ ] **Performance**: Optimize for all target platforms
							 | 
						|
								
							 | 
						|
								### After TimeSafari Development
							 | 
						|
								
							 | 
						|
								- [ ] **Quality Checks**: Run linting, formatting, and type checking
							 | 
						|
								- [ ] **Testing**: Execute comprehensive tests across platforms
							 | 
						|
								- [ ] **Performance Validation**: Verify performance meets requirements
							 | 
						|
								- [ ] **Documentation**: Update development documentation
							 | 
						|
								
							 |