Printable idea sheet
package_versioning
reqlan rq/core-architecture.rq:90
Separate workspace packages exist for build isolation and reuse — not because each ships to every channel.
language_package and analytical_package are leaf libraries shared by LSP, index, MCP, and CLI; they need their own package boundaries for TypeScript project refs and a single grammar / index ownership point.
Release-driving channels:
- Marketplace / Open VSX: extension_package ( `ext/v*` )
- GitHub Pages: site_package ( `site/v*` )
- npm registry: package_versioning, package_versioning, and cli_package ( `language/v*`, `analytical/v*`, `cli/v*` ) via Changesets `changeset publish`
Changesets config is config.json. It ignores mcp_package only.
language_package and analytical_package stay in the Changesets graph so a lib change can bump their versions and patch dependents via `updateInternalDependencies: "patch"` ( including the extension and CLI ).
Extension webview folders may be private pnpm members ( e. g. `@reqlan/ideas-summary-webview` ) so Vite / Svelte can own deps; they bundle into extension media and are not Changesets publish targets. Activity-bar UI is not a separate package. json product.
Contributors record release intent with a changeset on publishable packages when user-facing behaviour changes; see version_management.
Interactive page: package_versioning