We welcome contributions from the community! Here's how you can help improve this project.
- Fork the repository
- Clone your fork
git clone https://github.com/yourusername/slack-openhands-bot.git cd slack-openhands-bot - Install dependencies
npm install
- Set up your environment
cp .env.example .env # Edit .env with your Slack tokens
npm run dev# Test OpenHands connection
npm run test-connection
# Manual testing with your Slack workspace
npm start- Use GitHub Issues
- Include error messages and logs
- Describe steps to reproduce
- Mention your environment (Node.js version, OS, etc.)
- Use GitHub Issues with "enhancement" label
- Describe the use case
- Explain how it would help users
- Fork the repo and create a feature branch
- Follow existing code style
- Add comments for complex logic
- Test your changes thoroughly
- Submit a pull request
- Code follows existing style
- Changes are tested locally
- Documentation is updated if needed
- Commit messages are clear
- What changes were made
- Why the changes were needed
- How to test the changes
- Any breaking changes
src/
├── index.js # Main Slack bot entry point
├── config.js # Configuration management
├── openHandsSocketClient.js # OpenHands WebSocket client
└── simple-webhook-bot.js # Alternative webhook implementation
- Error Handling: Better error messages and recovery
- Performance: Optimize message processing
- Testing: Add automated tests
- Docker: Containerization support
- Setup Guides: Platform-specific instructions
- Troubleshooting: Common issues and solutions
- Examples: Real-world usage scenarios
- Translations: More language support
- Message Formatting: Better Slack message styling
- File Support: Handle file uploads/downloads
- Multi-workspace: Support multiple Slack workspaces
- Analytics: Usage statistics and monitoring
- Use ES6+ features
- Prefer
constoverlet - Use meaningful variable names
- Add JSDoc comments for functions
- Use conventional commit format
- Examples:
feat: add file upload supportfix: handle connection timeoutsdocs: update setup instructions
- Bot responds to mentions
- Thread conversations work
- Direct messages work
- Slash commands function
- Error handling works
- OpenHands integration stable
We plan to add:
- Unit tests for core functions
- Integration tests with mock Slack API
- End-to-end testing framework
- Use inclusive language
- Help others learn
- Give constructive feedback
- Respect different perspectives
- Keep discussions relevant
- Use appropriate channels
- Search before asking questions
- GitHub Discussions for general questions
- GitHub Issues for bug reports
- Check existing documentation first
- We aim to respond to issues within 48 hours
- Pull requests are reviewed within a week
- Complex features may take longer
Contributors will be:
- Listed in the README
- Mentioned in release notes
- Invited to join core team (for significant contributions)
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for helping make OpenHands more accessible to everyone! 🙏