Files
thrillwiki_django_no_react/memory-bank/workflows/development-process.md

3.3 KiB

Development Workflow

Git Workflow

Branch Strategy

  1. Main Branches

    • main - Production code
    • develop - Integration branch
  2. Feature Branches

    • Format: feature/description
    • Branch from: develop
    • Merge to: develop
  3. Bugfix Branches

    • Format: bugfix/description
    • Branch from: develop
    • Merge to: develop
  4. Hotfix Branches

    • Format: hotfix/description
    • Branch from: main
    • Merge to: main and develop

Commit Guidelines

  1. Format

    type(scope): description
    
    [optional body]
    
    [optional footer]
    
  2. Types

    • feat: New feature
    • fix: Bug fix
    • docs: Documentation
    • style: Formatting
    • refactor: Code restructure
    • test: Testing
    • chore: Maintenance
  3. Rules

    • Present tense verbs
    • Concise descriptions
    • Reference issues
    • Document breaking changes

Development Process

1. Feature Development

  1. Planning

    • Technical specification
    • Component design
    • Database impact
    • Test strategy
  2. Implementation

    • Create feature branch
    • Write tests first
    • Implement feature
    • Update documentation
  3. Review

    • Self-review checklist
    • Peer code review
    • Update per feedback
    • Final verification

2. Testing Requirements

Unit Tests

# Required for all new code
class TestFeature(TestCase):
    def setUp(self):
        # Setup test data
        
    def test_functionality(self):
        # Test core functionality
        
    def test_edge_cases(self):
        # Test edge cases

Integration Tests

  • API endpoints
  • User workflows
  • System integration
  • Error handling

Coverage Requirements

  • Minimum 80% coverage
  • Critical paths 100%
  • Edge case handling
  • Error scenarios

3. Code Quality

Linting

  • Python: flake8
  • JavaScript: eslint
  • CSS: stylelint
  • Templates: djlint

Type Checking

  • Python: mypy
  • JavaScript: TypeScript

Documentation

  • Code comments
  • Docstrings
  • README updates
  • API documentation

Deployment Process

1. Pre-deployment

  • Version bump
  • Changelog update
  • Documentation review
  • Test verification

2. Staging Deployment

  • Database migrations
  • Static file collection
  • Smoke tests
  • Performance check

3. Production Deployment

  • Backup database
  • Apply migrations
  • Update static files
  • Health checks

4. Post-deployment

  • Monitor errors
  • Performance metrics
  • User feedback
  • Rollback plan

Review Process

1. Code Review

  • Style compliance
  • Test coverage
  • Documentation
  • Performance impact

2. Architecture Review

  • Design patterns
  • Scalability
  • Security
  • Maintainability

3. Security Review

  • Authentication
  • Authorization
  • Data protection
  • Input validation

Quality Assurance

1. Testing Strategy

  • Unit testing
  • Integration testing
  • End-to-end testing
  • Performance testing

2. Performance Standards

  • Page load times
  • Database queries
  • API response times
  • Resource usage

3. Security Standards

  • Authentication
  • Authorization
  • Data encryption
  • Input validation

Monitoring and Maintenance

1. Error Tracking

  • Exception monitoring
  • Log analysis
  • User reports
  • Performance alerts

2. Performance Monitoring

  • Response times
  • Resource usage
  • Database performance
  • Cache effectiveness

3. User Feedback

  • Bug reports
  • Feature requests
  • Performance issues
  • UX feedback