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
Community contributions like answering questions and writing tutorials are often the most impactful ways to help other developers succeed with elizaOS.
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
develop
branch for monorepo or1.x
branch 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
Large refactors are unlikely to be accepted. Focus on incremental improvements and bug fixes first. Always discuss major architectural changes with core developers before starting work.
- 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
develop
branch - Plugin repositories: Target
1.x
branch (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
Core developers are active in Discord and can provide guidance on whether your planned contribution aligns with project goals.
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