Thank you for your interest in contributing to Refly Bot! This document provides guidelines and instructions for contributing.
Please be respectful and constructive in all interactions with the community.
If you find a bug, please open an issue with:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Your environment (OS, Node.js version, etc.)
- Relevant logs or screenshots
Feature suggestions are welcome! Please open an issue with:
- A clear description of the feature
- Use cases and benefits
- Any implementation ideas you have
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature-name) - Make your changes
- Test your changes thoroughly
- Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/your-feature-name) - Open a Pull Request
- Clone your fork:
git clone https://github.com/yourusername/refly-bot.git
cd refly-bot- Install dependencies:
npm install- Copy
.env.exampleto.envand configure:
cp .env.example .env
# Edit .env with your credentials- Run the bot:
npm run dev- Use ES6+ features
- Follow existing code formatting
- Add comments for complex logic
- Keep functions focused and small
- Use meaningful variable names
Before submitting a PR:
- Test your changes with a real Feishu/Lark bot
- Verify all existing functionality still works
- Test edge cases and error scenarios
- Use clear, descriptive commit messages
- Start with a verb (Add, Fix, Update, Remove, etc.)
- Keep the first line under 72 characters
- Add details in the body if needed
Example:
Add support for image attachments
- Implement image upload handling
- Add image size validation
- Update documentation
refly-bot/
├── index.js # Main bot implementation
├── package.json # Dependencies and scripts
├── bootstrap.sh # Unix startup script
├── bootstrap.bat # Windows startup script
├── .env.example # Environment variable template
├── .gitignore # Git ignore rules
├── LICENSE # Apache 2.0 license
├── README.md # Project documentation
└── CONTRIBUTING.md # This file
If you want to add support for a new messaging platform:
- Create a new adapter module
- Implement the platform-specific message handling
- Integrate with the existing Refly.ai workflow
- Add documentation for setup and configuration
- Update the README with the new platform
If you have questions about contributing, feel free to:
- Open an issue for discussion
- Reach out to the maintainers
Thank you for contributing to Refly Bot!