Skip to content

fix(setup-banner): #24 β€” name env vars in copy, fix docsUrl, document auto-banner#77

Merged
TortoiseWolfe merged 1 commit intomainfrom
fix/24-setup-banner-clarity
May 5, 2026
Merged

fix(setup-banner): #24 β€” name env vars in copy, fix docsUrl, document auto-banner#77
TortoiseWolfe merged 1 commit intomainfrom
fix/24-setup-banner-clarity

Conversation

@TortoiseWolfe
Copy link
Copy Markdown
Owner

Summary

Three small clarity gaps in the SetupBanner that fork users hit on first run with empty Supabase config. The component itself already shipped (5-file pattern, consent-aware, auto-detects via `isSupabaseConfigured()`); this PR closes the remaining copy/docs gaps identified by the 2026-05-02 audit.

What changed

1. Default message names the env vars

Was: `Supabase is not configured. Some features may be unavailable.` β€” fork users couldn't tell which two `NEXT_PUBLIC_*` vars to populate.
Now: `Supabase is not configured: set NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY in your .env file.`

2. Default docsUrl points at the actual setup guide

Was: `github.com/.../ScriptHammer#supabase-setup` β€” non-existent README anchor.
Now: `github.com/.../docs/FORKING.md#supabase-setup` β€” exists, canonical setup walkthrough.

3. `docs/FORKING.md` mentions the auto-banner

Added a paragraph at the top of the Supabase Setup section explaining the banner is intentional, auto-disappears once env vars are populated, and is dismissible. Fork users were arriving at FORKING.md with no indication that the yellow alert wasn't a bug.

Tests

  • Updated default-prop URL assertion to the new href
  • Added regression pin: a new test asserts both `NEXT_PUBLIC_SUPABASE_URL` and `NEXT_PUBLIC_SUPABASE_ANON_KEY` appear in the default message, so a future copy refactor can't silently drop one

Verification

  • `pnpm run type-check`: clean
  • `pnpm run lint`: clean
  • `pnpm test`: 3248/3248 pass (one new regression test)

Refs

  • PRP: `docs/prp-docs/supabase-banner-clarity-prp.md` (Option A chosen for docsUrl β€” direct link to FORKING.md, no README change required)
  • Audit: `docs/interoffice/audits/2026-05-02-supabase-banner-audit.md`

Closes

Closes #24

πŸ€– Generated with Claude Code

… auto-banner

The SetupBanner component already shipped (5-file pattern, consent-aware,
auto-detects via isSupabaseConfigured()). #24 closes by improving three
small clarity gaps the audit identified at docs/interoffice/audits/
2026-05-02-supabase-banner-audit.md:

1. Default message named the env vars to set. Fork users seeing
   "Supabase is not configured. Some features may be unavailable."
   couldn't tell which two NEXT_PUBLIC_* vars to populate. New copy:
   "Supabase is not configured: set NEXT_PUBLIC_SUPABASE_URL and
   NEXT_PUBLIC_SUPABASE_ANON_KEY in your .env file."

2. Default docsUrl points at the actual setup guide. Was pointing at
   github.com/.../ScriptHammer#supabase-setup β€” a non-existent README
   anchor. Now points at docs/FORKING.md#supabase-setup, which exists
   and is the canonical setup walkthrough.

3. docs/FORKING.md mentions the auto-banner. Added a paragraph at the
   top of the Supabase Setup section explaining the banner is
   intentional, auto-disappears once env vars are populated, and is
   dismissible. Fork users were arriving at FORKING.md with no
   indication that the yellow alert wasn't a bug.

Tests: kept the existing default-prop test (URL match updated to new
href). Added a regression pin asserting both env-var names appear in
the default message, so a future copy refactor can't drop one.

Verification:
- pnpm run type-check: clean
- pnpm run lint: clean
- pnpm test: 3248/3248 pass (one new regression test)

Closes #24

Refs: PRP at docs/prp-docs/supabase-banner-clarity-prp.md (Option A
chosen for docsUrl β€” direct link to FORKING.md, no README change)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@TortoiseWolfe TortoiseWolfe merged commit 79709a8 into main May 5, 2026
29 checks passed
@TortoiseWolfe TortoiseWolfe deleted the fix/24-setup-banner-clarity branch May 5, 2026 19:15
TortoiseWolfe added a commit that referenced this pull request May 6, 2026
Phase 0 (template hygiene for forks) closed this session via 5 PRs:
  - #77 (#24) SetupBanner clarity
  - #70 (#69) Docker volume permissions
  - #78 (#22) Mobile-First Web Vitals instrumentation
  - #79 (#73) Constitution v1.0.2 wireframe gate
  - #81 (#21) WCAG AAA scope upgrade

STATUS.md updates:
  - Snapshot date: 2026-04-27 β†’ 2026-05-06
  - Stability blurb: rewritten to reflect Phase 0 closure
  - 001 WCAG: [~] β†’ [x] AAA standard, ContactForm green, overlay β†’ #80
  - 004 Mobile-First: [~] β†’ [x] Web Vitals through GoogleAnalytics
  - 006 Template Fork: [~] β†’ [x] SetupBanner + Docker volume fix
  - 015 OAuth Display Name: [~] β†’ [x] full cascade with GitHub fixtures
  - Summary table: Shipped count 18 β†’ 22

Inventories regenerated via scripts/refresh-inventories.py:
  - skill-index.md (22 items)
  - workflow-status.md (7 items)
  - security-touchpoints.md (45 items)
  - screen-inventory.md (25 items)

Pure documentation; no code changes.

Co-authored-by: TurtleWolfe <TurtleWolfe@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

[Gap-Audit] 006 Template Fork: add Supabase missing-config first-run banner

2 participants