Prerequisites: Make sure you have completed the Quickstart guide and have Node.js (version 23.0 or higher) and Bun installed.
Development Tracks
elizaOS offers two distinct development paths depending on your goals and experience level:Beginner Track
Perfect for creating and customizing your own AI agents using the elizaOS CLI
Advanced Track
For contributors and developers building custom elizaOS versions
Beginner Development Track
The beginner track is focused on using the elizaOS CLI to create and customize your agents without diving into the core framework code.Getting Started with CLI Development
1
Create Your Agent
If you haven’t already, create a new agent using the elizaOS CLI:
2
Navigate to Your Agent Directory
3
Understand the Project Structure
Your agent directory contains:
character.json
- Your agent’s personality and configurationpackage.json
- Project dependencies and scripts.env
- Environment variables and API keysplugins/
- Directory for custom plugins
Modifying Your Character
Thecharacter.json
file defines your agent’s personality, knowledge, and behavior:
character.json
Experiment with different personality traits and knowledge entries to create unique agent behaviors.
Working with Plugins
Plugins extend your agent’s capabilities with additional features:Installing Plugins
Use the elizaOS CLI to add existing plugins:After installing plugins, you must add them to your character configuration to activate them. See Plugin Management for complete installation details.
character.json
character.ts
Removing Plugins
To remove a plugin:.json
or .ts
).
Available Plugins
Available Plugins
Available Plugins
@elizaos/plugin-bootstrap
- Base plugin infrastructure@elizaos/plugin-sql
- SQL database integration@elizaos/plugin-forms
- Forms for structured data collection@elizaos/plugin-starter
- Template for creating new plugins
Testing Your Changes
After making modifications:http://localhost:3000
to interact with your customized agent.
Advanced Development Track
The advanced track is for developers who want to contribute to the elizaOS core framework or build custom versions.Setting Up the Monorepo
1
Clone the Repository
Clone the official elizaOS monorepo:
2
Install Dependencies
Use Bun to install all dependencies:
3
Build the Project
Build all packages in the monorepo:
Monorepo Structure
The elizaOS monorepo is organized as follows:Contributing to Core Framework
Development Workflow
1
Create a Feature Branch
2
Make Your Changes
Edit files in the relevant package directory
3
Run Tests
4
Build and Verify
5
Submit a Pull Request
Push your changes and create a PR on GitHub
Key Development Areas
- Core Framework
- Plugin Development
- CLI Improvements
Work on the fundamental elizaOS engine:
- Agent reasoning logic
- Memory management
- Plugin system architecture
- Performance optimizations
Creating Custom elizaOS Versions
For specialized use cases, you might want to create a custom fork:Custom Version Best Practices
Maintain Compatibility
Keep your custom version compatible with the core plugin system
Document Changes
Clearly document all modifications and custom features
Stay Updated
Regularly sync with upstream to get the latest improvements:
Local Development Tips
Environment Setup
Create a.env.local
file for development:
.env.local
Using Development Mode
Run the framework in development mode with hot reload:Debugging
Enable Debug Logging
Enable Debug Logging
Set
LOG_LEVEL=debug
in your environment variablesUse VS Code Debugger
Use VS Code Debugger
The monorepo includes VS Code debug configurations in
.vscode/launch.json
Performance Profiling
Performance Profiling
Use
bun run profile
to generate performance reportsBest Practices
For Beginners
- Start with small character modifications
- Test changes frequently
- Back up your
character.json
before major changes - Join the community for plugin recommendations
For Advanced Users
- Follow the project’s coding standards
- Write comprehensive tests for new features
- Document your code thoroughly
- Participate in code reviews
Getting Help
Documentation
Comprehensive guides and API references
GitHub Issues
Report bugs and request features
Discord Community
Get help from the community
Next Steps
1
Choose Your Track
Decide whether to start with the beginner or advanced track based on your goals
2
Set Up Your Environment
Follow the setup instructions for your chosen track
3
Start Building
Begin creating your agent or contributing to the framework
4
Share Your Work
Share your creations with the elizaOS community!