We love your input! We want to make contributing to ValidKit CLI as easy and transparent as possible.
We follow Conventional Commits specification.
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
feat: New featurefix: Bug fixdocs: Documentation only changesstyle: Code style changes (formatting, missing semicolons, etc)refactor: Code change that neither fixes a bug nor adds a featureperf: Performance improvementstest: Adding missing tests or correcting existing testsbuild: Changes that affect the build system or external dependenciesci: Changes to CI configuration files and scriptschore: Other changes that don't modify src or test files
feat: add webhook support for async batch processing
fix: correct retry logic for rate-limited requests
docs: update CLI examples for bulk validation
perf: optimize batch processing for large email lists
-
Fork the repo and create your branch from
maingit checkout -b feat/your-feature-name # or git checkout -b fix/your-bug-fix -
Make your changes following our code style
-
Write/update tests for your changes
-
Run the test suite and ensure all tests pass
-
Update documentation if needed
Follow our commit convention:
# Single line commit
git commit -m "feat: add new validation option"
# Multi-line commit with details
git commit -m "feat: add batch validation progress" -m "- Show progress bar for large batches
- Add --no-progress flag to disable
- Update examples in README"Your PR title should follow the same convention as commits:
feat: add batch progress indicatorfix: correct timeout handlingdocs: update CLI examples
In your PR description, include:
- What - Brief description of changes
- Why - The motivation or issue being solved
- How - Technical approach (if not obvious)
- Testing - How you tested the changes
- Screenshots - If applicable
Example PR description:
## What
Adds a progress bar for batch validation operations
## Why
Users processing large email lists need feedback on progress
Closes #123
## How
- Uses ora spinner for progress indication
- Updates every 100 emails processed
- Can be disabled with --no-progress flag
## Testing
- Tested with batches of 100, 1000, and 10000 emails
- Verified --no-progress flag works correctly
- Confirmed JSON output mode suppresses progress- Ensure all CI checks pass
- Respond to code review feedback
- Keep your PR up to date with
main - Squash commits if requested
# Clone your fork
git clone https://github.com/YOUR_USERNAME/validkit-cli.git
cd validkit-cli
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build the project
npm run build
# Run tests
npm test- We use TypeScript strict mode
- Follow existing code patterns
- Use meaningful variable names
- Add JSDoc comments for public APIs
By contributing, you agree that your contributions will be licensed under the MIT License.
Feel free to open an issue with your question or contact support@validkit.com.