First off, thank you for considering contributing to our WebSocket utilities for Nostr! It's people like you that make the Nostr ecosystem thrive.
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please check the issue list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps which reproduce the problem
- Provide specific examples to demonstrate the steps
- Describe the behavior you observed after following the steps
- Explain which behavior you expected to see instead and why
- Include any error messages or logs
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:
- A clear and descriptive title
- A detailed description of the proposed functionality
- Explain why this enhancement would be useful
- List any similar features in other projects if applicable
- Fork the repo
- Create a new branch from
main - Make your changes
- Run the tests (
npm test) - Push to your fork
- Submit a Pull Request
# Clone your fork
git clone git@github.com:your-username/nostr-websocket-utils.git
# Install dependencies
cd nostr-websocket-utils
npm install
# Run tests
npm test
# Build the project
npm run buildWe use Jest for testing. Please ensure all new code includes appropriate tests:
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage- We use ESLint and Prettier for code formatting
- Use TypeScript for all new code
- Follow existing patterns in the codebase
- Document all public APIs using TSDoc comments
- Update the README.md with details of changes to the interface
- Update documentation for any changed functionality
- Add tests for new functionality
- Ensure all tests pass
- Update the version number in package.json following SemVer
- The PR will be merged once you have the sign-off of at least one maintainer
- Update the README.md if you change functionality
- Document new functions/types with TSDoc comments
- Include code examples for new features
We accept donations through:
- GitHub Sponsors
- Bitcoin/Lightning Network
- NOSTR Zaps
Feel free to create an issue labeled 'question' if you need help or clarification.
Thank you for contributing! 🚀