Skip to content

Unify deploy: single-source content in the shared IDE shell (SEO preserved)#5

Merged
cevheri merged 9 commits into
mainfrom
feat/unify-deploy
Jun 23, 2026
Merged

Unify deploy: single-source content in the shared IDE shell (SEO preserved)#5
cevheri merged 9 commits into
mainfrom
feat/unify-deploy

Conversation

@cevheri

@cevheri cevheri commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Unify deploy — single-source content, consistent IDE shell (B2)

/deploy (a Google-indexed URL) used to render as a classic centered Header/Footer page while the homepage #deploy showed a sparse IDE teaser — two different approaches and two content depths. This unifies them: the rich deploy content is authored once and rendered in the same IDE shell both on the homepage #deploy section and at /deploy, with /deploy kept as a real indexed page.

Design: docs/designs/2026-06-23-deploy-unify-design.md · Plan: docs/superpowers/plans/2026-06-23-unify-deploy.md

What changed

  • StudioShell.astro (new): the IDE chrome (TopBar, Explorer, StatusBar, Console, CommandPalette, studio.ts) extracted into one shared component. index.astro now renders through it (homepage behavior unchanged). Props: active, standalone.
  • DeploySection.astro = single source: the rich deploy content (category summary + official one-click integrations + category-grouped platform cards with live GitHub stars + investor band + CTA) lives in exactly ONE file, rendered by both the homepage and /deploy. Verified: "Official one-click integrations" appears in a single source file.
  • /deploy thin + SEO-preserved: rewritten to Layout → StudioShell standalone active="deploy" → <DeploySection/>. Keeps its own <title>, description, self-canonical, and ItemList JSON-LD (now correctly injected into <head> via a new Layout head slot — an SEO improvement over the previous body-level placement). No redirect; stays indexed.
  • studio.ts standalone awareness: focused pages (one section) activate on load via data-initial-active; setActive no-ops if the section is absent; on standalone pages the Explorer/palette navigate to /#section (the homepage) instead of in-page swapping. Homepage behavior is byte-identical (branches inert when not standalone).
  • Explorer/MobileTopBar gained standalone; StatusBar gained active; Layout gained a head slot.

Verification

  • 6 tasks, each test-first/build-verified and independently reviewed; every state runtime-verified in a browser (homepage unchanged + now-rich #deploy; /deploy in the shell, deploy active, /#features cross-links, no Header/Footer, 4 JSON-LD + title preserved).
  • bunx astro build → 5 pages (incl. /deploy). bun test → 21/21.
  • Whole-branch review (most-capable model): Ready to merge: YES, no Critical/Important.

🤖 Generated with Claude Code

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Unifies the /deploy standalone page and the homepage #deploy section to render the same rich deploy content inside a shared “IDE shell”, while preserving /deploy SEO metadata and structured data.

Changes:

  • Extracts the shared IDE chrome into StudioShell.astro and updates the homepage and /deploy to render through it.
  • Makes DeploySection.astro the single source of rich deploy content (including GitHub stars + client refresh).
  • Adds a head slot to Layout.astro so /deploy can inject ItemList JSON-LD into <head>.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/scripts/studio.ts Adds standalone-page awareness (initial active, no-op if section missing, cross-page navigation).
src/pages/index.astro Switches homepage rendering to the new StudioShell wrapper.
src/pages/deploy.astro Rewrites /deploy as a thin shell-wrapped page and moves JSON-LD injection into the new head slot.
src/layouts/Layout.astro Adds a named head slot inside <head>.
src/components/studio/StudioShell.astro New shared IDE chrome component (TopBar/Explorer/StatusBar/Console/Palette + studio script).
src/components/studio/StatusBar.astro Adds active prop for correct initial table/row display on standalone pages.
src/components/studio/MobileTopBar.astro Threads standalone into the drawer Explorer.
src/components/studio/Explorer.astro Adds standalone to generate absolute /#section links on standalone pages.
src/components/sections/DeploySection.astro Becomes the single rich deploy content source and includes star fetching/refresh behavior.
src/components/sections/CompareSection.astro Adjusts pgAdmin scoring to reflect partial support.
README.md Updates the live demo URL.
docs/superpowers/plans/2026-06-23-unify-deploy.md Adds detailed implementation plan for the deploy unification work.
docs/designs/2026-06-23-deploy-unify-design.md Adds design/architecture notes for the unified deploy shell/content approach.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +139 to +140
refreshStars();
</script>
@cevheri cevheri merged commit 13c55c9 into main Jun 23, 2026
1 check passed
@cevheri cevheri deleted the feat/unify-deploy branch June 23, 2026 20:32
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.

2 participants