Skip to main content

Release status

botmesh is in beta. The public packages are published from the Changesets prerelease mode beta: The guides document the beta and the API it freezes for the stable line. Coming from a 2.0 alpha, read the upgrade guide.

npm dist-tags

  • beta always points at the newest beta of each package. A publish moves it automatically.
  • latest is what a plain install (pnpm add @botmesh/core) resolves to. The release tooling never moves it during the beta: the maintainer moves it by hand to the same versions after each publish, so a plain install gets the beta too.
Right after a publish, latest can still point at the previous beta for a while. Check the tags with:

Installing

Install the core plus the packages you need, with a plain install:
or with the beta tag, which always gets the newest beta (use it when latest lags behind):
Install every @botmesh/* package from the same tag. The published packages depend on each other with caret ranges (^x.y.z), so the package manager keeps a single copy of @botmesh/core; mixing builds from different tags can fail on missing exports or peer ranges (see Troubleshooting). To start a new project, npm create botmesh stamps matching versions for you (see Quick start).

Requirements

  • Node.js 22 or newer. Every package declares "engines": { "node": ">=22" }. The quick start recommends 22.12 or newer.
  • ESM only. No package ships CommonJS: use import (never require()), set "type": "module" in your package.json (or use .mjs files) and, with TypeScript, "module": "nodenext".
  • Optional SDKs are peer dependencies loaded lazily: the LLM SDKs of @botmesh/ai, better-sqlite3, pg, mysql2, mongodb and redis for the stores, imapflow and nodemailer for email, pdf-parse for RAG, @opentelemetry/api for @botmesh/otel. Install the one you use.

Entry points and semver

A package’s main entry (@botmesh/core, @botmesh/telegram…) is its public API, covered by semver. Some packages add subpath entries:

Public packages (36)

All of them are on npm under beta and latest. The directory is the folder under packages/. Engine Channels (12) Shared infrastructure Stores (5) Operations and observability Plugins (8) Tooling Ten of them were first published during the alpha (core, baileys, meta, telegram, sqlite-store, redis-store, ai, http, graph-core and create-botmesh); the other 26 were published for the first time with the beta.

Private packages (9)

These packages are implemented and tested, but they have "private": true in their package.json: they are not on npm, they do not follow semver and their API may change. Pages that document them carry an “Experimental” notice and sit at the end of their section. Use them from a clone of the monorepo, with "workspace:*" dependencies. A published package never depends on them. The repository also holds a runnable example, examples/bakery-ai (@botmesh/example-bakery-ai, private).

Next steps