This guide covers contributing to the main elizaOS monorepo and the elizaOS plugin ecosystem.
Understanding the Ecosystem
elizaOS open source contribution happens across these main areas:Main Repository (Monorepo)
github.com/elizaos/eliza - The core monorepo containing:packages/core- Runtime, types, interfacespackages/cli- Command-line tools and elizaos CLIpackages/server- Agent server implementationpackages/client- Client libraries and interfaces- Core plugins (
packages/plugin-bootstrap,packages/plugin-sql, etc.) - Project templates (
packages/project-starter,packages/project-tee-starter) - Plugin templates (
packages/plugin-starter,packages/plugin-quick-starter) - Config files, READMEs & more
Plugin Ecosystem
github.com/elizaos-plugins - Official plugins maintained by the elizaOS team:plugin-discord- Discord integrationplugin-twitter- Twitter/X integrationplugin-evm- Ethereum and blockchain functionality- And many more frequently-used plugins
Step 1: Identify an Issue
Check Main Repository Issues
Start here first - Browse existing bugs in the main repo: elizaos/eliza/issues Focus on labels like:good first issue- Perfect for newcomersbug- Something that needs fixing
The best way to start contributing is fixing reported bugs rather than writing new features.
elizaOS-Maintained Plugin Issues
Find issues in elizaOS-maintained plugins (often more focused for first contributions): Official elizaOS plugins:Community Plugin Issues
Community plugins are separate - These are built by the community:- Browse the Plugin Registry for community-maintained plugins
- Check their GitHub repositories for contribution opportunities
- Help with maintenance: updating dependencies, fixing bugs, improving docs
- Consider adopting unmaintained plugins by forking and continuing development
Creating Issues for New Bugs
If you discover a bug without an existing issue:- Reproduce the bug consistently & locally
- Check if it’s already reported by searching existing issues
- Create a detailed issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Node/Bun version, elizaOS version)
- Error messages or logs
Issue Template Example
Contribute to Docs and Community
Beyond code contributions, you can help in these important areas: Documentation contributions:- Add tutorials to the tutorials section in docs repository
- Update any outdated references, instructions, or broken links you find
- Fix typos, improve clarity, or add missing examples
- Answer questions in GitHub Discussions Q&A section
- Help with troubleshooting - Setup issues, configuration problems, etc.
- Share knowledge in general discussions about elizaOS development
- Showcase projects in show and tell or participate in feature discussions
Step 2: Contribution Workflow
elizaOS follows standard open source contribution practices for all repositories.Clone and Set Up Repository
- Clone the repository you want to contribute to on your local machine
- Create a branch off the
developbranch for monorepo or1.xbranch for plugins - Install dependencies and build the project
Make Your Changes Locally
Focus on these types of contributions:- Fix existing functionality that isn’t working
- Improve error handling and edge cases
- Performance optimizations
- Documentation corrections
- Make your changes to fix the bug or implement the improvement
- Test your changes thoroughly - run existing tests and add new ones if needed
- Ensure code quality - follow linting rules and TypeScript requirements
Submit Your Pull Request
Target the correct branch:- Main repository (elizaos/eliza): Target
developbranch - Plugin repositories: Target
1.xbranch (or check the default branch)
- Clear description of what the PR does
- Link to the related issue (
Fixes #123) - List of specific changes made
- Check that CI/GitHub Actions are passing
- Screenshots if there are UI changes
Collaborate During Review
- Respond to code review comments promptly
- Make requested changes in additional commits
- Be open to feedback and iteration
Code Quality Standards
What we look for:- Bug fixes with clear reproduction steps
- Performance improvements with benchmarks
- Documentation improvements and corrections
- Test coverage improvements
- Security fixes
- TypeScript: All code must be properly typed
- Testing: New features require tests, bug fixes should include regression tests
- Documentation: Update relevant documentation for any user-facing changes
- Linting: Code must pass all linting checks
- Commit Messages: Use clear, descriptive commit messages
Step 3: Get Connected
Join Discord for Development
Connect with core developers and other contributors: Join elizaOS Discord Key channels for contributors:- 💬 #coders - Development discussions and questions
- 💻 #tech-support - Help others troubleshoot and get help yourself
Communicate Before Major Work
For significant contributions:- Post in 💬 #coders about your planned contribution
- Share your approach before implementing large features
- Ask questions - the community is helpful and welcoming
Build Community Connections
- Participate in discussions and help answer questions
- Share your progress and learn from others
- Connect with the core devs & other community contributors
- Stay updated on project direction and roadmap