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, interfaces
  • packages/cli - Command-line tools and elizaos CLI
  • packages/server - Agent server implementation
  • packages/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 integration
  • plugin-twitter - Twitter/X integration
  • plugin-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 newcomers
  • bug - 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:
  1. Reproduce the bug consistently & locally
  2. Check if it’s already reported by searching existing issues
  3. 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
## Bug Description
The Discord plugin fails to connect when using voice channels

## Steps to Reproduce  
1. Configure agent with Discord and ElevenLabs plugins
2. Invite agent to voice channel
3. Agent connects but immediately disconnects

## Expected Behavior
Agent should remain connected and respond with voice

## Environment
- elizaOS version: 1.4.4
- Node version: 23.3
- OS: macOS 14.0

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
Community support:
  • 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

  1. Clone the repository you want to contribute to on your local machine
  2. Create a branch off the develop branch for monorepo or 1.x branch for plugins
  3. 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.
Implementation steps:
  1. Make your changes to fix the bug or implement the improvement
  2. Test your changes thoroughly - run existing tests and add new ones if needed
  3. 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)
Create a detailed pull request with:
  • 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
Technical requirements:
  • 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:
  1. Post in 💬 #coders about your planned contribution
  2. Share your approach before implementing large features
  3. 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

What’s Next?