Release process
Versioning
- Language / spec: v0.1 is defined in
docs/spec/v0.1.mdandschemas/signalql-ast-v0.1.schema.json. Spec changes should update the scope doc and schema together. - npm packages (
@signalql/*): use semver. Tag releases ascompiler-v0.1.xor unifiedv0.1.xper team preference; document the mapping in the GitHub release notes.
Checklist for a public release
npm testandnpm run build(includes docs site) pass onmain.- Update any version constants in packages if publishing to npm.
- Verify package contents before publishing:
npm pack --dry-run -w @signalql/compilernpm pack --dry-run -w @signalql/parsernpm pack --dry-run -w @signalql/sdknpm pack --dry-run -w @signalql/adaptersnpm pack --dry-run -w @signalql/clinpm pack --dry-run -w @signalql/mcp
- Publish packages in dependency order:
npm publish -w @signalql/compiler --access publicnpm publish -w @signalql/parser --access publicnpm publish -w @signalql/sdk --access publicnpm publish -w @signalql/adapters --access publicnpm publish -w @signalql/cli --access publicnpm publish -w @signalql/mcp --access public
- Do not publish
@signalql/playground; it is a private local app, not a package API. - Tag the repo from clean CI or a maintainer machine after packages are published.
- Deploy docs: build artifact is
docs/.vitepress/dist— publish tosignalql.orghosting (GitHub Pages, Cloudflare Pages, etc.) per.github/workflows/docs.yml. - Announce with pointers to spec, local playground instructions, CLI package, and MCP — avoid duplicating full prose; link canonical docs.
GitHub ↔ site sync
The docs site is generated only from the docs/ tree in this repository. Deploying the VitePress build keeps GitHub and signalql.org aligned; do not hand-edit production HTML outside this repo.