Understanding and building with elizaOS projects
Create a project
elizaos create --type project
Configure agents
Develop features
Test locally
elizaos start
without needing the full monorepoDeploy to production
src/ - Your main development workspace
dist/ - Compiled JavaScript output
elizaos start
or elizaos dev
(automatic), or manually with bun run build
Contains the compiled JavaScript files from your TypeScript source. This is what actually runs when you start your project.node_modules/ - Installed dependencies
bun install
or npm install
Contains all the packages your project depends on, including elizaOS core and plugins.bun install
).eliza/ - Local runtime data
scripts/ - Utility scripts
rm -rf node_modules dist .eliza
to completely reset your project’s generated files. Then bun install
and your next elizaos start
will rebuild automatically.src/index.ts
, where you define your agents, their character files, and any custom plugins or services. You might configure a single agent with specialized plugins, or coordinate multiple agents with distinct personalities and capabilities.
Build your project structure to match your needs and goals, whether that’s organizing agents by function, separating character configurations, or creating shared utilities. The elizaOS runtime will orchestrate everything once you define your project configuration.
.env
files for your API key management and configuration. Define these at the project level to start, then you can define them at the agent level in multi-agent projects using the secrets
array in your character .ts
/.json
object.
What's the difference between an agent, a plugin, and a project?
.env
) or agent-specific (in the character’s secrets
array)Can I develop plugins within a project?
src/plugins/
directory and test them locally.You can also develop a standalone plugin with elizaos create --type plugin
. If you run elizaos dev
from that plugin directory, it will spin up with a test agent. But ultimately, everyone will want to add that plugin to a project at some point.See the Create a Plugin guide for details.Do I need the entire elizaOS monorepo to develop?
elizaos create
, you get a standalone workspace with just what you need. The CLI and core packages provide all the framework functionality without the monorepo complexity.How do agents communicate in multi-agent projects?
Can different agents use different model providers?
What's the best way to deploy my project?