Noureddine RAMDI / elizaOS: a TypeScript monorepo for building and deploying AI agents

Created Sat, 02 May 2026 20:52:17 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

elizaOS/eliza

elizaOS tackles the common developer pain point of building AI agents that are both easy to start and extensible for complex projects. It provides two distinct paths: a CLI for beginners to quickly create and deploy AI agents without digging into the core code, and a full monorepo setup for contributors and advanced users to build complex plugins or manage multiple projects. This dual approach fits both rapid prototyping and long-term extensibility.

architecture and core functionality of elizaOS

At its core, elizaOS is a TypeScript monorepo that combines an API backend with a web UI frontend, plus a CLI tool to scaffold and run agents. The monorepo leverages Bun as the runtime and package manager, along with Vite for frontend development. This setup provides a fast, modern environment optimized for developer experience and performance.

The repository includes:

  • API + web UI app: served from the apps/app directory, the app uses Vite for hot reloading and Bun for runtime, enabling quick iterations and smooth integration between backend and frontend.
  • CLI tool: distributed as @elizaos/cli, this global CLI package lets users scaffold new AI agent projects interactively and run them with minimal setup.
  • Plugin architecture: the monorepo encourages creating custom plugins and multiple projects side-by-side, making it suitable for power users and contributors who want to extend core functionalities.

The stack choice around Bun is notable; Bun is an emerging JavaScript runtime that bundles package management, bundling, and runtime in one. Its use here signals a commitment to cutting-edge tooling that can speed up development and deployment, though it may require Windows users to run WSL 2 for compatibility.

The CLI approach abstracts away much of the complexity for beginners by handling interactive project creation and database setup internally (using pglite for zero-config local storage). This lowers the entry barrier while maintaining flexibility.

modularity and developer experience as the technical strength

What distinguishes elizaOS is its clear separation between quick CLI usage and the full monorepo for contributions, combined with a modular architecture suited for AI agent workflows.

The codebase, primarily TypeScript, is surprisingly clean and well-structured given the complexity of multi-project management. The use of Bun and Vite provides a smooth DX with fast installs, hot reloads, and runtime performance.

The monorepo structure supports multiple projects and plugins, allowing developers to extend the system without touching core code. This is a common pattern in mature open source projects but can add overhead in dependency management and build complexity. elizaOS mitigates this by leveraging Bun’s integrated package manager and a clear project layout.

Tradeoffs include:

  • Bun dependency: While Bun offers speed advantages, it is still maturing and less ubiquitous than Node.js, which could cause compatibility issues or deployment challenges.
  • Windows support requires WSL 2: This adds an extra step for Windows users and might be a barrier for casual experimentation.
  • Learning curve: The dual-mode operation (CLI vs monorepo) means users must pick a path and understand the tooling differences.

Despite these, the design choices reflect a pragmatic balance between ease of use for beginners and extensibility for power users.

quick start with elizaOS CLI

The README provides clear, copy-paste commands to get started quickly with the CLI:

# Install the elizaOS CLI globally
bun install -g @elizaos/cli

# Verify installation
elizaos --version

# Create a new AI agent project interactively
elizaos create my-first-agent

This sequence installs the CLI, checks the version, and creates a project with an interactive setup that configures database and other essentials automatically.

For those interested in the full monorepo experience (API + web UI), the commands are:

# From the repo root
bun install
bun run dev

# For desktop app development
bun run dev:desktop
bun run dev:desktop:watch

This enables running the full stack locally with hot reloads for development.

verdict

elizaOS is a practical platform for developers looking to build AI agents with TypeScript, offering both a low-barrier CLI and a full-featured monorepo for extensibility.

It’s relevant for:

  • Developers new to AI agents who want to create and deploy projects quickly without deep runtime or backend setup.
  • Contributors and power users who want to build custom plugins or manage multiple agent projects in a single monorepo.

The main limitations are the dependency on Bun (still emerging) and the requirement of WSL 2 for Windows users, which might limit adoption in some environments.

Overall, the architecture, modularity, and developer experience make elizaOS worth exploring if you want a hands-on, extensible AI agent framework built with modern TypeScript tooling.


→ GitHub Repo: elizaOS/eliza ⭐ 18,283 · TypeScript