Development
Pages in this section are for contributors working on Hover — not for end users who want to use Hover in their project. If you're here to install Hover and try it, head to Get started instead.
What's inside
- Monorepo layout — the
packages/*overview, who depends on whom, and the MCP / core / extension split. - Testing & validation — the unit, integration, and end-to-end layers, and the release gate.
- Releasing — how a
v*tag push triggers.github/workflows/publish.ymlto publish the npm packages, and how the VS Code extension is staged + packaged.
Quick reference
# Clone + install (workspace install, no per-package step)
git clone https://github.com/Hyperyond/Hover.git
cd Hover
pnpm install
# Build everything (postinstall already handles this for fresh clones)
pnpm build
# Type-check the workspace
pnpm typecheck
# Run unit tests across every package that has them
pnpm test
The surfaces
-
@hover-dev/mcp— the MCP-first authoring engine, published to npm. Add it to your agent withnpm i -g @hover-dev/mcp && claude mcp add hover -- hover-mcp. -
@hover-dev/core— the shared engine. Consumed by the MCP and by the extension. -
hover-dev(packages/vscode-ext) — the optional review cockpit. Build and sideload it with:pnpm --filter hover-dev package # build + stage engine + vsce package → hover-dev-<v>.vsix
The extension consumes @hover-dev/core as local source — its stage-engine step npm packs the local packages/core and flat-installs it into the staged engine. Editing core/src during extension dev needs a pnpm --filter @hover-dev/core build (or a dev watch terminal) and a re-package to pick it up; @hover-dev/core points main at dist/ rather than src/ for this reason — see Monorepo layout § dist-entry package.