Password Generator accepts community contributions.
Found a bug? Create an issue with:
- Clear, descriptive title
- Steps to reproduce the issue
- Expected vs actual behavior
- Environment details (Node.js version, OS)
- Code samples if applicable
Open a feature request with:
- Clear description of the proposed feature
- Use cases and benefits
- Implementation considerations
- Fix typos or unclear explanations
- Add examples for complex use cases
- Improve API documentation
- Update installation guides
- Node.js >= 18.0.0
- Git
# 1. Fork the repository on GitHub
# 2. Clone your fork
git clone https://github.com/YOUR-USERNAME/password-generator.git
cd password-generator
# 3. Install dependencies
npm install
# 4. Create a feature branch
git checkout -b feature/your-feature-name
# 5. Make your changes
# Edit files in src/ directory only (dist/ is auto-generated)
# 6. Test your changes
npm test
npm run lint
# 7. Build to verify everything works
npm run build- Follow existing code style (ESLint configuration provided)
- Use meaningful variable and function names
- Add JSDoc comments for public APIs
- Write tests for new features
- Write tests for new features
- Existing tests must continue passing
- Run
npm testbefore submitting
- Use cryptographically secure randomness (
cryptomodule) - Validate all inputs
- Follow secure coding practices
- Tests pass (
npm test) - Linting passes (
npm run lint) - Build succeeds (
npm run build) - Documentation updated (if applicable)
- CHANGELOG updated (if applicable)
- Clear title: Describe what the PR does
- Detailed description: Explain the changes and why they're needed
- Link related issues: Reference any related GitHub issues
- Small, focused changes: Keep PRs focused on a single concern
- Automated checks run (tests, linting, security)
- Code review by maintainers
- Feedback incorporated
- Final approval and merge
password-generator/
├── src/
│ ├── bin/ # CLI implementation
│ ├── lib/ # Core password generators
│ │ ├── base64-password.js
│ │ ├── memorable-password.js
│ │ └── strong-password.js
│ ├── dictionaries/ # Word lists for memorable passwords
│ └── utils/ # Utility functions
├── test/ # Test files
├── docs/ # Generated documentation
└── .github/ # GitHub templates
- Use kebab-case for files:
strong-password.js - Match test files to source:
strong-password.test.js
Please read our Code of Conduct. We are committed to providing a welcoming and inclusive environment.
- Be respectful and constructive
- Ask questions if anything is unclear
- Help others when you can
- Stay focused on the issue at hand
Contributors are recognized in:
- GitHub contributors list
- Release notes for significant contributions
- Project documentation
- 💬 GitHub Discussions for questions
- 🐛 GitHub Issues for bugs
- 📧 Contact: hello@password-generator.pro
Thank you for contributing to making Password Generator better!
Designed by Sebastien Rousseau — Engineered with Euxis