Files
steamcache2/.cursor/rules/development-workflow.mdc
Justin Harms 3703e40442 Add comprehensive documentation for caching, configuration, development, and security patterns
- Introduced multiple new markdown files detailing caching patterns, configuration management, development workflows, Go language conventions, HTTP proxy patterns, logging and monitoring practices, performance optimization guidelines, project structure, security validation, and VFS architecture.
- Each document outlines best practices, patterns, and guidelines to enhance the understanding and implementation of various components within the SteamCache2 project.
- This documentation aims to improve maintainability, facilitate onboarding for new contributors, and ensure consistent application of coding and architectural standards across the codebase.
2025-09-22 17:29:26 -05:00

77 lines
2.1 KiB
Plaintext

---
description: Development workflow and best practices
---
# Development Workflow for SteamCache2
## Build System
- Use the provided [Makefile](mdc:Makefile) for all build operations
- Prefer `make` commands over direct `go` commands
- Use `make test` to run all tests before committing
- Use `make run-debug` for development with debug logging
## Code Organization
- Keep related functionality in the same package
- Use clear package boundaries and interfaces
- Minimize dependencies between packages
- Follow the existing project structure
## Git Workflow
- Use descriptive commit messages
- Keep commits focused and atomic
- Test changes thoroughly before committing
- Use meaningful branch names
## Code Review
- Review code for correctness and performance
- Check for proper error handling
- Verify test coverage for new functionality
- Ensure code follows project conventions
## Documentation
- Update README.md for user-facing changes
- Add comments for complex algorithms
- Document configuration options
- Keep API documentation current
## Testing Strategy
- Write tests for new functionality
- Maintain high test coverage
- Test edge cases and error conditions
- Run integration tests before major releases
## Performance Testing
- Test with realistic data sizes
- Measure performance impact of changes
- Profile the application under load
- Monitor memory usage and leaks
## Configuration Management
- Test configuration changes thoroughly
- Validate configuration on startup
- Provide sensible defaults
- Document configuration options
## Error Handling
- Implement proper error handling
- Use structured logging for errors
- Provide meaningful error messages
- Handle edge cases gracefully
## Security Considerations
- Validate all inputs
- Implement proper rate limiting
- Log security-relevant events
- Follow security best practices
## Release Process
- Test thoroughly before releasing
- Update version information
- Create release notes
- Tag releases appropriately
## Maintenance
- Monitor application performance
- Update dependencies regularly
- Fix bugs promptly
- Refactor code when needed