Thank you for your interest in contributing! This document provides guidelines and instructions for contributing to this project.
- Be respectful and considerate of others
- Welcome newcomers and help them learn
- Focus on constructive feedback
- Respect different viewpoints and experiences
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/polymarket-copy-trading-bot.git - Create a branch:
git checkout -b feature/your-feature-name - Install dependencies:
npm install
- Node.js v18 or higher
- npm v9 or higher
- TypeScript knowledge
- Understanding of blockchain/trading concepts
- Follow the existing code style
- Use TypeScript strict mode
- Add JSDoc comments for public functions
- Use meaningful variable and function names
- Keep functions focused and small
Before committing, ensure your code passes:
# Check linting
npm run lint
# Fix auto-fixable issues
npm run lint:fix
# Format code
npm run format
# Type check
npx tsc --noEmit- Write tests for new features
- Ensure all existing tests pass:
npm test - Aim for good test coverage
Use clear, descriptive commit messages:
feat: Add new trade aggregation feature
fix: Resolve balance calculation issue
docs: Update README with new configuration options
refactor: Improve error handling in trade executor
test: Add tests for copy strategy calculation
- Update Documentation: If you're adding features, update relevant documentation
- Add Tests: Include tests for new functionality
- Ensure CI Passes: All CI checks must pass
- Update CHANGELOG: Document your changes (if applicable)
- Create PR: Open a pull request with a clear description
- Code follows the project's style guidelines
- Self-review completed
- Comments added for complex code
- Documentation updated
- Tests added/updated
- All tests pass
- No new warnings or errors
- TypeScript compiles without errors
- Bug fixes
- Performance improvements
- Security enhancements
- Documentation improvements
- Additional copy trading strategies
- Better error recovery mechanisms
- Enhanced monitoring and alerting
- UI/CLI improvements
When reporting bugs, please include:
- Description: Clear description of the issue
- Steps to Reproduce: Detailed steps to reproduce
- Expected Behavior: What should happen
- Actual Behavior: What actually happens
- Environment: Node.js version, OS, etc.
- Logs: Relevant error logs (sanitize sensitive data)
Do not open public issues for security vulnerabilities. Instead, contact the maintainer directly.
Feel free to open a discussion or contact the maintainer for questions about contributing.
By contributing, you agree that your contributions will be licensed under the ISC License.