Thank you for your interest in contributing to iceberg.rest! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/iceberg.rest.git - Install dependencies:
npm install - Set up local development (see README.md)
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Test locally using both servers:
npx wrangler dev --port 8787 # Terminal 1 npm run dev # Terminal 2
- Commit with clear messages:
git commit -m "Add feature: description" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request
- Use TypeScript for type safety
- Follow existing code patterns
- Use Tailwind CSS for styling
- Add comments for complex logic
- Keep functions small and focused
Before submitting a PR:
- Test with multiple catalog types (Bearer, OAuth2, SigV4)
- Verify responsive design/performance
- Check for console errors
- Test error handling (invalid endpoints, expired tokens, etc.)
- Add support for new catalog types
- Implement table comparison views
- Add export functionality (CSV, JSON)
- Improve analytics dashboards
- Add dark mode toggle
- Add loading skeletons
- Enhance error messages
- Add keyboard shortcuts
- Improve accessibility
- Add more connection examples
- Improve catalog-specific guides
- Add troubleshooting sections
- Create video tutorials
- Implement virtual scrolling for large lists
- Add request caching
- Optimize bundle size
- Add service worker for offline support
When reporting bugs, please include:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Browser and OS information
- Screenshots if applicable
- Catalog type (Bearer/OAuth2/SigV4)
- Keep PRs focused on a single feature/fix
- Update documentation if needed
- Add/update types in TypeScript
- Follow existing code style
- Test thoroughly before submitting
- Reference related issues
Open a GitHub Discussion for questions about:
- Architecture decisions
- Feature proposals
- General discussions
- Be respectful and inclusive
- Provide constructive feedback
- Help others learn and grow
- Focus on what's best for the project
By contributing, you agree that your contributions will be licensed under the MIT License.