# Example tasks configuration for Dev Flow MCP
# Place this file at .devflow/tasks.yaml in your project

tasks:
  # Phase 1: Authentication System
  - id: setup_project
    title: Project Setup
    description: Initialize project structure, dependencies, and development environment
    success_criteria: Project builds successfully and basic tests pass
    test_command: npm test
    dependencies: []
    phases: [setup]
    status: pending
    priority: high
    created_at: "2024-01-15T10:00:00Z"
    updated_at: "2024-01-15T10:00:00Z"

  - id: implement_auth
    title: User Authentication
    description: Implement JWT-based authentication system with secure password hashing
    success_criteria: All authentication tests pass, including login, logout, and token validation
    test_command: pytest tests/test_auth.py -v
    dependencies: [setup_project]
    phases: [auth]
    status: pending
    priority: high
    created_at: "2024-01-15T10:00:00Z"
    updated_at: "2024-01-15T10:00:00Z"

  - id: create_user_model
    title: User Data Model
    description: Create user model with proper validation and database schema
    success_criteria: User model tests pass, database migrations work correctly
    test_command: pytest tests/test_models.py::TestUser -v
    dependencies: [setup_project]
    phases: [auth]
    status: pending
    priority: medium
    created_at: "2024-01-15T10:00:00Z"
    updated_at: "2024-01-15T10:00:00Z"

  # Phase 2: API Development
  - id: create_api_endpoints
    title: REST API Endpoints
    description: Build REST API endpoints for user management and authentication
    success_criteria: All API tests pass, OpenAPI documentation is complete
    test_command: pytest tests/test_api.py -v
    dependencies: [implement_auth, create_user_model]
    phases: [api]
    status: pending
    priority: medium
    created_at: "2024-01-15T10:00:00Z"
    updated_at: "2024-01-15T10:00:00Z"

  - id: add_input_validation
    title: Input Validation
    description: Add comprehensive input validation and error handling
    success_criteria: Validation tests pass, proper error responses for invalid input
    test_command: pytest tests/test_validation.py -v
    dependencies: [create_api_endpoints]
    phases: [api]
    status: pending
    priority: medium
    created_at: "2024-01-15T10:00:00Z"
    updated_at: "2024-01-15T10:00:00Z"

  # Phase 3: Security & Performance
  - id: implement_rate_limiting
    title: Rate Limiting
    description: Implement rate limiting to prevent abuse
    success_criteria: Rate limiting tests pass, proper 429 responses
    test_command: pytest tests/test_rate_limiting.py -v
    dependencies: [create_api_endpoints]
    phases: [security]
    status: pending
    priority: low
    created_at: "2024-01-15T10:00:00Z"
    updated_at: "2024-01-15T10:00:00Z"

  - id: add_logging
    title: Logging & Monitoring
    description: Add comprehensive logging and monitoring
    success_criteria: Logs are properly structured, monitoring endpoints work
    test_command: pytest tests/test_logging.py -v
    dependencies: [create_api_endpoints]
    phases: [monitoring]
    status: pending
    priority: low
    created_at: "2024-01-15T10:00:00Z"
    updated_at: "2024-01-15T10:00:00Z"

  # Phase 4: Documentation & Deployment
  - id: write_documentation
    title: API Documentation
    description: Write comprehensive API documentation and usage examples
    success_criteria: Documentation is complete and examples work
    test_command: pytest tests/test_docs.py -v
    dependencies: [add_input_validation]
    phases: [docs]
    status: pending
    priority: low
    created_at: "2024-01-15T10:00:00Z"
    updated_at: "2024-01-15T10:00:00Z"

  - id: setup_deployment
    title: Deployment Configuration
    description: Set up deployment pipeline and production configuration
    success_criteria: Application deploys successfully, health checks pass
    test_command: pytest tests/test_deployment.py -v
    dependencies: [write_documentation, add_logging]
    phases: [deployment]
    status: pending
    priority: low
    created_at: "2024-01-15T10:00:00Z"
    updated_at: "2024-01-15T10:00:00Z"
