Thank you for your interest in contributing to this project! This document provides guidelines and information for contributors.
- Code of Conduct
- Getting Started
- Development Setup
- Making Changes
- Testing
- Submitting Changes
- Style Guidelines
- Issue Reporting
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment
- Create a new branch for your changes
- Make your changes
- Test your changes
- Submit a pull request
- Node.js >= 18.0.0
- npm (comes with Node.js)
# Clone your fork
git clone https://github.com/YOUR_USERNAME/00akshatsinha00decomment.git
cd 00akshatsinha00decomment
# Install dependencies
npm install
# Run tests to ensure everything works
npm test
# Verify the CLI tool works
npm run verifyUse descriptive branch names:
feature/add-new-file-type-supportfix/windows-path-handlingdocs/update-readme-examplestest/improve-coverage
Follow conventional commit format:
feat: add support for TypeScript filesfix: resolve Windows path handling issuedocs: update installation instructionstest: add unit tests for glob patternsrefactor: improve error handling logic
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage
# Run CI tests
npm run test:ci- Write unit tests for new functions
- Write integration tests for CLI functionality
- Ensure tests work on Windows, macOS, and Linux
- Aim for high test coverage
- Use descriptive test names
describe('Feature Name', () => {
describe('Specific Functionality', () => {
test('should do something specific', () => {
// Test implementation
});
});
});- Ensure all tests pass
- Update documentation if needed
- Add or update tests for your changes
- Update CHANGELOG.md if applicable
- Create a pull request with a clear description
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
- [ ] Tests pass locally
- [ ] New tests added
- [ ] Manual testing completed
## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No breaking changes (or clearly documented)- Use 4 spaces for indentation
- No spaces around equals signs:
const files=patterns - No space before opening braces:
if(condition){ - No space after
if,for,while:if(condition) - Remove comments from code files
- Use meaningful variable names
- Keep functions focused and small
project/
├── bin/ # Executable files
├── test/ # Test files
│ ├── fixtures/ # Test data
│ ├── unit/ # Unit tests
│ └── cli.test.js # CLI integration tests
├── scripts/ # Build and utility scripts
├── docs/ # Documentation
└── README.md # Main documentation
- Use clear, concise language
- Include code examples
- Keep examples up to date
- Use proper markdown formatting
- Include table of contents for long documents
Include:
- Operating system and version
- Node.js version
- Command that caused the issue
- Expected behavior
- Actual behavior
- Error messages
- Steps to reproduce
Include:
- Clear description of the feature
- Use case and motivation
- Proposed implementation (if any)
- Examples of usage
bug: Something isn't workingenhancement: New feature or requestdocumentation: Improvements or additions to docsgood first issue: Good for newcomershelp wanted: Extra attention is needed
- Update the comment removal logic
- Add test fixtures for the new file type
- Write unit tests
- Update documentation
- Test on multiple platforms
- Test with large files and many files
- Consider memory usage
- Optimize glob patterns
- Use streaming for large files when possible
- Provide clear, actionable error messages
- Continue processing other files when one fails
- Use appropriate exit codes
- Log errors appropriately
- Update version in package.json
- Update CHANGELOG.md
- Run full test suite
- Create git tag
- Publish to npm
- Create GitHub release
- Check existing issues and documentation
- Ask questions in issues with
questionlabel - Be specific about your problem
- Include relevant code and error messages
Contributors will be recognized in:
- CHANGELOG.md for significant contributions
- README.md contributors section
- GitHub contributors page
Thank you for contributing to make this tool better for everyone!