mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 11:51:10 -05:00
- Created comprehensive documentation structure - Added productContext.md for product understanding - Added activeContext.md for current development status - Added systemPatterns.md for architecture patterns - Added developmentWorkflow.md for process standards - Added operationalContext.md for runtime details - Added projectBoundaries.md for technical constraints - Added techContext.md for technology stack - Documented all major aspects of the system - Established foundation for maintaining context
4.0 KiB
4.0 KiB
Development Workflow
Development Process
Local Development
-
Server Management
python manage.py tailwind runserver # Required command for local development -
URL Access
- Production: http://thrillwiki.com
- Avoid using localhost
Code Organization
-
Template Structure
- Base templates in templates/
- HTMX partials in model-specific partials/ folders
- Consistent naming conventions
- Reusable components
-
Feature Development
- Model changes
- URL configuration
- View implementation
- Template creation
- HTMX/AlpineJS integration
Git Workflow
-
Version Control
- All changes must be committed
- Detailed commit messages required
- Push directly to main branch
- Regular commits for trackability
-
Commit Message Format
[Component] Brief description of change - Detailed bullet points of changes - Impact on other components - Testing performed
Testing Patterns
Test Structure
- tests/ directory for test files
- Coverage tracking (.coverage)
- README.md in tests/ for documentation
- test_runner.py for custom configurations
Testing Requirements
-
Functionality Testing
- Core features
- Edge cases
- Error conditions
- User workflows
-
Integration Testing
- Cross-component functionality
- External service integration
- Database operations
- Cache behavior
-
UI Testing
- HTMX interactions
- AlpineJS functionality
- Responsive design
- Browser compatibility
Testing Guidelines
- Write tests for new features
- Update tests for modifications
- Maintain test coverage
- Document test scenarios
Release Process
Pre-Release Checklist
-
Code Quality
- All tests passing
- Coverage maintained
- Linting clean
- Documentation updated
-
Feature Verification
- Core functionality tested
- HTMX interactions verified
- AlpineJS behavior confirmed
- Cross-browser testing
Deployment Steps
-
Code Preparation
- Commit all changes
- Push to main branch
- Verify build success
-
Post-Deployment
- Verify site functionality
- Check error logs
- Monitor performance
- Validate new features
Project Standards
Code Style
-
Python
- Follow PEP 8
- Use type hints
- Document functions
- Clear variable names
-
Templates
- Consistent indentation
- Organized partial templates
- Clear component structure
- Documented HTMX attributes
-
JavaScript
- AlpineJS best practices
- Clean function names
- Documented interactions
- Minimal complexity
Documentation Requirements
-
Code Documentation
- Docstrings for Python code
- Comment complex logic
- Update README files
- Maintain context files
-
Template Documentation
- Document HTMX patterns
- Explain AlpineJS usage
- Note partial dependencies
- Document data requirements
Best Practices
-
HTMX Usage
- Partial templates in dedicated folders
- Clear target attributes
- Documented triggers
- Error handling
-
AlpineJS Integration
- Minimal state management
- Clear x-data structures
- Documented behaviors
- Progressive enhancement
-
Django Patterns
- Clear view logic
- Optimized queries
- Proper model relationships
- Efficient template inheritance
Quality Assurance
Code Review Process
-
Self-Review
- Test coverage
- Documentation
- Code standards
- Performance impact
-
Testing Requirements
- Local verification
- Production testing
- Error handling
- Edge cases
Performance Standards
-
Page Load
- Optimize queries
- Minimize requests
- Efficient templates
- Proper caching
-
Interaction Speed
- Quick HTMX responses
- Smooth transitions
- Responsive UI
- Error feedback
Maintenance
-
Regular Tasks
- Update dependencies
- Review error logs
- Monitor performance
- Update documentation
-
Code Health
- Refactor as needed
- Remove unused code
- Update patterns
- Maintain standards