packages/docs/quickstart.mdx
Create an elizaOS project, install dependencies, and run it.
npx elizaos create my-agent-app --template project
cd my-agent-app
bun install
You can also run elizaos create with no arguments for interactive template selection.
Copy the generated example file and add your model provider key:
cp .env.example .env
For an OpenAI-backed local setup:
OPENAI_API_KEY=your-api-key
Project templates may include additional app-specific .env.example files under apps/app/. Keep secrets in local .env files and out of version control.
Start the generated development server:
bun run dev
The generated project owns the app runtime scripts. Common scripts include:
bun run dev
bun run build
bun run test
bun run typecheck
bun run lint
Open the URL printed by the dev server. In the default fullstack project, the branded app lives in apps/app, while the local elizaOS checkout lives under eliza/.
my-agent-app/
├── apps/
│ └── app/ # Project app: branded web, desktop, and mobile shell
├── eliza/ # Local elizaOS checkout used by the generated workspace
├── .elizaos/
│ └── template.json # Template metadata for future upgrades
├── .env.example
├── package.json # Project scripts
└── bunfig.toml
The project is the deployable product workspace. The project app is the branded shell inside apps/app. Runtime extensions are plugins, and app plugins are plugins that also contribute app surfaces.
From the project root:
elizaos upgrade --check
elizaos upgrade
Use --check before writing changes. The upgrade command updates managed template files and reports conflicts instead of overwriting local edits.