Thank you for considering contributing to TaskMaster-Monday Sync! This document provides guidelines and instructions for contributing.
By participating in this project, you agree to abide by our Code of Conduct. Please be respectful and considerate of others.
- Check if the bug has already been reported in the Issues
- If not, open a new issue and include:
- A clear title and description
- Steps to reproduce the bug
- Expected and actual behavior
- Environment details (OS, Node.js version, etc.)
- Screenshots if applicable
- Check if the feature has already been suggested in the Issues
- If not, open a new issue and include:
- A clear title and description
- Detailed explanation of the feature
- Any relevant mockups or examples
- How the feature would benefit users
- Fork the repository
- Create a new branch for your changes
- Make your changes
- Add or update tests as necessary
- Update documentation if needed
- Ensure all tests pass with
npm test - Submit a pull request to the
developmentbranch
# Clone your fork
git clone https://github.com/your-username/task-master-sync.git
cd task-master-sync
# Add the original repo as upstream
git remote add upstream https://github.com/yourusername/task-master-sync.git
# Install dependencies
npm install
# Run tests
npm test- Follow the existing code style
- Use meaningful variable and function names
- Write clear comments for complex code
- Include JSDoc comments for public functions
- Write tests for new features or bug fixes
- All new features should include tests
- Run
npm testto run all tests - Tests should be placed in the
testdirectory
- Update documentation for new features or changes
- Document any new options or configuration
- Provide examples where appropriate
Follow the Conventional Commits specification:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the coderefactor: A code change that neither fixes a bug nor adds a featuretest: Adding missing tests or correcting existing testschore: Changes to the build process or auxiliary tools
Example: feat: add support for custom column types
- Ensure all tests pass
- Update version in package.json according to Semantic Versioning
- Update CHANGELOG.md
- Create a pull request to the main branch
- After merging, create a new release on GitHub
- CI will automatically publish the package to npm
If you have any questions about contributing, please open an issue or reach out to the maintainers.
Thank you for your contributions!