diff --git a/.github/workflows/shopify-dev-preview-automation.yml b/.github/workflows/shopify-dev-preview-automation.yml index 0d34aab3dc..eba7c37060 100644 --- a/.github/workflows/shopify-dev-preview-automation.yml +++ b/.github/workflows/shopify-dev-preview-automation.yml @@ -9,9 +9,8 @@ on: pull_request: types: [opened, synchronize, reopened, ready_for_review, closed] paths: - - 'docs-shopify.dev/generated/generated_docs_data.json' - - 'docs-shopify.dev/generated/generated_static_pages.json' - - 'docs-shopify.dev/generated/generated_category_pages.json' + - 'docs-shopify.dev/generated/generated_docs_data_v2.json' + - 'docs-shopify.dev/generated/cli-descriptions.json' concurrency: group: shopify-dev-docs-sync-${{ github.head_ref }} @@ -50,9 +49,8 @@ jobs: run: | # Define the files we're monitoring MONITORED_FILES=( - "docs-shopify.dev/generated/generated_docs_data.json" - "docs-shopify.dev/generated/generated_static_pages.json" - "docs-shopify.dev/generated/generated_category_pages.json" + "docs-shopify.dev/generated/generated_docs_data_v2.json" + "docs-shopify.dev/generated/cli-descriptions.json" ) # Get the list of changed files in this PR using explicit SHAs diff --git a/bin/docs/build-dev-docs.sh b/bin/docs/build-dev-docs.sh index 976ef83270..89ab40ab55 100644 --- a/bin/docs/build-dev-docs.sh +++ b/bin/docs/build-dev-docs.sh @@ -5,6 +5,8 @@ pnpm exec generate-docs \ --input ./docs-shopify.dev/commands/interfaces \ --output ./docs-shopify.dev/generated +node ./bin/docs/generate-cli-descriptions.js + # Copy generated v2 docs to shopify-dev in the world repo if available WORLD_DEST="$HOME/world/trees/root/src/areas/platforms/shopify-dev/db/data/docs/templated_apis/shopify_cli" if [ -d "$WORLD_DEST" ]; then @@ -12,4 +14,8 @@ if [ -d "$WORLD_DEST" ]; then cp "./docs-shopify.dev/generated/generated_docs_data_v2.json" "$WORLD_DEST/generated_docs_data_v2.json" echo "Copied generated_docs_data_v2.json to $WORLD_DEST" fi + if [ -f "./docs-shopify.dev/generated/cli-descriptions.json" ]; then + cp "./docs-shopify.dev/generated/cli-descriptions.json" "$WORLD_DEST/cli-descriptions.json" + echo "Copied cli-descriptions.json to $WORLD_DEST" + fi fi diff --git a/bin/docs/generate-cli-descriptions.js b/bin/docs/generate-cli-descriptions.js new file mode 100644 index 0000000000..942ec2313a --- /dev/null +++ b/bin/docs/generate-cli-descriptions.js @@ -0,0 +1,18 @@ +import {execSync} from 'node:child_process' +import {writeFile} from 'node:fs/promises' + +const json = execSync('node packages/cli/bin/dev.js commands --json', { + encoding: 'utf8', + maxBuffer: 32 * 1024 * 1024, +}) + +const commands = JSON.parse(json).filter((c) => !c.hidden && !/^(commands|help|plugins):/.test(c.id)) + +const out = {} +for (const c of commands) { + const key = c.id.replace(/:/g, '-').toLowerCase() + out[key] = c.description || c.summary || '' +} + +await writeFile('./docs-shopify.dev/generated/cli-descriptions.json', `${JSON.stringify(out, null, 2)}\n`) +console.log(`Wrote cli-descriptions.json with ${Object.keys(out).length} entries`) diff --git a/docs-shopify.dev/commands/config-autoupgrade-off.doc.ts b/docs-shopify.dev/commands/config-autoupgrade-off.doc.ts deleted file mode 100644 index 75b62ff322..0000000000 --- a/docs-shopify.dev/commands/config-autoupgrade-off.doc.ts +++ /dev/null @@ -1,34 +0,0 @@ -// This is an autogenerated file. Don't edit this file manually. -import {ReferenceEntityTemplateSchema} from '@shopify/generate-docs' - -const data: ReferenceEntityTemplateSchema = { - name: 'config autoupgrade off', - description: `Disable automatic upgrades for Shopify CLI. - - When auto-upgrade is disabled, Shopify CLI won't automatically update. Run \`shopify upgrade\` to update manually. - - To enable auto-upgrade, run \`shopify config autoupgrade on\`. -`, - overviewPreviewDescription: `Disable automatic upgrades for Shopify CLI.`, - type: 'command', - isVisualComponent: false, - defaultExample: { - codeblock: { - tabs: [ - { - title: 'config autoupgrade off', - code: './examples/config-autoupgrade-off.example.sh', - language: 'bash', - }, - ], - title: 'config autoupgrade off', - }, - }, - definitions: [ - ], - category: 'general commands', - related: [ - ], -} - -export default data \ No newline at end of file diff --git a/docs-shopify.dev/commands/config-autoupgrade-on.doc.ts b/docs-shopify.dev/commands/config-autoupgrade-on.doc.ts deleted file mode 100644 index acc5bb3902..0000000000 --- a/docs-shopify.dev/commands/config-autoupgrade-on.doc.ts +++ /dev/null @@ -1,34 +0,0 @@ -// This is an autogenerated file. Don't edit this file manually. -import {ReferenceEntityTemplateSchema} from '@shopify/generate-docs' - -const data: ReferenceEntityTemplateSchema = { - name: 'config autoupgrade on', - description: `Enable automatic upgrades for Shopify CLI. - - When auto-upgrade is enabled, Shopify CLI automatically updates to the latest version once per day. Major version upgrades are skipped and must be done manually. - - To disable auto-upgrade, run \`shopify config autoupgrade off\`. -`, - overviewPreviewDescription: `Enable automatic upgrades for Shopify CLI.`, - type: 'command', - isVisualComponent: false, - defaultExample: { - codeblock: { - tabs: [ - { - title: 'config autoupgrade on', - code: './examples/config-autoupgrade-on.example.sh', - language: 'bash', - }, - ], - title: 'config autoupgrade on', - }, - }, - definitions: [ - ], - category: 'general commands', - related: [ - ], -} - -export default data \ No newline at end of file diff --git a/docs-shopify.dev/commands/config-autoupgrade-status.doc.ts b/docs-shopify.dev/commands/config-autoupgrade-status.doc.ts deleted file mode 100644 index fce1d30aac..0000000000 --- a/docs-shopify.dev/commands/config-autoupgrade-status.doc.ts +++ /dev/null @@ -1,34 +0,0 @@ -// This is an autogenerated file. Don't edit this file manually. -import {ReferenceEntityTemplateSchema} from '@shopify/generate-docs' - -const data: ReferenceEntityTemplateSchema = { - name: 'config autoupgrade status', - description: `Check whether auto-upgrade is enabled, disabled, or not yet configured. - - When auto-upgrade is enabled, Shopify CLI automatically updates to the latest version after each command. - - Run \`shopify config autoupgrade on\` or \`shopify config autoupgrade off\` to configure it. -`, - overviewPreviewDescription: `Check whether auto-upgrade is enabled, disabled, or not yet configured.`, - type: 'command', - isVisualComponent: false, - defaultExample: { - codeblock: { - tabs: [ - { - title: 'config autoupgrade status', - code: './examples/config-autoupgrade-status.example.sh', - language: 'bash', - }, - ], - title: 'config autoupgrade status', - }, - }, - definitions: [ - ], - category: 'general commands', - related: [ - ], -} - -export default data \ No newline at end of file diff --git a/docs-shopify.dev/commands/examples/config-autoupgrade-off.example.sh b/docs-shopify.dev/commands/examples/config-autoupgrade-off.example.sh deleted file mode 100644 index e6b28d09bd..0000000000 --- a/docs-shopify.dev/commands/examples/config-autoupgrade-off.example.sh +++ /dev/null @@ -1 +0,0 @@ -shopify config autoupgrade off \ No newline at end of file diff --git a/docs-shopify.dev/commands/examples/config-autoupgrade-on.example.sh b/docs-shopify.dev/commands/examples/config-autoupgrade-on.example.sh deleted file mode 100644 index 71f0109cbb..0000000000 --- a/docs-shopify.dev/commands/examples/config-autoupgrade-on.example.sh +++ /dev/null @@ -1 +0,0 @@ -shopify config autoupgrade on \ No newline at end of file diff --git a/docs-shopify.dev/commands/examples/config-autoupgrade-status.example.sh b/docs-shopify.dev/commands/examples/config-autoupgrade-status.example.sh deleted file mode 100644 index 5c94f01399..0000000000 --- a/docs-shopify.dev/commands/examples/config-autoupgrade-status.example.sh +++ /dev/null @@ -1 +0,0 @@ -shopify config autoupgrade status \ No newline at end of file diff --git a/docs-shopify.dev/generated/cli-descriptions.json b/docs-shopify.dev/generated/cli-descriptions.json new file mode 100644 index 0000000000..49c73478a4 --- /dev/null +++ b/docs-shopify.dev/generated/cli-descriptions.json @@ -0,0 +1,92 @@ +{ + "app-build": "This command executes the build script specified in the element's TOML file. You can specify a custom script in the file. To learn about configuration files in Shopify apps, refer to \"App configuration\" (https://shopify.dev/docs/apps/tools/cli/configuration).\n\n If you're building a \"theme app extension\" (https://shopify.dev/docs/apps/online-store/theme-app-extensions), then running the `build` command runs \"Theme Check\" (https://shopify.dev/docs/themes/tools/theme-check) against your extension to ensure that it's valid.", + "app-bulk-cancel": "Cancels a running bulk operation by ID.", + "app-bulk-execute": "Executes an Admin API GraphQL query or mutation on the specified store, as a bulk operation. Mutations are only allowed on dev stores.\n\n Bulk operations allow you to process large amounts of data asynchronously. Learn more about \"bulk query operations\" (https://shopify.dev/docs/api/usage/bulk-operations/queries) and \"bulk mutation operations\" (https://shopify.dev/docs/api/usage/bulk-operations/imports).\n\n Use \"`bulk status`\" (https://shopify.dev/docs/api/shopify-cli/app/app-bulk-status) to check the status of your bulk operations.", + "app-bulk-status": "Check the status of a specific bulk operation by ID, or list all bulk operations belonging to this app on this store in the last 7 days.\n\n Bulk operations allow you to process large amounts of data asynchronously. Learn more about \"bulk query operations\" (https://shopify.dev/docs/api/usage/bulk-operations/queries) and \"bulk mutation operations\" (https://shopify.dev/docs/api/usage/bulk-operations/imports).\n\n Use \"`bulk execute`\" (https://shopify.dev/docs/api/shopify-cli/app/app-bulk-execute) to start a new bulk operation.", + "app-config-link": "Pulls app configuration from the Developer Dashboard and creates or overwrites a configuration file. You can create a new app with this command to start with a default configuration file.\n\n For more information on the format of the created TOML configuration file, refer to the \"App configuration\" (https://shopify.dev/docs/apps/tools/cli/configuration) page.\n ", + "app-config-pull": "Pulls the latest configuration from the already-linked Shopify app and updates the selected configuration file.\n\nThis command reuses the existing linked app and organization and skips all interactive prompts. Use `--config` to target a specific configuration file, or omit it to use the default one.", + "app-config-use": "Sets default configuration when you run app-related CLI commands. If you omit the `config-name` parameter, then you'll be prompted to choose from the configuration files in your project.", + "app-config-validate": "Validates the selected app configuration file and all extension configurations against their schemas and reports any errors found.", + "app-deploy": "\"Builds the app\" (https://shopify.dev/docs/api/shopify-cli/app/app-build), then deploys your app configuration and extensions.\n\n This command creates an app version, which is a snapshot of your app configuration and all extensions. This version is then released to users.\n\n This command doesn't deploy your \"web app\" (https://shopify.dev/docs/apps/tools/cli/structure#web-components). You need to \"deploy your web app\" (https://shopify.dev/docs/apps/deployment/web) to your own hosting solution.\n ", + "app-dev": "Builds and previews your app on a dev store, and watches for changes. \"Read more about testing apps locally\" (https://shopify.dev/docs/apps/build/cli-for-apps/test-apps-locally).", + "app-dev-clean": "Stop the dev preview that was started with `shopify app dev`.\n\n It restores the app's active version to the selected development store.\n ", + "app-env-pull": "Creates or updates an `.env` files that contains app and app extension environment variables.\n\n When an existing `.env` file is updated, changes to the variables are displayed in the terminal output. Existing variables and commented variables are preserved.", + "app-env-show": "Displays environment variables that can be used to deploy apps and app extensions.", + "app-execute": "Executes an Admin API GraphQL query or mutation on the specified store. Mutations are only allowed on dev stores.\n\n For operations that process large amounts of data, use \"`bulk execute`\" (https://shopify.dev/docs/api/shopify-cli/app/app-bulk-execute) instead.", + "app-function-build": "Compiles the function in your current directory to WebAssembly (Wasm) for testing purposes.", + "app-function-info": "The information returned includes the following:\n\n - The function handle\n - The function name\n - The function API version\n - The targeting configuration\n - The schema path\n - The WASM path\n - The function runner path", + "app-function-replay": "Runs the function from your current directory for \"testing purposes\" (https://shopify.dev/docs/apps/functions/testing-and-debugging). To learn how you can monitor and debug functions when errors occur, refer to \"Shopify Functions error handling\" (https://shopify.dev/docs/api/functions/errors).", + "app-function-run": "Runs the function from your current directory for \"testing purposes\" (https://shopify.dev/docs/apps/functions/testing-and-debugging). To learn how you can monitor and debug functions when errors occur, refer to \"Shopify Functions error handling\" (https://shopify.dev/docs/api/functions/errors).", + "app-function-schema": "Generates the latest \"GraphQL schema\" (https://shopify.dev/docs/apps/functions/input-output#graphql-schema) for a function in your app. Run this command from the function directory.\n\n This command uses the API type and version of your function, as defined in your extension TOML file, to generate the latest GraphQL schema. The schema is written to the `schema.graphql` file.", + "app-function-typegen": "Creates GraphQL types based on your \"input query\" (https://shopify.dev/docs/apps/functions/input-output#input) for a function. Supports JavaScript functions out of the box, or any language via the `build.typegen_command` configuration.", + "app-generate-extension": "Generates a new \"app extension\" (https://shopify.dev/docs/apps/build/app-extensions). For a list of app extensions that you can generate using this command, refer to \"Supported extensions\" (https://shopify.dev/docs/apps/build/app-extensions/list-of-app-extensions).\n\n Each new app extension is created in a folder under `extensions/`. To learn more about the extensions file structure, refer to \"App structure\" (https://shopify.dev/docs/apps/build/cli-for-apps/app-structure) and the documentation for your extension.\n ", + "app-import-custom-data-definitions": "Import metafield and metaobject definitions from your development store. \"Read more about declarative custom data definitions\" (https://shopify.dev/docs/apps/build/custom-data/declarative-custom-data-definitions).", + "app-import-extensions": "Import dashboard-managed extensions into your app.", + "app-info": "The information returned includes the following:\n\n - The app and dev store that's used when you run the \"dev\" (https://shopify.dev/docs/api/shopify-cli/app/app-dev) command. You can reset these configurations using \"`dev --reset`\" (https://shopify.dev/docs/api/shopify-cli/app/app-dev#flags-propertydetail-reset).\n - The \"structure\" (https://shopify.dev/docs/apps/tools/cli/structure) of your app project.\n - The \"access scopes\" (https://shopify.dev/docs/api/usage) your app has requested.\n - System information, including the package manager and version of Shopify CLI used in the project.", + "app-init": "Create a new app project", + "app-logs": "\n Opens a real-time stream of detailed app logs from the selected app and store.\n Use the `--source` argument to limit output to a particular log source, such as a specific Shopify Function handle. Use the `shopify app logs sources` command to view a list of sources.\n Use the `--status` argument to filter on status, either `success` or `failure`.\n ```\n shopify app logs --status=success --source=extension.discount-function\n ```\n ", + "app-logs-sources": "The output source names can be used with the `--source` argument of `shopify app logs` to filter log output. Currently only function extensions are supported as sources.", + "app-release": "Releases an existing app version. Pass the name of the version that you want to release using the `--version` flag.", + "app-versions-list": "Lists the deployed app versions. An app version is a snapshot of your app extensions.", + "app-webhook-trigger": "\n Triggers the delivery of a sample Admin API event topic payload to a designated address.\n\n You should use this command to experiment with webhooks, to initially test your webhook configuration, or for unit testing. However, to test your webhook configuration from end to end, you should always trigger webhooks by performing the related action in Shopify.\n\n Because most webhook deliveries use remote endpoints, you can trigger the command from any directory where you can use Shopify CLI, and send the webhook to any of the supported endpoint types. For example, you can run the command from your app's local directory, but send the webhook to a staging environment endpoint.\n\n To learn more about using webhooks in a Shopify app, refer to \"Webhooks overview\" (https://shopify.dev/docs/apps/webhooks).\n\n ### Limitations\n\n - Webhooks triggered using this method always have the same payload, so they can't be used to test scenarios that differ based on the payload contents.\n - Webhooks triggered using this method aren't retried when they fail.\n - Trigger requests are rate-limited using the \"Partner API rate limit\" (https://shopify.dev/docs/api/partner#rate_limits).\n - You can't use this method to validate your API webhook subscriptions.\n ", + "auth-login": "Logs you in to your Shopify account.", + "auth-logout": "Logs you out of the Shopify account or Partner account and store.", + "commands": "List all shopify commands.", + "config-autocorrect-off": "Disable autocorrect. Off by default.\n\n When autocorrection is enabled, Shopify CLI automatically runs a corrected version of your command if a correction is available.\n\n When autocorrection is disabled, you need to confirm that you want to run corrections for mistyped commands.\n", + "config-autocorrect-on": "Enable autocorrect. Off by default.\n\n When autocorrection is enabled, Shopify CLI automatically runs a corrected version of your command if a correction is available.\n\n When autocorrection is disabled, you need to confirm that you want to run corrections for mistyped commands.\n", + "config-autocorrect-status": "Check whether autocorrect is enabled or disabled. On by default.\n\n When autocorrection is enabled, Shopify CLI automatically runs a corrected version of your command if a correction is available.\n\n When autocorrection is disabled, you need to confirm that you want to run corrections for mistyped commands.\n", + "config-autoupgrade-off": "Disable automatic upgrades for Shopify CLI.\n\n When auto-upgrade is disabled, Shopify CLI won't automatically update. Run `shopify upgrade` to update manually.\n\n To enable auto-upgrade, run `shopify config autoupgrade on`.\n", + "config-autoupgrade-on": "Enable automatic upgrades for Shopify CLI.\n\n When auto-upgrade is enabled, Shopify CLI automatically updates to the latest version once per day. Major version upgrades are skipped and must be done manually.\n\n To disable auto-upgrade, run `shopify config autoupgrade off`.\n", + "config-autoupgrade-status": "Check whether auto-upgrade is enabled, disabled, or not yet configured.\n\n When auto-upgrade is enabled, Shopify CLI automatically updates to the latest version after each command.\n\n Run `shopify config autoupgrade on` or `shopify config autoupgrade off` to configure it.\n", + "help": "Display help for Shopify CLI", + "hydrogen-build": "Builds a Hydrogen storefront for production.", + "hydrogen-check": "Returns diagnostic information about a Hydrogen storefront.", + "hydrogen-codegen": "Generate types for the Storefront API queries found in your project.", + "hydrogen-customer-account-push": "Push project configuration to admin", + "hydrogen-debug-cpu": "Builds and profiles the server startup time the app.", + "hydrogen-deploy": "Builds and deploys a Hydrogen storefront to Oxygen.", + "hydrogen-dev": "Runs Hydrogen storefront in an Oxygen worker for development.", + "hydrogen-env-list": "List the environments on your linked Hydrogen storefront.", + "hydrogen-env-pull": "Populate your .env with variables from your Hydrogen storefront.", + "hydrogen-env-push": "Push environment variables from the local .env file to your linked Hydrogen storefront.", + "hydrogen-generate-route": "Generates a standard Shopify route.", + "hydrogen-generate-routes": "Generates all supported standard shopify routes.", + "hydrogen-init": "Creates a new Hydrogen storefront.", + "hydrogen-link": "Link a local project to one of your shop's Hydrogen storefronts.", + "hydrogen-list": "Returns a list of Hydrogen storefronts available on a given shop.", + "hydrogen-login": "Login to your Shopify account.", + "hydrogen-logout": "Logout of your local session.", + "hydrogen-preview": "Runs a Hydrogen storefront in an Oxygen worker for production.", + "hydrogen-setup": "Scaffold routes and core functionality.", + "hydrogen-setup-css": "Setup CSS strategies for your project.", + "hydrogen-setup-markets": "Setup support for multiple markets in your project.", + "hydrogen-setup-vite": "EXPERIMENTAL: Upgrades the project to use Vite.", + "hydrogen-shortcut": "Creates a global `h2` shortcut for the Hydrogen CLI", + "hydrogen-unlink": "Unlink a local project from a Hydrogen storefront.", + "hydrogen-upgrade": "Upgrade Remix and Hydrogen npm dependencies.", + "organization-list": "Lists the Shopify organizations that you have access to, along with their organization IDs.", + "search": "Starts a search on shopify.dev.", + "store-auth": "Authenticates the app against the specified store for store commands and stores an online access token for later reuse.\n\nRe-run this command if the stored token is missing, expires, or no longer has the scopes you need.", + "store-execute": "Executes an Admin API GraphQL query or mutation on the specified store using previously stored app authentication.\n\nRun `shopify store auth` first to create stored auth for the store.\n\nMutations are disabled by default. Re-run with `--allow-mutations` if you intend to modify store data.", + "theme-check": "Calls and runs \"Theme Check\" (https://shopify.dev/docs/themes/tools/theme-check) to analyze your theme code for errors and to ensure that it follows theme and Liquid best practices. \"Learn more about the checks that Theme Check runs.\" (https://shopify.dev/docs/themes/tools/theme-check/checks)", + "theme-console": "Starts the Shopify Liquid REPL (read-eval-print loop) tool. This tool provides an interactive terminal interface for evaluating Liquid code and exploring Liquid objects, filters, and tags using real store data.\n\n You can also provide context to the console using a URL, as some Liquid objects are context-specific", + "theme-delete": "Deletes a theme from your store.\n\n You can specify multiple themes by ID. If no theme is specified, then you're prompted to select the theme that you want to delete from the list of themes in your store.\n\n You're asked to confirm that you want to delete the specified themes before they are deleted. You can skip this confirmation using the `--force` flag.", + "theme-dev": "\n Uploads the current theme as the specified theme, or a \"development theme\" (https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.\n\nThis command returns the following information:\n\n- A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.\n\n You can specify a different network interface and port using `--host` and `--port`.\n\n- A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n\n- A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.\n\nIf you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag.\n\n> Note: You can't preview checkout customizations using http://127.0.0.1:9292.\n\nDevelopment themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should \"share\" (https://shopify.dev/docs/api/shopify-cli/theme/theme-share) your theme or \"push\" (https://shopify.dev/docs/api/shopify-cli/theme/theme-push) to an unpublished theme on your store.\n\nYou can run this command only in a directory that matches the \"default Shopify theme folder structure\" (https://shopify.dev/docs/themes/tools/cli#directory-structure).", + "theme-duplicate": "If you want to duplicate your local theme, you need to run `shopify theme push` first.\n\nIf no theme ID is specified, you're prompted to select the theme that you want to duplicate from the list of themes in your store. You're asked to confirm that you want to duplicate the specified theme.\n\nPrompts and confirmations are not shown when duplicate is run in a CI environment or the `--force` flag is used, therefore you must specify a theme ID using the `--theme` flag.\n\nYou can optionally name the duplicated theme using the `--name` flag.\n\nIf you use the `--json` flag, then theme information is returned in JSON format, which can be used as a machine-readable input for scripts or continuous integration.\n\nSample JSON output:\n\n```json\n{\n \"theme\": {\n \"id\": 108267175958,\n \"name\": \"A Duplicated Theme\",\n \"role\": \"unpublished\",\n \"shop\": \"mystore.myshopify.com\"\n }\n}\n```\n\n```json\n{\n \"message\": \"The theme 'Summer Edition' could not be duplicated due to errors\",\n \"errors\": [\"Maximum number of themes reached\"],\n \"requestId\": \"12345-abcde-67890\"\n}\n```", + "theme-info": "Displays information about your theme environment, including your current store. Can also retrieve information about a specific theme.", + "theme-init": "Clones a Git repository to your local machine to use as the starting point for building a theme.\n\n If no Git repository is specified, then this command creates a copy of Shopify's \"Skeleton theme\" (https://github.com/Shopify/skeleton-theme.git), with the specified name in the current folder. If no name is provided, then you're prompted to enter one.\n\n > Caution: If you're building a theme for the Shopify Theme Store, then you can use our example theme as a starting point. However, the theme that you submit needs to be \"substantively different from existing themes\" (https://shopify.dev/docs/themes/store/requirements#uniqueness) so that it provides added value for users.\n ", + "theme-language-server": "Starts the \"Language Server\" (https://shopify.dev/docs/themes/tools/cli/language-server).", + "theme-list": "Lists the themes in your store, along with their IDs and statuses.", + "theme-metafields-pull": "Retrieves metafields from Shopify Admin.\n\nIf the metafields file already exists, it will be overwritten.", + "theme-open": "Returns links that let you preview the specified theme. The following links are returned:\n\n - A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.\n\n If you don't specify a theme, then you're prompted to select the theme to open from the list of the themes in your store.", + "theme-package": "Packages your local theme files into a ZIP file that can be uploaded to Shopify.\n\n Only folders that match the \"default Shopify theme folder structure\" (https://shopify.dev/docs/storefronts/themes/tools/cli#directory-structure) are included in the package.\n\n The package includes the `listings` directory if present (required for multi-preset themes per \"Theme Store requirements\" (https://shopify.dev/docs/storefronts/themes/store/requirements#adding-presets-to-your-theme-zip-submission)).\n\n The ZIP file uses the name `theme_name-theme_version.zip`, based on parameters in your \"settings_schema.json\" (https://shopify.dev/docs/storefronts/themes/architecture/config/settings-schema-json) file.", + "theme-preview": "Applies a JSON overrides file to a theme and creates or updates a preview. This lets you quickly preview changes.\n\n The command returns a preview URL and a preview identifier. You can reuse the preview identifier with `--preview-id` to update an existing preview instead of creating a new one.", + "theme-profile": "Profile the Shopify Liquid on a given page.\n\n This command will open a web page with the Speedscope profiler detailing the time spent executing Liquid on the given page.", + "theme-publish": "Publishes an unpublished theme from your theme library.\n\nIf no theme ID is specified, then you're prompted to select the theme that you want to publish from the list of themes in your store.\n\nYou can run this command only in a directory that matches the \"default Shopify theme folder structure\" (https://shopify.dev/docs/themes/tools/cli#directory-structure).\n\nIf you want to publish your local theme, then you need to run `shopify theme push` first. You're asked to confirm that you want to publish the specified theme. You can skip this confirmation using the `--force` flag.", + "theme-pull": "Retrieves theme files from Shopify.\n\nIf no theme is specified, then you're prompted to select the theme to pull from the list of the themes in your store.", + "theme-push": "Uploads your local theme files to Shopify, overwriting the remote version if specified.\n\n If no theme is specified, then you're prompted to select the theme to overwrite from the list of the themes in your store.\n\n You can run this command only in a directory that matches the \"default Shopify theme folder structure\" (https://shopify.dev/docs/themes/tools/cli#directory-structure).\n\n This command returns the following information:\n\n - A link to the \"editor\" (https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.\n - A \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with others.\n\n If you use the `--json` flag, then theme information is returned in JSON format, which can be used as a machine-readable input for scripts or continuous integration.\n\n Sample output:\n\n ```json\n {\n \"theme\": {\n \"id\": 108267175958,\n \"name\": \"MyTheme\",\n \"role\": \"unpublished\",\n \"shop\": \"mystore.myshopify.com\",\n \"editor_url\": \"https://mystore.myshopify.com/admin/themes/108267175958/editor\",\n \"preview_url\": \"https://mystore.myshopify.com/?preview_theme_id=108267175958\"\n }\n }\n ```\n ", + "theme-rename": "Renames a theme in your store.\n\n If no theme is specified, then you're prompted to select the theme that you want to rename from the list of themes in your store.\n ", + "theme-share": "Uploads your theme as a new, unpublished theme in your theme library. The theme is given a randomized name.\n\n This command returns a \"preview link\" (https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with others.", + "upgrade": "Upgrades Shopify CLI using your package manager.", + "version": "Shopify CLI version currently installed." +}