Skip to content

v0.1.0

@chihyungchang chihyungchang tagged this 21 May 07:43
What works end-to-end:
- @hover/vite-plugin injects a Shadow DOM widget via transformIndexHtml, no-op in production (apply: 'serve'). Widget source is split across three sibling files (template.html, style.css, client.js) assembled at request time so each gets proper editor tooling.
- @hover/core runs as a 127.0.0.1 WebSocket service per Vite dev server, auto-bumps port 51789-51798 for concurrent examples.
- Widget chat with persistent state (localStorage), session resume, WebSocket reconnect-with-backoff.
- Inline modal replaces all native prompt() / confirm() use, with single-form name+description prompts and danger confirmations.
- Save-as-Skill writes .claude/skills/<slug>/SKILL.md for Claude Code auto-discovery.
- Save-as-Spec emits standard @playwright/test code under __vibe_tests__/ with getByRole / getByLabel / getByTestId preferred selectors.
- Alt-click Assert This derives assertions from DOM state.
- Record mode captures manual clicks/typing as steps in the same shape the agent emits.
- Skills overlay lists + invokes saved skills.
- 5 example apps (basic-app, e-commerce, stock-registration, canvas-paint, payment-provider) on ports 5173-5177.

Validation: pnpm typecheck, pnpm test (18/18), pnpm test:e2e (2/2), pnpm verify-widget, pnpm smoke against basic-app (11 turns, ~$0.16, sonnet).
Assets 2
Loading