Skip to content

feat(onboarding): Vee-guided first-run tour + milestone power tour#27

Merged
New1Direction merged 16 commits into
mainfrom
feat/vee-onboarding
Jun 16, 2026
Merged

feat(onboarding): Vee-guided first-run tour + milestone power tour#27
New1Direction merged 16 commits into
mainfrom
feat/vee-onboarding

Conversation

@New1Direction

Copy link
Copy Markdown
Owner

Summary

A first-run Vee-guided walkthrough plus a milestone "power" tour, so new users land in something useful in two minutes and discover the deeper tools once their library grows. Fully client-side — no backend, no telemetry, MV3-safe.

Stacked PR. Base is feat/canvas-engine (itself stacked on feat/scan-ledger). This PR shows only the onboarding diff; merge the lower branches first.

What's included

  • Seeded demo (honojs/hono, recognizable, DEMO badge): real surfaces with zero AI calls. Torn down after the tour, and excluded from stats, export, and backup. Guarded so it can never overwrite or delete a real scan of the same repo.
  • Two-stage intro: Stage A coachmark on the Library → opens the demo's Verdict → Stage B continues onto the Blueprint, then cleans up.
  • Milestone tour offered after 5 real scans (3-way: Show me / Maybe later / Don't ask; "Maybe later" snoozes to ≥10).
  • Vee's voice: a machine anti-slop gate (tests/onboarding-copy.test.js) plus a human de-slop review pass.
  • Replay via ⌘K command, empty-state chip, and an Options button.
  • Coachmark engine: pure placeCard geometry (unit-tested) + veil/spotlight/card/Vee mount; reduced-motion aware, focus-trapped milestone dialog.
  • New files: demo-repo.js, onboarding-copy.js, onboarding.js, coachmark.js, onboarding-demo.html (standalone screenshot harness). Flags allowlisted in settings backup; demo __demo__ filtered from exportStores.

Test plan

  • npx vitest run — 814 tests / 83 files green (14 new: copy gate, demo fixture, onboarding steps, coachmark geometry, export exclusion)
  • eslint — 0 errors
  • Live smoke test (Playwright on onboarding-demo.html): intro tour + milestone tour render; spotlight, relative card placement, and corrected selectors verified
  • Two review rounds — fixed a CRITICAL Stage A→B handoff bug (demo opened github.com instead of the Verdict tab) and milestone selector drift
  • Manual: load unpacked extension, empty library → intro fires, demo seeds, Stage B reaches Blueprint, demo torn down
  • Manual: 5+ real repos → milestone offer; verify snooze-to-10 and Don't-ask
  • Manual: Options → Replay onboarding; ⌘K "Take the tour"; export a backup and confirm no __demo__ repo

New1Direction and others added 16 commits June 16, 2026 09:08
…demo seed/teardown

Wire the Vee onboarding into the Library: brand-new users get the Stage A
intro coachmark (demo repo seeded + reload so it loads as a real card), and
users with 5+ real scans get a 3-way milestone offer (Show me / Maybe later /
Don't ask). Adds a 'Take the tour' palette command and an empty-state replay
chip. Demo rows carry __demo__ through saveRepo + libraryRow so they are
excluded from stats and torn down on a later returning-user load.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…om export

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…lags, scenes-on-export, exporter width, corkboard dblclick, repair-graph coords
@New1Direction
New1Direction changed the base branch from feat/canvas-engine to main June 16, 2026 18:55
@New1Direction
New1Direction merged commit 6427b55 into main Jun 16, 2026
1 check passed
@New1Direction
New1Direction deleted the feat/vee-onboarding branch June 16, 2026 18:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant