> ## Documentation Index
> Fetch the complete documentation index at: https://engramviz.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Package releases

> Versioning and publishing rules for the synchronized Engram npm packages.

Engram publishes six packages from one synchronized version:

1. `@engramviz/core`
2. `@engramviz/sdk`
3. `@engramviz/adapter-mem0`
4. `@engramviz/adapter-langgraph`
5. `@engramviz/studio`
6. `@engramviz/cli`

## Release checklist

1. Confirm npm trusted publishing remains configured for `.github/workflows/release.yml`.
2. Update every package to one synchronized version and update the changelog.
3. Run `npm run test:distribution` on the release commit.
4. Push a matching tag such as `v0.2.0`.
5. Verify the published packages from a clean external project.

The workflow rejects a tag that does not match every package version. It runs deterministic tests and the clean-room packed-package test, builds the platform-neutral standalone Studio on the GitHub Linux runner, and publishes packages in dependency order with npm provenance. Versions already present in npm are skipped so retried workflows and bootstrap release tags are safe.

## Versioning

All packages use one version so a CLI release always targets a compatible Studio, SDK, and contract. Breaking telemetry, turn-envelope, or regression-artifact changes require a major version. Additive APIs and optional contract fields may ship in a minor version; fixes ship in a patch version.

Do not publish generated `packages/*/dist` directories from a developer machine. The release workflow builds them from the tagged source and tests the exact tarball structure first.

## Web and documentation releases

The npm package release is separate from the hosted surfaces. The public web
project deploys from Vercel with `apps/web` configured as the Root Directory.
The repository-root Next application is local Studio and must not be used as the
Vercel root. The root `vercel.json` fails closed when that boundary is
misconfigured. Mintlify publishes the `docs` project at
[docs.engramviz.com](https://docs.engramviz.com).

Before a public web release, run `npm run test:public`, `npm run build:public`,
and `npm run verify:public`. The verifier requires `/` and `/demo`, rejects API
routes, and scans generated output for Studio server-secret markers.
