Members

IdeaFileStatusSummary
build_prepare reqlan rq/development/build.rq Copy TextMate grammars from the language package into extension syntaxes. Sync Cursor agent skills from extension sources into `.cursor/skills`. The orchestrator caches `build:syntaxes` independently and always runs the external Cursor-skill sync before webview and host bundling.
extension_build reqlan rq/development/build.rq Production builds for the VS Code extension are orchestrated by [extension_build_script]. Run from the extension package: `pnpm run build` or `node scripts/build.mjs`. Workspace-wide builds also run langium generation and sibling packages via the root `pnpm run build`. Local and F5 builds use [incremental_extension_build]; VSIX prepublish uses the forced path.
extension_bundle reqlan rq/development/build.rq The extension host ( `src/extension/main.ts` ) and language server ( `src/language/main.ts` ) are bundled with esbuild per [extension_esbuild]. sql. js asm is emitted as `out/extension/vendor/sql-asm.cjs` and remains behind a dynamic import so the extension host entry does not parse the database engine before first paint. Output: CommonJS `.cjs` files under `packages/extension/out/`. `vscode` remains external; a small `Object.groupBy` polyfill is injected for older Node runtimes.
extension_media_build reqlan rq/development/build.rq Extension logo assets are generated by ["../../packages/extension/scripts/generate-media.mjs"] from ["../../site/public/logo.svg"]. PNG ( `media/logo.png` ) is tracked in git and used as the packaged icon for marketplace, language file icon, and activity bar ( Azure Marketplace rejects SVG ). WebP and SVG copies remain build outputs ( gitignored ); regenerate via `build:media` when the source logo changes. Invoked as `pnpm run build:media` at the start of [extension_build_script].
extension_readme_build reqlan rq/development/build.rq Generate `packages/extension/README.md` from [extension_readme_script] and README. template. md before VSIX packaging. Marketplace links are resolved from ["../../scripts/phonebook.ts"]; changelog body comes from packages / extension / CHANGELOG. md ( Changesets output ). Invoked as `pnpm run build:readme` at the start of [extension_build_script]. Requirement: ["../distribution/distribution.rq".extension_readme].
extension_typecheck reqlan rq/development/build.rq Extension TypeScript sources are checked with `tsc -b tsconfig.json` before bundling. `noEmit: true` — compilation output comes from esbuild, not tsc.
incremental_extension_build reqlan rq/development/build.rq done Extension builds fingerprint inputs and outputs per independently cacheable artifact: - Langium generated sources / TextMate grammar - generated shared graph-physics source - logo media - generated marketplace README - each of the five Vite webviews separately - extension-host / language-server / lazy sql. js esbuild outputs A step is skipped only when its command / input fingerprint and current output-content fingerprint both match the cache under `packages/extension/out/`. Missing, changed, or manually edited output invalidates that step. Webview output fingerprints cover each complete emitted directory, including future lazy chunks. Host-bundle inputs include bundled phonebook data and the sql. js vendor source as well as workspace package output. TypeScript retains its native `tsc -b` project-reference incrementality. TextMate syntax copies are cached by content; Cursor-skill sync still runs because it targets workspace-external state. `pnpm run build:force` / `node scripts/build.mjs --force` bypasses all cache entries; `vscode:prepublish` uses this forced mode for release correctness. `clean` removes `out/`, including the cache, so clean builds remain cold. Root `pnpm run build:ext` delegates only to the extension package. The extension build generates Langium / physics artifacts when their fingerprints change, then its `tsc -b` builds language / analytical project references before downstream fingerprints are evaluated. It does not rebuild unrelated CLI, MCP, site, or test projects.
scope reqlan rq/development/build.rq extension build steps for local development and CI
webview_build reqlan rq/development/build.rq Svelte webview UI is bundled with Vite per [development_core]. Configs: [ideas_summary_vite_config], [activity_bar_vite_config], [onboarding_vite_config] Output lands in `packages/extension/media/webviews/` for the extension host to load. The onboarding webview inlines ["../../packages/extension/templates/thanks-for-installing.template.rq"] via Vite `?raw` for the in-page language example; the template source stays excluded from the VSIX. Requirement: ["../extension/onboarding/page-thanks-for-installing.rq".installation_event]. Watch mode during development: `bash scripts/watch.sh` vite `--watch` alongside tsc and esbuild.