diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cd33b65..de090cd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -72,7 +72,7 @@ jobs: - name: PrePluginPack # The pluginpack-action runs `npx pluginpack diff/build` directly (not # `npm run build`), so the repo's prebuild esbuild step never fires. - # sources/glean-vnext/dist/index.js is gitignored, so build it here or + # sources/local-mcp/dist/index.js is gitignored, so build it here or # pluginpack's additionalFiles source read fails for every target. run: npm run build:bundle diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b716b81..af8e64a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,7 +1,7 @@ name: Test # Guard the source on every PR (and pushes to main): the transplanted -# glean-vnext server suite + typecheck, and a full build/validate of all +# local-mcp server suite + typecheck, and a full build/validate of all # targets. publish.yml only runs on release, so without this nothing catches # regressions before merge. on: diff --git a/.gitignore b/.gitignore index 4a892f8..91b36b9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,10 @@ node_modules/ # Generated build output (published to the target repos by CI) dist/ -# glean-vnext runtime MCP server bundle (regenerated by build:bundle / prebuild) -sources/glean-vnext/dist/ +# local-mcp runtime MCP server bundle (regenerated by build:bundle / prebuild) +sources/local-mcp/dist/ -# Claude Code runtime cache (glean-vnext skills cache written during local runs) +# Claude Code runtime cache (local-mcp skills cache written during local runs) .claude/tmp/ # OS files diff --git a/package.json b/package.json index 726271c..c993925 100644 --- a/package.json +++ b/package.json @@ -11,12 +11,12 @@ "type": "module", "scripts": { "build": "pluginpack build", - "build:bundle": "node sources/glean-vnext/build.mjs", + "build:bundle": "node sources/local-mcp/build.mjs", "clean": "pluginpack clean", "check:no-shell": "node scripts/check-no-shell-scripts.mjs", "prune": "pluginpack prune", - "typecheck:bundle": "tsc --noEmit -p sources/glean-vnext/tsconfig.json", - "test:bundle": "vitest run --root sources/glean-vnext", + "typecheck:bundle": "tsc --noEmit -p sources/local-mcp/tsconfig.json", + "test:bundle": "vitest run --root sources/local-mcp", "validate": "pluginpack validate --target claude --dir dist/claude && pluginpack validate --target cursor --dir dist/cursor && pluginpack validate --target codex --dir dist/codex", "test": "npm run build && npm run validate", "prebuild": "node scripts/sync-changelog.mjs && npm run build:bundle", diff --git a/pluginpack.config.ts b/pluginpack.config.ts index 61ebd89..5a0bdf9 100644 --- a/pluginpack.config.ts +++ b/pluginpack.config.ts @@ -34,7 +34,7 @@ export default defineConfig({ }, plugins: { glean: { - from: ["glean-lib", "shared", "claude", "glean-vnext"], + from: ["glean-lib", "shared", "claude", "local-mcp"], components: ["skills", "agents", "hooks"], displayName: "Glean", description: @@ -95,7 +95,7 @@ export default defineConfig({ }, plugins: { glean: { - from: ["glean-lib", "codex", "codex-assets", "glean-vnext"], + from: ["glean-lib", "codex", "codex-assets", "local-mcp"], components: ["skills", "assets"], description: "Official Glean plugin — search documents, Slack, and email; explore code across repos; find experts and stakeholders; prep for meetings and onboarding.", diff --git a/scripts/check-no-shell-scripts.mjs b/scripts/check-no-shell-scripts.mjs index eb6b494..04ef0e9 100644 --- a/scripts/check-no-shell-scripts.mjs +++ b/scripts/check-no-shell-scripts.mjs @@ -1,8 +1,8 @@ #!/usr/bin/env node -// CI guard: fail if any shell/bash script is added under the glean-vnext +// CI guard: fail if any shell/bash script is added under the local-mcp // source tree. // -// Why: the glean-vnext plugin ships and runs on end-user machines, including +// Why: the local-mcp plugin ships and runs on end-user machines, including // Windows, where POSIX shell (.sh / bash) is not available. We already // migrated the launcher from start.sh to start.mjs for exactly this reason. // Every executable helper the plugin relies on must be cross-platform, so the @@ -15,9 +15,9 @@ import fs from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; -// Scope: the glean-vnext plugin source. Broaden this list if the rule should +// Scope: the local-mcp plugin source. Broaden this list if the rule should // cover other source trees too. -const SCAN_ROOTS = ["sources/glean-vnext"]; +const SCAN_ROOTS = ["sources/local-mcp"]; // Never descend into generated/vendored trees. const SKIP_DIRS = new Set(["node_modules", "dist", ".git"]); @@ -69,11 +69,11 @@ if (offenders.length > 0) { .sort() .join("\n"); console.error( - `\n\u274c Shell/bash scripts are not allowed in the glean-vnext plugin source.\n\n` + + `\n\u274c Shell/bash scripts are not allowed in the local-mcp plugin source.\n\n` + `Found ${offenders.length} shell script(s):\n${rel}\n\n` + `The plugin runs on end-user machines including Windows, where POSIX shell\n` + `is unavailable. Use a cross-platform Node.js script instead:\n\n` + - ` - Write it as a .mjs file (see sources/glean-vnext/start.mjs).\n` + + ` - Write it as a .mjs file (see sources/local-mcp/start.mjs).\n` + ` - Use Node built-ins (node:fs, node:path, node:child_process) instead of\n` + ` shell utilities, and avoid shell-only syntax.\n` + ` - Invoke it with "node