# .cursor Rules Organization This directory contains all the rules and guidelines for AI assistants working with the TimeSafari project. ## Directory Structure ### **`core/`** - Core Principles and Context Core rules that apply to all AI interactions and provide fundamental context. - **`base_context.mdc`** - Human competence first principles and interaction guidelines - **`harbor_pilot_universal.mdc`** - Technical guide creation and investigation rules - **`less_complex.mdc`** - Minimalist solution principle and complexity guidelines ### **`development/`** - Development Practices and Standards Rules for software development, coding standards, and development workflows. - **`software_development.mdc`** - Core development principles and evidence requirements - **`type_safety_guide.mdc`** - TypeScript type safety guidelines and best practices - **`development_guide.mdc`** - Development environment setup and standards - **`logging_standards.mdc`** - Logging implementation standards and rules - **`logging_migration.mdc`** - Migration from console.* to structured logging - **`time.mdc`** - Time handling principles and UTC standards - **`time_examples.mdc`** - Practical time implementation examples - **`time_implementation.mdc`** - Detailed time implementation guidelines - **`realistic_time_estimation.mdc`** - Time estimation framework and principles - **`planning_examples.mdc`** - Planning examples and best practices - **`complexity_assessment.mdc`** - Complexity evaluation and assessment - **`dependency_management.mdc`** - Dependency management and version control - **`asset_configuration.mdc`** - Asset configuration and build integration - **`research_diagnostic.mdc`** - Research and investigation workflows - **`investigation_report_example.mdc`** - Investigation report templates and examples - **`historical_comment_management.mdc`** - Historical comment transformation rules - **`historical_comment_patterns.mdc`** - Comment transformation patterns and examples ### **`architecture/`** - Architecture and Design Patterns Rules for architectural decisions, patterns, and system design. - **`build_architecture_guard.mdc`** - Build system protection and change levels - **`build_validation.mdc`** - Build validation procedures and testing - **`build_testing.mdc`** - Build testing requirements and feedback collection ### **`app/`** - Application-Specific Rules Rules specific to the TimeSafari application and its architecture. - **`timesafari.mdc`** - Core application context and principles - **`timesafari_platforms.mdc`** - Platform-specific implementation guidelines - **`timesafari_development.mdc`** - TimeSafari development workflow - **`architectural_decision_record.mdc`** - ADR creation and management - **`architectural_implementation.mdc`** - Architecture implementation guidelines - **`architectural_patterns.mdc`** - Architectural patterns and examples - **`architectural_examples.mdc`** - Architecture examples and testing ### **`database/`** - Database and Data Management Rules for database operations, migrations, and data handling. - **`absurd-sql.mdc`** - Absurd SQL implementation and worker thread setup - **`legacy_dexie.mdc`** - Legacy Dexie migration guidelines ### **`workflow/`** - Process and Workflow Management Rules for development workflows, version control, and process management. - **`version_control.mdc`** - Version control principles and commit guidelines - **`version_sync.mdc`** - Version synchronization and changelog management - **`commit_messages.mdc`** - Commit message format and conventions ### **`features/** - Feature-Specific Implementations Rules for implementing specific features across platforms. - **`camera-implementation.mdc`** - Camera feature implementation overview - **`camera_technical.mdc`** - Technical camera implementation details - **`camera_platforms.mdc`** - Platform-specific camera implementation ### **`docs/`** - Documentation Standards Rules for creating and maintaining documentation. - **`markdown_core.mdc`** - Core markdown formatting standards - **`markdown_templates.mdc`** - Document templates and examples - **`markdown_workflow.mdc`** - Markdown validation and workflow - **`documentation.mdc`** - Documentation generation principles - **`meta_rule_usage_guide.md`** - How to use meta-rules in practice ### **`templates/`** - Templates and Examples Template files and examples for various documentation types. - **`adr_template.mdc`** - Architectural Decision Record template ### **Meta-Rules** - Workflow Bundling High-level meta-rules that bundle related sub-rules for specific workflows. - **`meta_core_always_on.mdc`** - Core rules that apply to every single prompt - **`meta_documentation.mdc`** - Documentation writing and education workflow - **`meta_feature_planning.mdc`** - Feature planning workflow bundling - **`meta_bug_diagnosis.mdc`** - Bug investigation workflow bundling - **`meta_bug_fixing.mdc`** - Bug fix implementation workflow bundling - **`meta_feature_implementation.mdc`** - Feature implementation workflow bundling - **`meta_research.mdc`** - Investigation and research workflow bundling ### **Workflow State Management** The project uses a sophisticated workflow state management system to ensure systematic development processes and maintain code quality across all phases of development. #### **Workflow State System** The workflow state is managed through `.cursor/rules/.workflow_state.json` and enforces different modes with specific constraints. The system automatically tracks workflow progression and maintains a complete history of mode transitions. **Available Modes**: - **`diagnosis`** - Investigation and analysis phase (read-only) - **`fixing`** - Implementation and bug fixing phase (full access) - **`planning`** - Design and architecture phase (design only) - **`research`** - Investigation and research phase (investigation only) - **`documentation`** - Documentation writing phase (writing only) **Mode Constraints**: ```json { "diagnosis": { "mode": "read_only", "forbidden": ["modify", "create", "build", "commit"], "allowed": ["read", "search", "analyze", "document"] }, "fixing": { "mode": "implementation", "forbidden": [], "allowed": ["modify", "create", "build", "commit", "test"] } } ``` **Workflow History Tracking**: The system automatically maintains a `workflowHistory` array that records all mode transitions and meta-rule invocations: ```json { "workflowHistory": [ { "mode": "research", "invoked": "meta_core_always_on.mdc", "timestamp": "2025-08-25T02:14:37Z" }, { "mode": "diagnosis", "invoked": "meta_bug_diagnosis.mdc", "timestamp": "2025-08-25T02:14:37Z" } ] } ``` **History Entry Format**: - **`mode`**: The workflow mode that was activated - **`invoked`**: The specific meta-rule that triggered the mode change - **`timestamp`**: UTC timestamp when the mode transition occurred **History Purpose**: - **Workflow Continuity**: Track progression through development phases - **Meta-Rule Usage**: Monitor which rules are invoked and when - **Temporal Context**: Maintain chronological order of workflow changes - **State Persistence**: Preserve workflow history across development sessions - **Debugging Support**: Help diagnose workflow state issues - **Process Analysis**: Understand development patterns and meta-rule effectiveness #### **Commit Override System** The workflow includes a flexible commit override mechanism that allows commits on demand while maintaining workflow integrity: ```json { "overrides": { "commit": { "allowed": true, "requires_override": true, "override_reason": "user_requested" } } } ``` **Override Benefits**: - ✅ **Investigation Commits**: Document findings during diagnosis phases - ✅ **Work-in-Progress**: Commit partial solutions during complex investigations - ✅ **Emergency Fixes**: Commit critical fixes without mode transitions - ✅ **Flexible Workflow**: Maintain systematic approach while accommodating real needs **Override Limitations**: - ❌ **Does NOT bypass**: Version control rules, commit message standards, or security requirements - ❌ **Does NOT bypass**: Code quality standards, testing requirements, or documentation requirements #### **Workflow Enforcement** The system automatically enforces workflow constraints through the core always-on rules: **Before Every Interaction**: 1. **Read current workflow state** from `.cursor/rules/.workflow_state.json` 2. **Identify current mode** and its constraints 3. **Validate user request** against current mode constraints 4. **Enforce constraints** before generating response 5. **Guide model behavior** based on current mode **Mode-Specific Enforcement**: - **Diagnosis Mode**: Blocks modification, creation, building, and commits - **Fixing Mode**: Allows full implementation and testing capabilities - **Planning Mode**: Focuses on design and architecture, blocks implementation - **Research Mode**: Enables investigation and analysis, blocks modification - **Documentation Mode**: Allows writing and editing, blocks implementation #### **Workflow Transitions** To change workflow modes, invoke the appropriate meta-rule: ```bash # Switch to bug fixing mode @meta_bug_fixing.mdc # Switch to feature planning mode @meta_feature_planning.mdc # Switch to documentation mode @meta_documentation.mdc ``` **Transition Requirements**: - **Mode Changes**: Require explicit meta-rule invocation - **State Updates**: Automatically update workflow state file - **Constraint Enforcement**: Immediately apply new mode constraints - **History Tracking**: Automatically maintained in `workflowHistory` array - **Timestamp Recording**: Each transition recorded with UTC timestamp #### **Integration with Development Process** The workflow system integrates seamlessly with existing development practices: **Version Control**: - All commits must follow TimeSafari commit message standards - Security audit checklists are enforced regardless of workflow mode - Documentation updates are required for substantial changes **Quality Assurance**: - Code quality standards (PEP8, TypeScript, etc.) are always enforced - Testing requirements apply to all implementation work - Documentation standards are maintained across all phases **Build System**: - Build Architecture Guard protects critical build files - Platform-specific build processes respect workflow constraints - Asset generation follows established patterns **Migration Context**: - Database migration work respects investigation vs. implementation phases - Component migration progress is tracked through workflow states ## Usage Guidelines 1. **Always-On Rules**: Start with `meta_core_always_on.mdc` for every single prompt 2. **Core Rules**: Always apply rules from `core/` directory 3. **Context-Specific**: Use rules from appropriate subdirectories based on your task 4. **Meta-Rules**: Use workflow-specific meta-rules for specialized tasks - **Documentation**: Use `meta_documentation.mdc` for all documentation work - **Getting Started**: See `docs/meta_rule_usage_guide.md` for comprehensive usage instructions 5. **Cross-References**: All files contain updated cross-references to reflect the new structure 6. **Validation**: All files pass markdown validation and maintain consistent formatting ## Benefits of New Organization 1. **Logical grouping** - Related rules are now co-located 2. **Easier navigation** - Developers can quickly find relevant rules 3. **Better maintainability** - Clear separation of concerns 4. **Scalable structure** - Easy to add new rules in appropriate categories 5. **Consistent cross-references** - All file links updated and working 6. **Workflow bundling** - Meta-rules provide high-level workflow guidance 7. **Feedback integration** - Built-in feedback mechanisms for continuous improvement 8. **Educational focus** - Documentation emphasizes human competence over technical description ## File Naming Convention - **Lowercase with underscores**: `file_name.mdc` - **Descriptive names**: Names clearly indicate the rule's purpose - **Consistent extensions**: All files use `.mdc` extension ## Maintenance - **Cross-references**: Update when moving files between directories - **Markdown validation**: Run `npm run markdown:check` after any changes - **Organization**: Keep related rules in appropriate subdirectories - **Documentation**: Update this README when adding new rules or directories --- **Status**: Active organization structure **Last Updated**: 2025-08-21 **Maintainer**: Development team