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 focuses on using the elizaOS CLI to create and customize your agents without diving into the core framework code.Getting Started with CLI Development
Modifying Your Character
Thecharacter.json file defines your agent’s personality, knowledge, and behavior:
character.json
Working with Plugins
Plugins extend your agent’s capabilities with additional features:Installing Plugins
Use the elizaOS CLI to add existing plugins: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
Monorepo Structure
The elizaOS monorepo is organized as follows:Contributing to Core Framework
Development Workflow
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.jsonPerformance 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.jsonbefore 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

