# Development Commands ## Testing ```bash # Run all tests composer test ./vendor/bin/phpunit # Run single test file ./vendor/bin/phpunit tests/unit/HealthTest.php # Run single test method ./vendor/bin/phpunit tests/unit/HealthTest.php --filter testIsDefinedAppPath # Generate code coverage report ./vendor/bin/phpunit --colors --coverage-text=tests/coverage.txt --coverage-html=tests/coverage/ -d memory_limit=1024m ``` ## Development Server ```bash # Start development server php spark serve ``` ## Code Generation (CLI) ```bash # Create controller php spark make:controller Admin # Create model php spark make:model User ``` ## Routing ```bash # List all routes php spark list ``` ## Git Commands (Windows) ```bash # Check git status git status # Check git diff git diff # View recent commits git log # Add files to staging git add . # Create commit git commit -m "message" # Push to remote git push # Pull from remote git pull ``` ## File System Commands (Windows) ```bash # List directory contents ls dir # Change directory cd directory_name # Create directory mkdir directory_name # Copy files copy source destination # Move files move source destination # Remove files del filename rm filename # Find files by name dir /s /b filename # Search content in files findstr /s /i "search_term" *.php ``` ## CodeIgniter-Specific ```bash # Clear cache php spark cache:clear # Clear view cache php spark cache:clear # Install dependencies composer install composer update # Dump autoload composer dump-autoload ``` ## What to do after completing a task 1. **Run tests** ```bash composer test ``` 2. **Check for errors** - Review any output from tests - Check for lint errors or warnings 3. **Verify the changes** - Test the functionality manually - Check if any routes or filters were affected 4. **Update documentation** (if needed) - Add new routes to documentation - Update CHECKLIST.md if it's a new feature 5. **Commit changes** (only when explicitly asked) ```bash git add . git commit -m "describe changes" ``` **Important**: Never commit changes unless explicitly asked by the user.