- Remove legacy rule files (documentation.mdc, general_development.mdc, etc.) - Implement new meta-rule system with core, app, and feature categories - Add meta-rule files for different workflows (bug diagnosis, feature planning, etc.) - Create organized directory structure: core/, app/, features/, database/, etc. - Add comprehensive README.md for rules documentation - Establish new rule architecture with always-on and workflow-specific rules This restructuring improves rule organization, enables better workflow management, and provides clearer separation of concerns for different development tasks.
175 lines
4.1 KiB
Plaintext
175 lines
4.1 KiB
Plaintext
# 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
|