Swarms on GitHub
The Swarms framework is developed openly on GitHub. This is where you can view the source code, report bugs, request features, and contribute to the project.Visit Repository
View the Swarms source code and contribute on GitHub
Reporting Issues
Found a bug or problem? Here’s how to report it effectively:Before Reporting
-
Search Existing Issues: Check if someone has already reported the issue
- Search open issues
- Check closed issues too - your issue may have been resolved
-
Verify It’s a Bug: Make sure it’s actually a bug and not expected behavior
- Check the documentation
- Look at the examples
- Ask in Discord if you’re unsure
Creating a Bug Report
When creating a bug report, include:-
Clear Title: A concise summary of the issue
- Good: “Agent fails when using tools with streaming enabled”
- Bad: “Agent broken”
-
Description: Detailed information about the bug
- What you were trying to do
- What you expected to happen
- What actually happened
-
Steps to Reproduce: Exact steps to reproduce the issue
-
Code Sample: Minimal reproducible example
-
Error Messages: Include the full error message and stack trace
-
Environment Information:
- Operating System (e.g., macOS 14.0, Ubuntu 22.04, Windows 11)
- Python version (e.g., 3.10.5)
- Swarms version (e.g., 6.5.0)
- Relevant dependency versions
- Additional Context: Screenshots, logs, or other helpful information
Using Issue Templates
Swarms provides issue templates to help you structure your report:Requesting Features
Have an idea for a new feature? Here’s how to request it:Before Requesting
- Check Existing Requests: Search for similar feature requests
- Review the Roadmap: Check the project board
- Discuss on Discord: Get community feedback on Discord
Creating a Feature Request
Include the following in your feature request:-
Clear Title: Describe the feature concisely
- Good: “Add support for async agent execution”
- Bad: “Make it better”
-
Problem Statement: Explain the problem this feature solves
-
Proposed Solution: Describe how you envision the feature working
- Alternatives Considered: Other approaches you’ve thought about
- Use Cases: Real-world scenarios where this would be useful
- Benefits: How this feature would improve Swarms
Contributing Code
Getting Started
-
Fork the Repository: Create your own copy
- Click the “Fork” button on GitHub
-
Clone Your Fork: Download to your local machine
- Set Up Development Environment: Follow the development setup guide
Making Changes
-
Create a Branch: Use a descriptive name
- Make Your Changes: Follow the coding standards
-
Write Tests: Ensure your changes are tested
- Update Documentation: Document your changes
Submitting a Pull Request
-
Push Your Changes:
- Create Pull Request: On GitHub, click “New Pull Request”
-
Fill Out PR Template: Provide:
- Description: What changes you made and why
- Related Issues: Link to related issues (e.g., “Fixes #123”)
- Type of Change: Bug fix, new feature, documentation, etc.
- Testing: How you tested your changes
- Screenshots: If applicable
-
Wait for Review: Maintainers will review your PR
- Be responsive to feedback
- Make requested changes promptly
- Keep the conversation professional
PR Best Practices
Keep PRs Small and Focused
Keep PRs Small and Focused
- One feature or bug fix per PR
- Easier to review and merge
- Faster feedback cycle
Write Clear Commit Messages
Write Clear Commit Messages
Include Tests
Include Tests
- All new features need tests
- Bug fixes should include regression tests
- Maintain or improve code coverage
Update Documentation
Update Documentation
- Update docstrings
- Add examples if needed
- Update relevant docs pages
Finding Issues to Work On
Good First Issues
New to contributing? Start here:- Good First Issues
- Specifically selected for newcomers
- Well-documented and scoped
- Mentorship available
Help Wanted
Looking for more challenging issues?- Help Wanted Issues
- Issues where maintainers need assistance
- More complex problems
- High impact on the project
Project Board
View the project roadmap and current priorities:- Contributing Board
- See what’s being worked on
- Find areas that need help
- Participate in planning discussions
GitHub Workflow
Issue Labels
Understand what labels mean:bug: Something isn’t workingenhancement: New feature or requestdocumentation: Improvements or additions to documentationgood first issue: Good for newcomershelp wanted: Extra attention is neededquestion: Further information is requestedwontfix: This will not be worked on
Milestones
Issues are organized into milestones representing releases:- View active milestones
- See what’s planned for upcoming releases
- Track progress toward release goals
Repository Structure
Getting Help with GitHub
Need help with the GitHub workflow?- Ask in the #contributors channel on Discord
- Check the GitHub documentation
- Schedule an onboarding session
Recognition
Your contributions are valued and recognized:Contributors Wall
All contributors are featured in the README:Community Acknowledgment
- Featured in release notes
- Mentioned in community calls
- Recognition on social media
Start Contributing Today
Visit the Contributing Guide to learn more about how you can contribute to Swarms!