Skip to content

Make theme init default to stable Skeleton releases - #8786

Merged
karreiro merged 2 commits into
mainfrom
karreiro/theme-init-main
Oct 6, 2026
Merged

karreiro merged 2 commits into
mainfrom
karreiro/theme-init-main

Conversation

@karreiro

@karreiro karreiro commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

Skeleton theme's upstream branch can contain Liquid features that aren't available on every shop. A default theme init can therefore create a theme that theme dev cannot preview yet.

WHAT is this pull request doing?

Offer the latest published stable Skeleton release or upstream in interactive mode, and use the stable release with --no-input and --latest. Generate a theme name when prompts are disabled and make latest-tag clones non-shallow.

The patch changeset is included only in the stable/4.8 backport for the patch release.

How to manually test your changes?

  1. Run shopify theme init stable-test --no-input and compare the created theme with the latest published Skeleton release.
  2. Run shopify theme init upstream-test, choose Upstream, and confirm the prompt describes the possible shop compatibility gap.
  3. Run shopify theme init explicit-test --latest and confirm it clones the stable release.

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes
  • I've considered analytics changes to measure impact

@github-actions github-actions Bot added the no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. label Oct 6, 2026
Prompt for the stable release or upstream Skeleton theme when input is available. Use the published stable release with --latest or --no-input, and generate a name when prompting is disabled.

Keep latest-tag clones non-shallow so Git can check out the tag.
@karreiro
karreiro force-pushed the karreiro/theme-init-main branch from 5bc7955 to c2d892a Compare October 6, 2026 09:23
@karreiro
karreiro marked this pull request as ready for review October 6, 2026 09:33
@karreiro
karreiro requested a review from a team as a code owner October 6, 2026 09:33
@karreiro
karreiro requested review from EvilGenius13 and a balanced review from Copilot October 6, 2026 09:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

--no-input unintentionally changes custom repositories to their latest tag, and generated-name behavior conflicts with command documentation.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Defaults Skeleton theme initialization to stable releases while preserving an interactive upstream option.

Changes:

  • Resolves and clones the latest stable Skeleton release.
  • Adds interactive release selection and non-interactive name generation.
  • Adds command and cloning tests.
File Description
packages/​theme/​src/​cli/​services/​init.ts Adds stable-release cloning and adjusts clone depth.
packages/​theme/​src/​cli/​services/​init.test.ts Tests stable-release resolution and cloning.
packages/​theme/​src/​cli/​commands/​theme/​init.ts Selects stable or upstream behavior.
packages/​theme/​src/​cli/​commands/​theme/​init.test.ts Tests interactive and non-interactive flows.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Use the stable release by default only for Skeleton theme. Preserve the default branch for custom repositories unless --latest is passed.
@karreiro
karreiro added this pull request to the merge queue Oct 6, 2026
Merged via the queue into main with commit d303a2a Oct 6, 2026
30 checks passed
@karreiro
karreiro deleted the karreiro/theme-init-main branch October 6, 2026 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants