85 lines
2.2 KiB
YAML
85 lines
2.2 KiB
YAML
|
|
name: Feature Port
|
||
|
|
description: Port functionality from one codebase to another
|
||
|
|
category: development
|
||
|
|
|
||
|
|
variables:
|
||
|
|
source:
|
||
|
|
description: Source codebase or package
|
||
|
|
required: true
|
||
|
|
feature:
|
||
|
|
description: Feature to port
|
||
|
|
required: true
|
||
|
|
target:
|
||
|
|
description: Target location in codebase
|
||
|
|
required: false
|
||
|
|
|
||
|
|
guidelines:
|
||
|
|
- Understand the source implementation thoroughly
|
||
|
|
- Adapt to target architecture patterns
|
||
|
|
- Avoid copy-paste without understanding
|
||
|
|
- Test thoroughly in new environment
|
||
|
|
|
||
|
|
phases:
|
||
|
|
- name: Analysis
|
||
|
|
description: Understand the source implementation
|
||
|
|
tasks:
|
||
|
|
- Study the source code structure
|
||
|
|
- Identify all dependencies
|
||
|
|
- Document the feature's behaviour
|
||
|
|
- List configuration requirements
|
||
|
|
- Identify integration points
|
||
|
|
|
||
|
|
- name: Planning
|
||
|
|
description: Plan the port
|
||
|
|
tasks:
|
||
|
|
- Map source patterns to target patterns
|
||
|
|
- Identify what needs adaptation
|
||
|
|
- List files to create/modify
|
||
|
|
- Plan database migrations if needed
|
||
|
|
- Create a port checklist
|
||
|
|
|
||
|
|
- name: Infrastructure
|
||
|
|
description: Set up base requirements
|
||
|
|
tasks:
|
||
|
|
- Create necessary directories
|
||
|
|
- Add required dependencies
|
||
|
|
- Set up configuration
|
||
|
|
- Create database migrations
|
||
|
|
- Add base models/interfaces
|
||
|
|
|
||
|
|
- name: Core Port
|
||
|
|
description: Port the main functionality
|
||
|
|
tasks:
|
||
|
|
- Port core classes/services
|
||
|
|
- Adapt to target patterns
|
||
|
|
- Update namespaces and imports
|
||
|
|
- Fix type hints and return types
|
||
|
|
- Ensure PSR-12 compliance
|
||
|
|
|
||
|
|
- name: Integration
|
||
|
|
description: Connect to existing systems
|
||
|
|
tasks:
|
||
|
|
- Add routes and controllers
|
||
|
|
- Integrate with existing services
|
||
|
|
- Add UI components
|
||
|
|
- Wire up events and listeners
|
||
|
|
- Configure middleware
|
||
|
|
|
||
|
|
- name: Testing
|
||
|
|
description: Verify the port
|
||
|
|
tasks:
|
||
|
|
- Port existing tests
|
||
|
|
- Add new integration tests
|
||
|
|
- Test edge cases
|
||
|
|
- Verify UI functionality
|
||
|
|
- Performance testing
|
||
|
|
|
||
|
|
- name: Cleanup
|
||
|
|
description: Finalise the port
|
||
|
|
tasks:
|
||
|
|
- Remove unused code
|
||
|
|
- Update documentation
|
||
|
|
- Add code comments
|
||
|
|
- Create pull request
|
||
|
|
- Document any differences from source
|