Last Updated: 3/10/2026
Documentation Improvement Roadmap
Phase 1: Fill Critical Gaps (Weeks 1-4)
Week 1: Aggregate Functions & Window Functions
- Create “Working with Aggregates” guide
- Basic aggregations (COUNT, SUM, AVG, MIN, MAX)
- GROUP BY usage
- HAVING clauses
- Multiple aggregations
- Create “Window Functions” guide
- OVER clause usage
- PARTITION BY
- ORDER BY in window functions
- Common window functions (ROW_NUMBER, RANK, DENSE_RANK)
- Running totals and moving averages
Week 2: Advanced Query Patterns
- Create “CASE Expressions” guide
- Basic CASE WHEN usage
- Nested CASE expressions
- CASE in SELECT, WHERE, and ORDER BY
- Type safety with CASE
- Expand “Common Table Expressions (CTEs)” guide
- Basic WITH clause
- Multiple CTEs
- Recursive CTEs
- CTE performance considerations
Week 3: Upsert & Conflict Resolution
- Create “Upsert Patterns” guide
- ON CONFLICT usage (PostgreSQL)
- ON DUPLICATE KEY UPDATE (MySQL)
- MERGE operations
- Database-specific approaches
- Add “MERGE Query” guide
- MERGE syntax
- When to use MERGE
- Database compatibility
Week 4: JSON Operations
- Create “Working with JSON” guide
- JSON column types
- JSON path queries
- Extracting JSON values
- Type-safe JSON operations
- Database-specific JSON features
Phase 2: Plugin System & Extensions (Weeks 5-6)
Week 5: Built-in Plugins
- Document all built-in plugins:
- CamelCase Plugin - automatic snake_case to camelCase conversion
- Deduplicate Joins Plugin - prevent duplicate join clauses
- Handle Empty IN Lists Plugin - handle empty arrays in WHERE IN
- Immediate Value Plugin - bypass parameter binding
- Parse JSON Results Plugin - automatic JSON parsing
- With Schema Plugin - schema-scoped queries
Week 6: Custom Plugin Development
- Create “Building Custom Plugins” guide
- Plugin architecture
- Plugin lifecycle
- Transforming queries
- Transforming results
- Real-world plugin examples
Phase 3: Error Handling & Debugging (Week 7)
- Create “Error Handling” guide
- NoResultError usage
- Common error patterns
- Type-safe error handling
- Database-specific errors
- Debugging queries
- Add “Logging & Debugging” section
- Query logging
- Performance logging
- Debug mode
- SQL output inspection
Phase 4: Testing & Quality (Week 8)
- Create “Testing with Kysely” guide
- Unit testing query builders
- Integration testing
- Mocking strategies
- Test database setup
- Snapshot testing
- Testing migrations
Phase 5: Advanced Topics (Weeks 9-12)
Week 9: Transactions Deep Dive
- Expand “Transactions” documentation
- Nested transactions
- Savepoints
- Isolation levels
- Error recovery
- Best practices
Week 10: Performance & Optimization
- Create “Performance Guide”
- Query optimization
- Index usage
- Batch operations
- Streaming results
- Connection pooling
- N+1 query prevention
Week 11: Migrations Deep Dive
- Expand “Migrations” documentation
- Migration file structure
- Team workflows
- Rollback strategies
- Migration testing
- Production deployment
- Migration best practices
Week 12: Dialect-Specific Features
- Create dialect-specific guides:
- PostgreSQL Features
- Arrays
- JSON/JSONB
- Full-text search
- Geometric types
- Range types
- MySQL Features
- JSON functions
- Spatial data
- MSSQL Features
- OUTPUT clause
- Temporal tables
- SQLite Features
- JSON1 extension
- FTS5 full-text search
- PostgreSQL Features
Ongoing Improvements
Content Quality
- Add more real-world examples to existing docs
- Create “Common Patterns” cookbook
- Add troubleshooting sections
- Cross-link related documentation
User Experience
- Add search functionality
- Create interactive examples
- Add code playground links
- Improve navigation structure
Community
- Highlight community plugins
- Add community recipes
- Create video tutorials
- Host webinars for advanced topics
Success Metrics
- Reduction in repeated questions on Discord
- Increase in documentation page views
- Positive feedback from community
- Reduced time-to-productivity for new users
- Increased adoption of advanced features
Resources Needed
- Technical writers (or developer time)
- Code review from core team
- Testing of all examples
- Community feedback loop