This guide describes the current alpha release path for DevMesh. It covers the Hub Server, Web Admin, Website, PostgreSQL runtime used by the Docker Compose stack, and the public devmesh CLI npm package.
The alpha release publishes deployable application artifacts and the public devmesh CLI package. Internal workspace packages remain private; the CLI bundles them into dist/index.js, while Docker images build them from source.
Included artifacts:
apps/mesh-server: Hub Server container.apps/web-admin: static Web Admin container with/apiproxied to the Hub Server.apps/website: static documentation website container.postgres: PostgreSQL service for durable knowledge and Hub state storage.apps/dmx: publicdevmeshnpm package that installs thedmxCLI.
Run the full verification suite before creating a tag or building images. The release check synchronizes the publishable CLI package version from the workspace root, validates the git tag, and smoke-tests the packed npm CLI in a temporary install prefix:
pnpm install
pnpm release:checkTo run only the packaged CLI install smoke locally:
pnpm npm:smokeKnown build warnings:
- The Web Admin Vite build may report existing chunk-size and pure annotation warnings.
Build and start the alpha stack:
pnpm docker:upFor background startup followed by a smoke check:
pnpm docker:up:detached
pnpm docker:smokeDefault URLs:
Hub Server: http://127.0.0.1:8721
MCP endpoint: http://127.0.0.1:8721/mcp
Web Admin: http://127.0.0.1:5173
Website: http://127.0.0.1:3000
Stop the stack:
pnpm docker:downRemove local volumes when you intentionally want to reset PostgreSQL and server data:
pnpm docker:down:volumesThe same commands are summarized in ../deploy/README.md.
pnpm docker:smoke waits for the stack and checks:
- Hub Server
/healthz. - Hub Server
/.well-known/devmesh. - Web Admin static shell.
- Web Admin
/healthzproxy. - Website home page.
Use deploy/mesh-server.env.example as the template for non-compose deployments:
cp deploy/mesh-server.env.example mesh-server.envThe server config precedence is:
CLI args > process env > env file
Run the built server directly:
pnpm build
node apps/mesh-server/dist/index.js --env-file ./mesh-server.envBuild individual images from the repository root:
docker build -f apps/mesh-server/Dockerfile -t devmesh-server:alpha .
docker build -f apps/web-admin/Dockerfile -t devmesh-web-admin:alpha .
docker build -f apps/website/Dockerfile -t devmesh-website:alpha .The Docker Images GitHub workflow is manual-only for now, so v* tags can publish npm and GitHub Release artifacts without automatically publishing containers. When run manually, it publishes the three application images to GitHub Container Registry:
ghcr.io/<owner>/devmesh-server:<tag>
ghcr.io/<owner>/devmesh-web-admin:<tag>
ghcr.io/<owner>/devmesh-website:<tag>
Tag rules for manual runs:
- Manual dispatch on a branch publishes
manual-<run-number>andsha-<short-sha>. - Manual dispatch on a tag publishes
<git-tag>,alpha, andsha-<short-sha>.
The workflow uses the repository GITHUB_TOKEN with packages: write; no registry password needs to be committed. The target registry can be switched to Docker Hub later without changing the npm or GitHub Release workflows.
The Website Pages GitHub workflow builds the VitePress site and uploads apps/website/docs/.vitepress/dist to GitHub Pages. Enable Pages in repository settings before relying on the workflow.
The Release Artifacts GitHub workflow runs pnpm release:check, packages non-Docker artifacts, and uploads them as workflow artifacts. On v* tags, it also creates a GitHub Release with generated notes.
Release assets:
devmesh-web-admin-<tag>.tar.gz
devmesh-website-<tag>.tar.gz
devmesh-deploy-<tag>.tar.gz
The Web Admin and Website archives contain static files ready for any static host. The deploy archive contains README.md, deploy/, and this release guide.
The NPM Publish GitHub workflow publishes the devmesh CLI package on v* tags. Manual dispatch builds and uploads the npm tarball as a workflow artifact without publishing.
Required repository secret:
NPM_TOKEN
The workflow publishes with provenance, public package access, and the alpha dist-tag:
npm install -g devmesh@alphaThe CLI package bundles internal workspace code into dist/index.js; runtime npm dependencies are limited to external packages used by the bundled CLI.
The CLI package repository.url must match the GitHub repository used by Actions provenance.
- Public npm publishing is enabled for the
devmeshCLI only. Internal workspace libraries remain private and are bundled into the CLI. - Container image publishing is manual-only and currently targets GHCR; Docker Hub publishing can be wired in later without affecting npm releases.
- GitHub Release artifacts currently cover static frontends and deployment docs; the Node server is released through source checkout or container images, not as a standalone npm package.
- Web Admin is intended to be served behind the included Nginx proxy or another reverse proxy that forwards
/apiand/healthzto the Hub Server. - Production secrets and external PostgreSQL credentials should be provided through the deployment platform, not committed to the repository.