| title | Contributing Guide | |||
|---|---|---|---|---|
| description | How to contribute to the platform. | |||
| category | tutorial | |||
| tags |
|
|||
| difficulty | beginner | |||
| last-updated | 2026-01-16 |
How to contribute to the platform.
Thank you for your interest in contributing! This guide explains how to get involved.
- Bug fixes — Fix reported issues
- Features — Implement new functionality
- Performance — Optimisation improvements
- Tests — Increase test coverage
- Documentation — Improve guides and references
- Translations — Help localise the platform
- Bug reports — Report issues with detail
- Feature requests — Suggest improvements
- Code review — Review pull requests
Follow the Development Setup guide.
Look for issues labelled:
good first issue— Suitable for newcomershelp wanted— Ready for contributiondocumentation— Doc improvements needed
Comment on the issue to indicate you're working on it.
Follow our Code Style guidelines.
Follow our Pull Request process.
flowchart LR
A[Find Issue] --> B[Claim Issue]
B --> C[Create Branch]
C --> D[Make Changes]
D --> E[Write Tests]
E --> F[Submit PR]
F --> G{Review}
G -->|Changes Requested| D
G -->|Approved| H[Merge]
<type>/<short-description>
Examples:
- fix/message-timestamp-display
- feature/emoji-reactions
- docs/improve-setup-guide
- refactor/message-store
Use conventional commits:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types:
feat— New featurefix— Bug fixdocs— Documentationstyle— Formattingrefactor— Code restructuringtest— Adding testschore— Maintenance
Example:
fix(chat): correct message timestamp display
Use created_at (Nostr standard) instead of timestamp property.
Convert Unix timestamp to JavaScript Date.
Fixes #123
- Be respectful and inclusive
- Accept constructive criticism
- Focus on what's best for the community
- Show empathy towards others
- Harassment or discrimination
- Trolling or insulting comments
- Personal or political attacks
- Publishing others' private information
Violations may result in temporary or permanent bans from the project.
- Follow Code Style guidelines
- Write meaningful comments where needed
- Keep functions small and focused
- Use TypeScript types properly
- Write tests for new features
- Ensure existing tests pass
- See Testing Guide
- Update docs for user-facing changes
- Document new APIs
- Keep examples up to date
- Correctness — Does it work as intended?
- Code quality — Is it maintainable?
- Tests — Is it adequately tested?
- Documentation — Is it documented?
- Security — Are there vulnerabilities?
- Initial review within 2-3 working days
- Follow-up reviews within 1-2 days
- Simple changes may be merged quickly
- Complex changes may need multiple reviews
- Address all comments
- Ask clarifying questions if needed
- Update code as requested
- Re-request review when ready
- GitHub Issues — Bug reports, feature requests
- GitHub Discussions — Questions, ideas
- Pull Request comments — Code-specific questions
- #development channel — Real-time discussion
Use provided templates for:
- Bug reports
- Feature requests
- Documentation improvements
Contributors are recognised in:
- Release notes
- Contributors list
- Special thanks in documentation
- Development Setup — Environment setup
- Code Style — Coding standards
- Testing — Testing guidelines
- Pull Requests — PR process