Thank you for your interest in contributing to WorkBoard! This document provides guidelines and instructions for contributing to this project.
- Fork the repository
- Clone your fork locally
- Create a new branch for your changes
- Make your changes
- Test your changes
- Submit a pull request
- A modern web browser (Chrome, Firefox, Safari, or Edge)
- A text editor or IDE (VS Code recommended)
- Git
-
Clone the repository:
git clone https://github.com/ShihaoShenDev/WorkBoard.git cd WorkBoard -
Open
index.htmlin your browser:- You can simply double-click the file
- Or use a local server (recommended for better performance):
# Python 3 python -m http.server 8000 # Then open http://localhost:8000 in your browser
- Use consistent indentation (2 spaces)
- Use descriptive variable and function names
- Add comments for complex logic
- Use modern JavaScript features (ES6+)
- Handle errors gracefully with try-catch blocks
- Use semantic HTML5 elements
- Keep structure clean and organized
- Use meaningful class and ID names
- Use consistent naming conventions (BEM-like)
- Use CSS custom properties for theming
- Keep styles organized by component
- Use responsive design principles
Use descriptive branch names:
feature/[feature-name]for new featuresfix/[bug-description]for bug fixesdocs/[documentation-update]for documentation changes
Follow conventional commit format:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, semicolons, etc.)refactor: Code refactoring without changing functionalitytest: Adding or updating testschore: Maintenance tasks
Example:
feat: add stopwatch functionality
- Added stopwatch display with milliseconds
- Implemented start, stop, and reset buttons
- Added visual feedback for active state
- Check existing issues to avoid duplicates
- Create a new issue with the label
enhancement - Provide a clear description of the feature
- Explain the use case and benefits
- Include any relevant mockups or examples
- Check existing issues to avoid duplicates
- Create a new issue with the label
bug - Provide a clear description of the bug
- Include steps to reproduce the bug
- Include expected and actual behavior
- Add browser version and OS if relevant
- Fork and Branch: Fork the repository and create a feature branch
- Test: Ensure your changes work correctly in multiple browsers
- Update Documentation: Update README.md or other documentation if needed
- Clean Commits: Squash related commits and use clear commit messages
- Describe Changes: Provide a clear PR description explaining what and why
- Link Issues: Reference any related issues using
Fixes #123orCloses #123
- Code follows the project's style guidelines
- Tests have been added/updated (if applicable)
- Documentation has been updated
- All tests pass
- Code is well-commented
- Changes are minimal and focused
Please be respectful and constructive in all interactions. We follow the Contributor Covenant Code of Conduct.
By contributing, you agree that your contributions will be licensed under the MIT License that covers this project.
Feel free to open an issue with the label question if you have any questions about contributing to this project.
Contributors will be recognized in the project's README.md file and release notes.
Thank you for contributing to WorkBoard! 🎉
Note: You can use AI tools like GitHub Copilot to contribute code - Just like me!
This document is generated by GitHub Copilot powered by mimo-v2-flash.