Skip to content

Add WarehouseWizardHint to data source pages#18819

Open
Lizzieepton wants to merge 2 commits into
masterfrom
posthog-code/warehouse-wizard-hint-sources
Open

Add WarehouseWizardHint to data source pages#18819
Lizzieepton wants to merge 2 commits into
masterfrom
posthog-code/warehouse-wizard-hint-sources

Conversation

@Lizzieepton

@Lizzieepton Lizzieepton commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Ports the product app's WarehouseWizardHint — the "Let AI connect your sources for you" nudge that promotes the npx @posthog/wizard warehouse CLI — to posthog.com, and renders it below the heading on the data-source pages.

Pages covered:

  • /data-stack/sources
  • /docs/data-warehouse/sources (docs root)
  • Every page under /docs/data-warehouse/sources/* (all source docs, including the API-generated source pages)

Implementation

New component src/components/WarehouseWizardHint renders a dashed-border card (sparkles icon + pitch) and reuses the shared WizardCommand for the copyable command, so the correct --region is appended via useCloud(). The card is dismissible, persisted to localStorage under warehouse-wizard-hint-dismissed (same key as the product app), and SSR-safe (starts hidden, revealed after a client-side effect).

Wiring, per how each page renders its heading:

  • src/pages/data-stack/sources.tsx — added directly as the first child, right under the ReaderView title.
  • src/components/ReaderView/index.tsx — injected once, immediately after the <h1>, gated on the /docs/data-warehouse/sources pathname. This is the single shared render point for the MDX source docs, so it covers the root plus every MDX child without editing each file. Guarded by !hideTitle.
  • src/templates/DataWarehouseSource.tsx — the API-generated source pages use this pure-React template with hideTitle and their own heading, so the hint is added directly after that heading (and the !hideTitle guard in ReaderView prevents a double render).

Created with PostHog Code

Port the product app's WarehouseWizardHint (the "let AI connect your
sources for you" nudge that promotes `npx @posthog/wizard warehouse`) to
posthog.com and render it below the heading on the data-source pages:

- /data-stack/sources (added directly in the page)
- /docs/data-warehouse/sources and every child page — injected once in
  ReaderView, gated on the pathname, for MDX source docs; added directly
  in the DataWarehouseSource template (which hides the ReaderView title
  and renders its own heading) with a !hideTitle guard to avoid
  double-rendering.

The card reuses the shared WizardCommand for the copyable command and is
dismissible (persisted to localStorage), matching the product app.

Generated-By: PostHog Code
Task-Id: 0718dea4-1ae6-4e51-87cf-cc1c19609923
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Deploy preview

Status Details Updated (UTC)
🟢 Ready View preview Jul 22, 2026 06:36PM

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Vale prose linter → found 1 errors, 1 warnings, 0 suggestions in your markdown

Full report → Copy the linter results into an LLM to batch-fix issues.

Linter being weird? Update the rules!

src/components/WarehouseWizardHint/README.md — 1 errors, 1 warnings, 0 suggestions
Line Severity Message Rule
4:39 warning Capitalize 'Data Warehouse' for PostHog's product. Use 'data warehouse' for the general industry concept. PostHogBase.ProductNames
29:25 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash

@github-actions

Copy link
Copy Markdown
Contributor

Bundle report

Total JS (gzip)

6.75 MiB (+0.3 KiB / +0.0%)

Eager graph (modules shipped in each entrypoint's initial chunks)

Entrypoint Eager size Budget Modules
app 16.23 MiB (+2.6 KiB / +0.0%) report-only 1983
Largest modules in the app closure
Module Size
./src/data/mcp-tools.json 895.2 KiB
css ./node_modules/.pnpm/css-loader@5.2.7_webpack@5.101.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[8].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.5.6_webpack@5.101.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[8].oneOf[1].use[2]!./src/styles/global.css 747.2 KiB
./src/components/Stickers/Stickers.tsx 696.4 KiB
./node_modules/.pnpm/@radix-ui+react-icons@1.3.2_react@18.3.1/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js 481.4 KiB
./node_modules/.pnpm/rehype-raw@7.0.0/node_modules/rehype-raw/lib/index.js + 29 modules 395.1 KiB
./node_modules/.pnpm/@posthog+icons@0.36.6_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.cjs.js 364.8 KiB
./src/hooks/useCustomers.tsx + 54 modules 355.1 KiB
./node_modules/.pnpm/@posthog+icons@0.36.6_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js 354.8 KiB
./node_modules/.pnpm/react-markdown@8.0.7_@types+react@16.14.66_react@18.3.1/node_modules/react-markdown/lib/react-markdown.js + 88 modules 351.4 KiB
./node_modules/.pnpm/cloudinary-core@2.14.0_lodash@4.17.21/node_modules/cloudinary-core/cloudinary-core.js 281.9 KiB
./src/components/ProductComparisonTable/index.tsx + 120 modules 278.6 KiB
./src/components/SearchUI/index.tsx + 87 modules 272.1 KiB
./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/motion.mjs + 109 modules 253.9 KiB
./node_modules/.pnpm/d3@7.9.0/node_modules/d3/src/index.js + 208 modules 247.4 KiB
./src/components/Pricing/PricingSlider/Slider.tsx + 87 modules 239.9 KiB

Eager-graph budgets are report-only until a baseline is established. Sizes are gzip of public/**/*.js; eager size is webpack module source bytes for the modules actually shipped in the entrypoint's initial chunks (post-tree-shake).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant