How to Contribute
Thank you for your interest in contributing to Nexgent! This guide will help you get started.
Ways to Contribute
Code Contributions
- Bug fixes - Fix issues reported in GitHub Issues
- Features - Implement features from the roadmap or propose new ones
- Performance - Optimize existing code
- Tests - Improve test coverage
Non-Code Contributions
- Documentation - Improve docs, fix typos, add examples
- Bug reports - Report issues with clear reproduction steps
- Feature requests - Propose new features with use cases
- Community support - Help others in discussions
Getting Started
1. Find an Issue
Browse GitHub Issues (opens in a new tab) for:
| Label | Description |
|---|---|
good first issue | Great for newcomers |
help wanted | We'd appreciate help |
bug | Something isn't working |
enhancement | New feature or improvement |
documentation | Documentation improvements |
2. Claim the Issue
Comment on the issue to let others know you're working on it:
I'd like to work on this issue. I'll have a PR ready within [timeframe].3. Fork and Clone
# Fork on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/nexgent.git
cd nexgent
# Add upstream remote
git remote add upstream https://github.com/Nexgent-ai/nexgent-open-source-trading-engine.git4. Create a Branch
# Sync with upstream
git fetch upstream
git checkout main
git merge upstream/main
# Create feature branch
git checkout -b feature/your-feature-name5. Make Changes
Set up your development environment and make your changes.
6. Submit a Pull Request
See Pull Request Process for guidelines.
Contribution Guidelines
Before You Start
- Check existing issues - Someone may already be working on it
- Read the docs - Understand the architecture
- Small PRs - Break large changes into smaller, focused PRs
- Discuss first - For major changes, open an issue to discuss
Code Quality
- Follow the Code Style Guide
- Write tests for new features
- Ensure all tests pass
- Update documentation if needed
Commit Messages
Use conventional commit format:
type(scope): description
[optional body]
[optional footer]Types:
feat- New featurefix- Bug fixdocs- Documentationstyle- Formatting (no code change)refactor- Code restructuringtest- Adding testschore- Maintenance tasks
Examples:
feat(signals): add webhook signature verification
fix(positions): correct stop loss calculation for DCA
docs(api): add rate limiting documentation
test(agents): add unit tests for eligibility serviceCode of Conduct
Be Respectful
- Use welcoming and inclusive language
- Be respectful of differing viewpoints
- Accept constructive criticism gracefully
- Focus on what's best for the community
Be Collaborative
- Help others learn and grow
- Give credit where it's due
- Be patient with newcomers
- Share knowledge openly
Be Professional
- No harassment or discrimination
- No trolling or personal attacks
- Keep discussions on-topic
- Report violations to maintainers
Communication
GitHub Issues
- Bug reports - Use the bug report template
- Feature requests - Use the feature request template
- Questions - Use GitHub Discussions
GitHub Discussions
- Ask questions
- Share ideas
- Get help with setup
Pull Requests
- Reference related issues
- Describe changes clearly
- Respond to review feedback promptly
Recognition
Contributors are recognized in:
- README - All contributors listed
- Release notes - Credit for features/fixes
- Contributors page - Linked from docs
Questions?
- Open a GitHub Discussion (opens in a new tab)
- Check the FAQ
- Review existing issues and PRs