Thank you for your interest in contributing to Curio! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/curio.git - Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Test your changes
- Commit with clear messages:
git commit -m "Add: description of changes" - Push to your fork:
git push origin feature/your-feature-name - Create a Pull Request
- Open the project in VSCode
- Click "Reopen in Container" when prompted
- The environment will be automatically configured
See README.md for manual setup instructions.
- Follow PEP 8
- Use type hints
- Format with Black:
black . - Lint with pylint:
pylint app/
- Follow ESLint rules
- Use functional components with hooks
- Format with Prettier
- Use TypeScript for all new code
cd backend
pytestcd frontend
npm testFollow conventional commits:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding or updating testschore:- Maintenance tasks
Example: feat: add support for Atom feeds
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass
- Update CHANGELOG.md
- Request review from maintainers
- Address review feedback
- Squash commits if requested
Open an issue with:
- Clear description of the feature
- Use cases
- Potential implementation approach
- Any relevant examples
Include:
- Description of the bug
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Environment details (OS, Docker version, etc.)
- Features: New feed types, export options, mobile app
- UI/UX: Design improvements, accessibility
- Documentation: Tutorials, examples, translations
- Testing: Unit tests, integration tests, E2E tests
- Performance: Optimization, caching strategies
- Security: Security audits, vulnerability fixes
Feel free to open a discussion or contact the maintainers.
Be respectful, inclusive, and constructive. We're all here to make Curio better!