Skip to content

feat(ext): first-time setup walkthrough on the options page#70

Merged
paperhurts merged 1 commit into
mainfrom
feat/onboarding-polish
Jul 3, 2026
Merged

feat(ext): first-time setup walkthrough on the options page#70
paperhurts merged 1 commit into
mainfrom
feat/onboarding-polish

Conversation

@paperhurts

Copy link
Copy Markdown
Owner

Summary

Onboarding polish from epic #61 Phase 1: an in-extension setup walkthrough with a "create your bookmarks repo" deep link and clearer PAT guidance on the options page.

Changes

  • First-time setup guide (options.html): a <details> block above the form with three steps —
    1. Create a private repo (pre-filled via query params), with a note that any existing repo works too;
    2. Create a fine-grained token with the exact steps (Only select repositories → the bookmarks repo; Contents: Read and write; nothing else) and what to do at expiry;
    3. paste, Validate, Save.
  • Guide auto-opens when no settings exist (first run / post-corruption reset shows the form blank anyway) and collapses on successful save (options.ts).
  • PAT guidance: github_pat_… placeholder + hint that the token is stored only in this browser's extension storage and sent only to api.github.com — no gitmarks server.
  • Saved status now says what to do next: ✓ saved — click the gitmarks icon on any page to save it. The three options-page e2e assertions moved from toHaveText("✓ saved") to toContainText (two of them are in skipped tests, updated for consistency; the popup-save assertion is untouched).
  • Dropped a pre-existing unused browser import in options.ts.

Single-source change: both shells copy options.html from extension-shared at prebuild, so Chrome and Firefox pick this up identically.

Verification

  • pnpm --filter @gitmarks/extension-shared test — 127 passed
  • pnpm typecheck — all packages clean
  • Both shells build
  • Real browser: full Chrome e2e suite — 7 passed, 2 (intentionally) skipped, including the real-GitHub reconcile round-trip
  • Fresh-profile Chromium screenshot confirms the guide auto-opens and renders in the web-UI palette

Notes

  • The github.com/new query-param pre-fill (name/visibility/description) is best-effort — if GitHub ignores a param the link still lands on repo creation. Worth an eyeball during the next manual smoke test.
  • The store-listing options screenshot (docs/store assets) predates this change and should be re-captured before submission.

Part of #61

🤖 Generated with Claude Code

Onboarding polish for the store submission (#61 Phase 1):

- "First-time setup" guide at the top of the options page: deep link to
  github.com/new pre-filled for a private bookmarks repo, deep link to the
  fine-grained PAT page with the exact repository-access + Contents:
  read-write steps, then validate-and-save.
- The guide is a <details> that auto-opens when no settings exist and
  collapses after a successful save.
- Clearer PAT guidance: github_pat_ placeholder and a hint that the token
  stays in extension storage and only ever goes to api.github.com.
- Saved confirmation now points at the next action (click the icon to save
  a page); e2e assertions updated to toContainText accordingly.

Single-source change in extension-shared — both shells copy options.html
at prebuild. Verified in real Chromium (7 e2e passed, fresh-profile
screenshot shows the guide open).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@paperhurts paperhurts merged commit b4b7f86 into main Jul 3, 2026
1 check passed
@paperhurts paperhurts deleted the feat/onboarding-polish branch July 3, 2026 19:46
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