Thank you for your interest in contributing to Flowboard! This guide will help you get started with contributing to our project.
- Node.js 18+
- Git
- Basic knowledge of React, TypeScript, and Next.js
- Fork the repository on GitLab
- Clone your fork locally:
git clone https://gitlab.com/[YOUR_USERNAME]/coding/next-js/flowboard.git cd flowboard - Install dependencies:
npm install
- Create a new branch for your feature:
git checkout -b feature/your-feature-name
- Follow the existing code structure and patterns
- Use TypeScript for all new code
- Add appropriate JSDoc comments
- Test your changes thoroughly
Run the linter before committing:
npm run lintUse conventional commit messages:
feat:for new featuresfix:for bug fixesdocs:for documentation changesrefactor:for code refactoringtest:for adding testschore:for maintenance tasks
Example:
git commit -m "feat(kanban): add list drag-and-drop reordering"- Push to your fork:
git push origin feature/your-feature-name
- Create a Merge Request on GitLab
- Provide a clear description of your changes
- Link any relevant issues
- New view types (Calendar, Timeline improvements)
- Enhanced card management
- Better collaboration features
- Performance optimizations
- Accessibility improvements
- Mobile app responsiveness
- Use GitLab Issues for bug reports
- Provide clear reproduction steps
- Include browser and OS information
- Add screenshots if applicable
- Improve README sections
- Add inline code comments
- Create usage examples
- Update API documentation
- Use interfaces for all props and state
- Prefer explicit types over inference
- Use generic types where appropriate
- Avoid
anytype when possible
- Use functional components with hooks
- Follow the existing component structure
- Keep components focused and reusable
- Use proper prop destructuring
- Use Tailwind CSS classes
- Follow the existing design system
- Maintain consistency with dark/light themes
- Use responsive design patterns
- Use Zustand for global state
- Keep state minimal and focused
- Use proper TypeScript types
- Follow existing store patterns
- Feature works in both light and dark themes
- Responsive design works on mobile
- Drag-and-drop functions correctly
- Search and filtering work properly
- No console errors
- Accessibility features work
Test in at least:
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Ensure your code follows our standards
- Test thoroughly
- Update documentation if needed
- Rebase your branch if necessary
Include:
- Clear description of changes
- Why this change is needed
- How to test the changes
- Any breaking changes
- Related issues
- Automated checks must pass
- At least one team member review
- Address all feedback
- Maintain clean commit history
- Don't commit directly to main branch
- Don't include sensitive information
- Don't make breaking changes without discussion
- Don't ignore code quality standards
- Don't submit incomplete features
- Treat everyone with respect
- Welcome newcomers and help them learn
- Focus on constructive feedback
- Be patient and understanding
- Use GitLab Issues for questions
- Be clear and concise in descriptions
- Provide context for your changes
- Ask for help when needed
Contributors are recognized in:
- Our contributors list
- Release notes for significant contributions
- Special thanks in project announcements
If you need help:
- Check existing issues and documentation
- Create a new issue on GitLab
- Join our discussions (if enabled)
- Ask questions in merge requests
By contributing, you agree that your contributions will be licensed under the same MIT License as the project.
Thank you for contributing to Flowboard! Your contributions help make this project better for everyone. 🎉