Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
Be respectful and constructive in all interactions. We're all here to learn and build something useful together.
- Check existing issues to avoid duplicates
- Use the bug report template
- Include:
- Browser and version
- Operating system
- Steps to reproduce
- Expected vs actual behavior
- Console errors (if any)
- Open a discussion first for major features
- Describe the use case and motivation
- Consider security implications
- Fork the repository
- Create a branch:
git checkout -b feature/your-feature - Make changes following our conventions
- Test your changes:
npm run test - Lint your code:
npm run lint - Commit with a clear message
- Push to your fork
- Open a Pull Request
- Code follows project conventions
- All tests pass (
npm run test:unit) - Linting passes (
npm run lint) - Type checking passes (
npm run check) - New code has test coverage
- Documentation updated if needed
type: short description
Examples:
feat: add passkey export functionality
fix: handle PRF timeout error
docs: update security documentation
refactor: simplify key derivation logic
test: add encryption edge case tests
feat: New featurefix: Bug fixdocs: Documentation onlyrefactor: Code change that doesn't fix a bug or add a featuretest: Adding or updating testschore: Maintenance tasks
See docs/DEVELOPMENT.md for detailed setup instructions.
# Quick start
git clone <repository-url>
cd passwordless-encryption
npm install
npm run devFor security-related issues, please see docs/SECURITY.md for our responsible disclosure policy.
Do not open public issues for security vulnerabilities.
- Open a Discussion for general questions
- Check existing issues and discussions first
- Be patient — maintainers are volunteers
Thank you for contributing! 🙏