DuckDB Flyway Migration Tool Configuration
Optimized Aider configuration for developing a Python-based DuckDB migration tool inspired by Flyway. This setup enables efficient database migration development with automated quality checks.
What This Does
This configuration sets up Aider to work on a DuckDB migration tool project with:
**Focused file context** on core migration logic, tests, and project configuration**Automated testing** with pytest on demand**Automated linting** with Ruff after each change**Git integration** with automatic commits and proper attribution**Performance optimization** through prompt caching**Clean diff output** for better readabilityInstructions for AI Agent
When working on the DuckDB Flyway migration tool, follow these guidelines:
1. File Context Management
Always include these core files in your context:
`src/duckdb_flyway/__init__.py` - Package initialization`src/duckdb_flyway/duckdb_flyway.py` - Main migration logic`src/duckdb_flyway/duckdb_flyway_test.py` - Test suite`pyproject.toml` - Python project configuration`README.md` - Project documentation2. Code Quality Workflow
After making changes:
1. **Automatic linting** will run via `uv run ruff check --fix`
2. Lint fixes will be applied automatically to Python files
3. Changes will be auto-committed with proper attribution
3. Testing Strategy
Test command available: `uv run pytest`Tests are **not** run automatically (manual trigger only)Run tests explicitly when validating migration logic or bug fixesFocus on database migration scenarios, schema evolution, and error handling4. Git Commit Practices
Commits will be created with:
**Automatic commits enabled** for each change**Dirty commits allowed** - no need for clean working directory**Author attribution** - commits attributed to the original author**Committer attribution** - AI assistant noted as committerWatch mode enabled for real-time file change detection5. Development Focus Areas
When working on this codebase:
**Migration engine** - Version tracking, SQL execution, rollback logic**DuckDB integration** - Connection management, transaction handling**Testing** - Migration scenarios, edge cases, error conditions**CLI interface** - User-friendly migration commands**Documentation** - Clear usage examples and API documentation6. Performance Settings
**Prompt caching enabled** - Faster responses for repeated contexts**Cache keepalive** - 3 pings to maintain cache**Update checks disabled** - No automatic Aider version checks**Dark mode enabled** - Optimized for terminal readability7. Code Style Guidelines
Follow Ruff's default Python style rulesFix linting issues automatically when possibleMaintain consistency with existing codebase patternsWrite clear, self-documenting migration code8. Migration-Specific Considerations
Ensure migration scripts are idempotent when possibleHandle schema version conflicts gracefullyProvide clear error messages for failed migrationsSupport both forward migrations and rollbacksMaintain migration history integrityExample Usage
```bash
Start Aider with this configuration
aider
Work on adding a new migration feature
"Add support for repeatable migrations that run on every deployment"
Fix a bug in rollback logic
"Fix the rollback function to properly handle partial migrations"
Run tests manually when needed
/run uv run pytest
```
Important Notes
**Gitignore disabled** - All files tracked explicitly**No automatic update checks** - Stable environment**Show diffs disabled** - Cleaner output in terminal**Use `uv run`** for all Python commands (modern package manager)Test manually with `/test` command when validating changes