Thanks for your interest in contributing to dotenv-diff! Contributions of all kinds are welcome — code, documentation, ideas, and feedback.
- Fork the repository
- Clone your fork
- Install pnpm:
npm install -g pnpm - Install dependencies:
pnpm install - Make your changes
- Run tests:
pnpm run test - Commit and push your changes
- Open a pull request
We use Conventional Commits for automatic versioning and changelog generation.
Format:
<type>[optional scope]: <description>
[optional body]
Types:
feat:- New feature (triggers minor version bump)fix:- Bug fix (triggers patch version bump)perf:- Performance improvementrevert:- Revert a previous commitdocs:- Documentation onlystyle:- Code style changes (formatting, missing semi-colons, etc.)chore:- Maintenance, tooling, refactorsrefactor:- Code restructuringtest:- Adding or updating testsci:- CI / workflow changes
Examples:
feat: add json output support
fix: handle empty env file
docs: update README usage section
chore: refactor parser internalsBreaking changes (triggers major version bump):
feat!: change CLI output formator
feat: change CLI output format
BREAKING CHANGE: The CLI output format has changed and is not backward compatible.This will trigger a major release.
Code Quality
- Keep changes small and focused
- Follow the existing code style and project structure
- Write clear, descriptive commit messages
Testing & Documentation
- Add or update tests when introducing new behavior
- Update the README or documentation when relevant
Communication
- For larger changes or new features, open an issue first to discuss
- Avoid large refactors or breaking changes unless discussed beforehand
- Open your PR against the
mainbranch - The changes are small, focused, and easy to review
- Describe what you changed and why
- Link to related issues if applicable
Feel free to open an issue for discussion — all feedback is welcome.
Thanks for contributing! 💚