Repository files navigation

Storefront CLI Plugins

A Claude Code plugin collection for Shopify Admin API development. Provides conversational access to the Admin API through the Shopify CLI — run GraphQL queries, bulk export data, set up dev stores, test functions, and create test carts, all through natural language.

Disclaimer: This project is not affiliated with, endorsed by, or sponsored by Shopify Inc. or Anthropic. "Shopify" and "Claude" are registered trademarks of their respective owners. This is an independent community project.

Inspired by the shopify app execute and shopify app bulk execute features introduced in Shopify CLI 3.90.1.

Installation

Prerequisites

  • Claude Code v1.0.33+ (claude --version to check)
  • Shopify CLI3.90.1+ (shopify version to verify) — requires the app execute and app bulk execute commands
  • A Shopify app with Admin API access (shopify.app.toml configured)
  • jq (for bulk export CSV transformations)

Add the marketplace

From within Claude Code, add this repository as a plugin marketplace:

/plugin marketplace add alecramos-sudo/storefront-cli-plugin

Install the plugin

/plugin install shopify-cli-admin@alecramos-sudo-storefront-cli-plugin

Or browse available plugins interactively with /plugin and go to the Discover tab.

Local development

To test the plugin locally without installing from a marketplace:

claude --plugin-dir ./plugins/shopify-cli-admin

Plugins

shopify-cli-admin

Conversational Shopify Admin API access via shopify app execute and bulk operations.

Commands

CommandDescription
/shopify-cli-admin:shopify-queryRun an ad-hoc GraphQL query against the Admin API
/shopify-cli-admin:shopify-bulk-exportExport large datasets (products, orders, customers) to CSV
/shopify-cli-admin:shopify-dev-store-initSet up a dev store with products, inventory, and images
/shopify-cli-admin:shopify-function-testActivate and test Shopify Functions without a UI
/shopify-cli-admin:shopify-cart-testCreate test carts with specific products

Examples

> /shopify-cli-admin:shopify-query list all products with their prices
> /shopify-cli-admin:shopify-bulk-export products
> /shopify-cli-admin:shopify-dev-store-init 10 products with 3 variants each
> /shopify-cli-admin:shopify-function-test my-discount-function
> /shopify-cli-admin:shopify-cart-test 3 products over $50

Demo Walkthrough

A step-by-step walkthrough using a real Shopify dev store. Run these inside Claude Code with the plugin loaded.

0. Setup — connect to your store

If you don't have a Shopify app configured yet, create one in the Partner Dashboard and get your client ID. Then verify your CLI is working:

/shopify-cli-admin:shopify-query what's the shop name?

Claude will run shopify app execute --query '{ shop { name id } }' and prompt you for your store handle if needed. You should see your store's name in the response.

1. Query products

/shopify-cli-admin:shopify-query list the first 5 products with title, price, and inventory

2. Search for specific products

/shopify-cli-admin:shopify-query find products with "shirt" in the title

3. Check a single order

/shopify-cli-admin:shopify-query show me the most recent order with line items and shipping address

4. Bulk export products to CSV

/shopify-cli-admin:shopify-bulk-export products

This runs a bulk operation, waits for completion, downloads the JSONL, and transforms it to CSV using the included bulk-to-csv.sh script.

5. Create a test cart

/shopify-cli-admin:shopify-cart-test 2 products

Claude will query your store for products, pick variants, and generate a cart permalink URL you can open in a browser.

6. Initialize a dev store with sample data

/shopify-cli-admin:shopify-dev-store-init 3 products with 2 variants each

Claude will generate productCreate mutations and execute them one by one, reporting each created product.

Project Structure

.claude-plugin/
marketplace.json # Plugin registry manifest
plugins/
shopify-cli-admin/
.claude-plugin/
plugin.json # Plugin manifest
commands/ # Slash command definitions
shopify-query.md
shopify-bulk-export.md
shopify-dev-store-init.md
shopify-function-test.md
shopify-cart-test.md
skills/
shopify-admin-api/
SKILL.md # Core skill (procedural knowledge)
references/
graphql-patterns.md # Common Admin API query/mutation patterns
bulk-operations.md # Bulk operation workflows and jq transforms
scripts/
bulk-to-csv.sh # JSONL-to-CSV transformer for bulk exports
tests/
test_plugin_structure.bats # Plugin structure and manifest tests
test_bulk_to_csv.bats # bulk-to-csv.sh functional tests
fixtures/ # Test data (JSONL fixtures)

Running Tests

Tests use Bats (Bash Automated Testing System).

# Install bats (macOS)
brew install bats-core
# Run all tests
bats tests/
# Run specific test file
bats tests/test_plugin_structure.bats
bats tests/test_bulk_to_csv.bats

Safety

The plugin enforces safety rules for Shopify API operations:

  • Mutations require dev stores — always confirms the target is a development store
  • Destructive operations require confirmation — delete/update mutations are shown before execution
  • Bulk for large datasets — recommends bulk operations for >250 items
  • No hardcoded credentials — uses CLI flags, never embeds tokens

License

MIT

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Storefront CLI Plugins

A Claude Code plugin collection for Shopify Admin API development. Provides conversational access to the Admin API through the Shopify CLI — run GraphQL queries, bulk export data, set up dev stores, test functions, and create test carts, all through natural language.

Disclaimer: This project is not affiliated with, endorsed by, or sponsored by Shopify Inc. or Anthropic. "Shopify" and "Claude" are registered trademarks of their respective owners. This is an independent community project.

Inspired by the shopify app execute and shopify app bulk execute features introduced in Shopify CLI 3.90.1.

Installation

Prerequisites

  • Claude Code v1.0.33+ (claude --version to check)
  • Shopify CLI3.90.1+ (shopify version to verify) — requires the app execute and app bulk execute commands
  • A Shopify app with Admin API access (shopify.app.toml configured)
  • jq (for bulk export CSV transformations)

Add the marketplace

From within Claude Code, add this repository as a plugin marketplace:

/plugin marketplace add alecramos-sudo/storefront-cli-plugin

Install the plugin

/plugin install shopify-cli-admin@alecramos-sudo-storefront-cli-plugin

Or browse available plugins interactively with /plugin and go to the Discover tab.

Local development

To test the plugin locally without installing from a marketplace:

claude --plugin-dir ./plugins/shopify-cli-admin

Plugins

shopify-cli-admin

Conversational Shopify Admin API access via shopify app execute and bulk operations.

Commands

CommandDescription
/shopify-cli-admin:shopify-queryRun an ad-hoc GraphQL query against the Admin API
/shopify-cli-admin:shopify-bulk-exportExport large datasets (products, orders, customers) to CSV
/shopify-cli-admin:shopify-dev-store-initSet up a dev store with products, inventory, and images
/shopify-cli-admin:shopify-function-testActivate and test Shopify Functions without a UI
/shopify-cli-admin:shopify-cart-testCreate test carts with specific products

Examples

> /shopify-cli-admin:shopify-query list all products with their prices
> /shopify-cli-admin:shopify-bulk-export products
> /shopify-cli-admin:shopify-dev-store-init 10 products with 3 variants each
> /shopify-cli-admin:shopify-function-test my-discount-function
> /shopify-cli-admin:shopify-cart-test 3 products over $50

Demo Walkthrough

A step-by-step walkthrough using a real Shopify dev store. Run these inside Claude Code with the plugin loaded.

0. Setup — connect to your store

If you don't have a Shopify app configured yet, create one in the Partner Dashboard and get your client ID. Then verify your CLI is working:

/shopify-cli-admin:shopify-query what's the shop name?

Claude will run shopify app execute --query '{ shop { name id } }' and prompt you for your store handle if needed. You should see your store's name in the response.

1. Query products

/shopify-cli-admin:shopify-query list the first 5 products with title, price, and inventory

2. Search for specific products

/shopify-cli-admin:shopify-query find products with "shirt" in the title

3. Check a single order

/shopify-cli-admin:shopify-query show me the most recent order with line items and shipping address

4. Bulk export products to CSV

/shopify-cli-admin:shopify-bulk-export products

This runs a bulk operation, waits for completion, downloads the JSONL, and transforms it to CSV using the included bulk-to-csv.sh script.

5. Create a test cart

/shopify-cli-admin:shopify-cart-test 2 products

Claude will query your store for products, pick variants, and generate a cart permalink URL you can open in a browser.

6. Initialize a dev store with sample data

/shopify-cli-admin:shopify-dev-store-init 3 products with 2 variants each

Claude will generate productCreate mutations and execute them one by one, reporting each created product.

Project Structure

.claude-plugin/
marketplace.json # Plugin registry manifest
plugins/
shopify-cli-admin/
.claude-plugin/
plugin.json # Plugin manifest
commands/ # Slash command definitions
shopify-query.md
shopify-bulk-export.md
shopify-dev-store-init.md
shopify-function-test.md
shopify-cart-test.md
skills/
shopify-admin-api/
SKILL.md # Core skill (procedural knowledge)
references/
graphql-patterns.md # Common Admin API query/mutation patterns
bulk-operations.md # Bulk operation workflows and jq transforms
scripts/
bulk-to-csv.sh # JSONL-to-CSV transformer for bulk exports
tests/
test_plugin_structure.bats # Plugin structure and manifest tests
test_bulk_to_csv.bats # bulk-to-csv.sh functional tests
fixtures/ # Test data (JSONL fixtures)

Running Tests

Tests use Bats (Bash Automated Testing System).

# Install bats (macOS)
brew install bats-core
# Run all tests
bats tests/
# Run specific test file
bats tests/test_plugin_structure.bats
bats tests/test_bulk_to_csv.bats

Safety

The plugin enforces safety rules for Shopify API operations:

  • Mutations require dev stores — always confirms the target is a development store
  • Destructive operations require confirmation — delete/update mutations are shown before execution
  • Bulk for large datasets — recommends bulk operations for >250 items
  • No hardcoded credentials — uses CLI flags, never embeds tokens

License

MIT

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Storefront CLI Plugins

A Claude Code plugin collection for Shopify Admin API development. Provides conversational access to the Admin API through the Shopify CLI — run GraphQL queries, bulk export data, set up dev stores, test functions, and create test carts, all through natural language.

Disclaimer: This project is not affiliated with, endorsed by, or sponsored by Shopify Inc. or Anthropic. "Shopify" and "Claude" are registered trademarks of their respective owners. This is an independent community project.

Inspired by the shopify app execute and shopify app bulk execute features introduced in Shopify CLI 3.90.1.

Installation

Prerequisites

  • Claude Code v1.0.33+ (claude --version to check)
  • Shopify CLI3.90.1+ (shopify version to verify) — requires the app execute and app bulk execute commands
  • A Shopify app with Admin API access (shopify.app.toml configured)
  • jq (for bulk export CSV transformations)

Add the marketplace

From within Claude Code, add this repository as a plugin marketplace:

/plugin marketplace add alecramos-sudo/storefront-cli-plugin

Install the plugin

/plugin install shopify-cli-admin@alecramos-sudo-storefront-cli-plugin

Or browse available plugins interactively with /plugin and go to the Discover tab.

Local development

To test the plugin locally without installing from a marketplace:

claude --plugin-dir ./plugins/shopify-cli-admin

Plugins

shopify-cli-admin

Conversational Shopify Admin API access via shopify app execute and bulk operations.

Commands

CommandDescription
/shopify-cli-admin:shopify-queryRun an ad-hoc GraphQL query against the Admin API
/shopify-cli-admin:shopify-bulk-exportExport large datasets (products, orders, customers) to CSV
/shopify-cli-admin:shopify-dev-store-initSet up a dev store with products, inventory, and images
/shopify-cli-admin:shopify-function-testActivate and test Shopify Functions without a UI
/shopify-cli-admin:shopify-cart-testCreate test carts with specific products

Examples

> /shopify-cli-admin:shopify-query list all products with their prices
> /shopify-cli-admin:shopify-bulk-export products
> /shopify-cli-admin:shopify-dev-store-init 10 products with 3 variants each
> /shopify-cli-admin:shopify-function-test my-discount-function
> /shopify-cli-admin:shopify-cart-test 3 products over $50

Demo Walkthrough

A step-by-step walkthrough using a real Shopify dev store. Run these inside Claude Code with the plugin loaded.

0. Setup — connect to your store

If you don't have a Shopify app configured yet, create one in the Partner Dashboard and get your client ID. Then verify your CLI is working:

/shopify-cli-admin:shopify-query what's the shop name?

Claude will run shopify app execute --query '{ shop { name id } }' and prompt you for your store handle if needed. You should see your store's name in the response.

1. Query products

/shopify-cli-admin:shopify-query list the first 5 products with title, price, and inventory

2. Search for specific products

/shopify-cli-admin:shopify-query find products with "shirt" in the title

3. Check a single order

/shopify-cli-admin:shopify-query show me the most recent order with line items and shipping address

4. Bulk export products to CSV

/shopify-cli-admin:shopify-bulk-export products

This runs a bulk operation, waits for completion, downloads the JSONL, and transforms it to CSV using the included bulk-to-csv.sh script.

5. Create a test cart

/shopify-cli-admin:shopify-cart-test 2 products

Claude will query your store for products, pick variants, and generate a cart permalink URL you can open in a browser.

6. Initialize a dev store with sample data

/shopify-cli-admin:shopify-dev-store-init 3 products with 2 variants each

Claude will generate productCreate mutations and execute them one by one, reporting each created product.

Project Structure

.claude-plugin/
marketplace.json # Plugin registry manifest
plugins/
shopify-cli-admin/
.claude-plugin/
plugin.json # Plugin manifest
commands/ # Slash command definitions
shopify-query.md
shopify-bulk-export.md
shopify-dev-store-init.md
shopify-function-test.md
shopify-cart-test.md
skills/
shopify-admin-api/
SKILL.md # Core skill (procedural knowledge)
references/
graphql-patterns.md # Common Admin API query/mutation patterns
bulk-operations.md # Bulk operation workflows and jq transforms
scripts/
bulk-to-csv.sh # JSONL-to-CSV transformer for bulk exports
tests/
test_plugin_structure.bats # Plugin structure and manifest tests
test_bulk_to_csv.bats # bulk-to-csv.sh functional tests
fixtures/ # Test data (JSONL fixtures)

Running Tests

Tests use Bats (Bash Automated Testing System).

# Install bats (macOS)
brew install bats-core
# Run all tests
bats tests/
# Run specific test file
bats tests/test_plugin_structure.bats
bats tests/test_bulk_to_csv.bats

Safety

The plugin enforces safety rules for Shopify API operations:

  • Mutations require dev stores — always confirms the target is a development store
  • Destructive operations require confirmation — delete/update mutations are shown before execution
  • Bulk for large datasets — recommends bulk operations for >250 items
  • No hardcoded credentials — uses CLI flags, never embeds tokens

License

MIT

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Storefront CLI Plugins

A Claude Code plugin collection for Shopify Admin API development. Provides conversational access to the Admin API through the Shopify CLI — run GraphQL queries, bulk export data, set up dev stores, test functions, and create test carts, all through natural language.

Disclaimer: This project is not affiliated with, endorsed by, or sponsored by Shopify Inc. or Anthropic. "Shopify" and "Claude" are registered trademarks of their respective owners. This is an independent community project.

Inspired by the shopify app execute and shopify app bulk execute features introduced in Shopify CLI 3.90.1.

Installation

Prerequisites

  • Claude Code v1.0.33+ (claude --version to check)
  • Shopify CLI3.90.1+ (shopify version to verify) — requires the app execute and app bulk execute commands
  • A Shopify app with Admin API access (shopify.app.toml configured)
  • jq (for bulk export CSV transformations)

Add the marketplace

From within Claude Code, add this repository as a plugin marketplace:

/plugin marketplace add alecramos-sudo/storefront-cli-plugin

Install the plugin

/plugin install shopify-cli-admin@alecramos-sudo-storefront-cli-plugin

Or browse available plugins interactively with /plugin and go to the Discover tab.

Local development

To test the plugin locally without installing from a marketplace:

claude --plugin-dir ./plugins/shopify-cli-admin

Plugins

shopify-cli-admin

Conversational Shopify Admin API access via shopify app execute and bulk operations.

Commands

CommandDescription
/shopify-cli-admin:shopify-queryRun an ad-hoc GraphQL query against the Admin API
/shopify-cli-admin:shopify-bulk-exportExport large datasets (products, orders, customers) to CSV
/shopify-cli-admin:shopify-dev-store-initSet up a dev store with products, inventory, and images
/shopify-cli-admin:shopify-function-testActivate and test Shopify Functions without a UI
/shopify-cli-admin:shopify-cart-testCreate test carts with specific products

Examples

> /shopify-cli-admin:shopify-query list all products with their prices
> /shopify-cli-admin:shopify-bulk-export products
> /shopify-cli-admin:shopify-dev-store-init 10 products with 3 variants each
> /shopify-cli-admin:shopify-function-test my-discount-function
> /shopify-cli-admin:shopify-cart-test 3 products over $50

Demo Walkthrough

A step-by-step walkthrough using a real Shopify dev store. Run these inside Claude Code with the plugin loaded.

0. Setup — connect to your store

If you don't have a Shopify app configured yet, create one in the Partner Dashboard and get your client ID. Then verify your CLI is working:

/shopify-cli-admin:shopify-query what's the shop name?

Claude will run shopify app execute --query '{ shop { name id } }' and prompt you for your store handle if needed. You should see your store's name in the response.

1. Query products

/shopify-cli-admin:shopify-query list the first 5 products with title, price, and inventory

2. Search for specific products

/shopify-cli-admin:shopify-query find products with "shirt" in the title

3. Check a single order

/shopify-cli-admin:shopify-query show me the most recent order with line items and shipping address

4. Bulk export products to CSV

/shopify-cli-admin:shopify-bulk-export products

This runs a bulk operation, waits for completion, downloads the JSONL, and transforms it to CSV using the included bulk-to-csv.sh script.

5. Create a test cart

/shopify-cli-admin:shopify-cart-test 2 products

Claude will query your store for products, pick variants, and generate a cart permalink URL you can open in a browser.

6. Initialize a dev store with sample data

/shopify-cli-admin:shopify-dev-store-init 3 products with 2 variants each

Claude will generate productCreate mutations and execute them one by one, reporting each created product.

Project Structure

.claude-plugin/
marketplace.json # Plugin registry manifest
plugins/
shopify-cli-admin/
.claude-plugin/
plugin.json # Plugin manifest
commands/ # Slash command definitions
shopify-query.md
shopify-bulk-export.md
shopify-dev-store-init.md
shopify-function-test.md
shopify-cart-test.md
skills/
shopify-admin-api/
SKILL.md # Core skill (procedural knowledge)
references/
graphql-patterns.md # Common Admin API query/mutation patterns
bulk-operations.md # Bulk operation workflows and jq transforms
scripts/
bulk-to-csv.sh # JSONL-to-CSV transformer for bulk exports
tests/
test_plugin_structure.bats # Plugin structure and manifest tests
test_bulk_to_csv.bats # bulk-to-csv.sh functional tests
fixtures/ # Test data (JSONL fixtures)

Running Tests

Tests use Bats (Bash Automated Testing System).

# Install bats (macOS)
brew install bats-core
# Run all tests
bats tests/
# Run specific test file
bats tests/test_plugin_structure.bats
bats tests/test_bulk_to_csv.bats

Safety

The plugin enforces safety rules for Shopify API operations:

  • Mutations require dev stores — always confirms the target is a development store
  • Destructive operations require confirmation — delete/update mutations are shown before execution
  • Bulk for large datasets — recommends bulk operations for >250 items
  • No hardcoded credentials — uses CLI flags, never embeds tokens

License

MIT

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Storefront CLI Plugins

A Claude Code plugin collection for Shopify Admin API development. Provides conversational access to the Admin API through the Shopify CLI — run GraphQL queries, bulk export data, set up dev stores, test functions, and create test carts, all through natural language.

Disclaimer: This project is not affiliated with, endorsed by, or sponsored by Shopify Inc. or Anthropic. "Shopify" and "Claude" are registered trademarks of their respective owners. This is an independent community project.

Inspired by the shopify app execute and shopify app bulk execute features introduced in Shopify CLI 3.90.1.

Installation

Prerequisites

  • Claude Code v1.0.33+ (claude --version to check)
  • Shopify CLI3.90.1+ (shopify version to verify) — requires the app execute and app bulk execute commands
  • A Shopify app with Admin API access (shopify.app.toml configured)
  • jq (for bulk export CSV transformations)

Add the marketplace

From within Claude Code, add this repository as a plugin marketplace:

/plugin marketplace add alecramos-sudo/storefront-cli-plugin

Install the plugin

/plugin install shopify-cli-admin@alecramos-sudo-storefront-cli-plugin

Or browse available plugins interactively with /plugin and go to the Discover tab.

Local development

To test the plugin locally without installing from a marketplace:

claude --plugin-dir ./plugins/shopify-cli-admin

Plugins

shopify-cli-admin

Conversational Shopify Admin API access via shopify app execute and bulk operations.

Commands

CommandDescription
/shopify-cli-admin:shopify-queryRun an ad-hoc GraphQL query against the Admin API
/shopify-cli-admin:shopify-bulk-exportExport large datasets (products, orders, customers) to CSV
/shopify-cli-admin:shopify-dev-store-initSet up a dev store with products, inventory, and images
/shopify-cli-admin:shopify-function-testActivate and test Shopify Functions without a UI
/shopify-cli-admin:shopify-cart-testCreate test carts with specific products

Examples

> /shopify-cli-admin:shopify-query list all products with their prices
> /shopify-cli-admin:shopify-bulk-export products
> /shopify-cli-admin:shopify-dev-store-init 10 products with 3 variants each
> /shopify-cli-admin:shopify-function-test my-discount-function
> /shopify-cli-admin:shopify-cart-test 3 products over $50

Demo Walkthrough

A step-by-step walkthrough using a real Shopify dev store. Run these inside Claude Code with the plugin loaded.

0. Setup — connect to your store

If you don't have a Shopify app configured yet, create one in the Partner Dashboard and get your client ID. Then verify your CLI is working:

/shopify-cli-admin:shopify-query what's the shop name?

Claude will run shopify app execute --query '{ shop { name id } }' and prompt you for your store handle if needed. You should see your store's name in the response.

1. Query products

/shopify-cli-admin:shopify-query list the first 5 products with title, price, and inventory

2. Search for specific products

/shopify-cli-admin:shopify-query find products with "shirt" in the title

3. Check a single order

/shopify-cli-admin:shopify-query show me the most recent order with line items and shipping address

4. Bulk export products to CSV

/shopify-cli-admin:shopify-bulk-export products

This runs a bulk operation, waits for completion, downloads the JSONL, and transforms it to CSV using the included bulk-to-csv.sh script.

5. Create a test cart

/shopify-cli-admin:shopify-cart-test 2 products

Claude will query your store for products, pick variants, and generate a cart permalink URL you can open in a browser.

6. Initialize a dev store with sample data

/shopify-cli-admin:shopify-dev-store-init 3 products with 2 variants each

Claude will generate productCreate mutations and execute them one by one, reporting each created product.

Project Structure

.claude-plugin/
marketplace.json # Plugin registry manifest
plugins/
shopify-cli-admin/
.claude-plugin/
plugin.json # Plugin manifest
commands/ # Slash command definitions
shopify-query.md
shopify-bulk-export.md
shopify-dev-store-init.md
shopify-function-test.md
shopify-cart-test.md
skills/
shopify-admin-api/
SKILL.md # Core skill (procedural knowledge)
references/
graphql-patterns.md # Common Admin API query/mutation patterns
bulk-operations.md # Bulk operation workflows and jq transforms
scripts/
bulk-to-csv.sh # JSONL-to-CSV transformer for bulk exports
tests/
test_plugin_structure.bats # Plugin structure and manifest tests
test_bulk_to_csv.bats # bulk-to-csv.sh functional tests
fixtures/ # Test data (JSONL fixtures)

Running Tests

Tests use Bats (Bash Automated Testing System).

# Install bats (macOS)
brew install bats-core
# Run all tests
bats tests/
# Run specific test file
bats tests/test_plugin_structure.bats
bats tests/test_bulk_to_csv.bats

Safety

The plugin enforces safety rules for Shopify API operations:

  • Mutations require dev stores — always confirms the target is a development store
  • Destructive operations require confirmation — delete/update mutations are shown before execution
  • Bulk for large datasets — recommends bulk operations for >250 items
  • No hardcoded credentials — uses CLI flags, never embeds tokens

License

MIT

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Storefront CLI Plugins

A Claude Code plugin collection for Shopify Admin API development. Provides conversational access to the Admin API through the Shopify CLI — run GraphQL queries, bulk export data, set up dev stores, test functions, and create test carts, all through natural language.

Disclaimer: This project is not affiliated with, endorsed by, or sponsored by Shopify Inc. or Anthropic. "Shopify" and "Claude" are registered trademarks of their respective owners. This is an independent community project.

Inspired by the shopify app execute and shopify app bulk execute features introduced in Shopify CLI 3.90.1.

Installation

Prerequisites

  • Claude Code v1.0.33+ (claude --version to check)
  • Shopify CLI3.90.1+ (shopify version to verify) — requires the app execute and app bulk execute commands
  • A Shopify app with Admin API access (shopify.app.toml configured)
  • jq (for bulk export CSV transformations)

Add the marketplace

From within Claude Code, add this repository as a plugin marketplace:

/plugin marketplace add alecramos-sudo/storefront-cli-plugin

Install the plugin

/plugin install shopify-cli-admin@alecramos-sudo-storefront-cli-plugin

Or browse available plugins interactively with /plugin and go to the Discover tab.

Local development

To test the plugin locally without installing from a marketplace:

claude --plugin-dir ./plugins/shopify-cli-admin

Plugins

shopify-cli-admin

Conversational Shopify Admin API access via shopify app execute and bulk operations.

Commands

CommandDescription
/shopify-cli-admin:shopify-queryRun an ad-hoc GraphQL query against the Admin API
/shopify-cli-admin:shopify-bulk-exportExport large datasets (products, orders, customers) to CSV
/shopify-cli-admin:shopify-dev-store-initSet up a dev store with products, inventory, and images
/shopify-cli-admin:shopify-function-testActivate and test Shopify Functions without a UI
/shopify-cli-admin:shopify-cart-testCreate test carts with specific products

Examples

> /shopify-cli-admin:shopify-query list all products with their prices
> /shopify-cli-admin:shopify-bulk-export products
> /shopify-cli-admin:shopify-dev-store-init 10 products with 3 variants each
> /shopify-cli-admin:shopify-function-test my-discount-function
> /shopify-cli-admin:shopify-cart-test 3 products over $50

Demo Walkthrough

A step-by-step walkthrough using a real Shopify dev store. Run these inside Claude Code with the plugin loaded.

0. Setup — connect to your store

If you don't have a Shopify app configured yet, create one in the Partner Dashboard and get your client ID. Then verify your CLI is working:

/shopify-cli-admin:shopify-query what's the shop name?

Claude will run shopify app execute --query '{ shop { name id } }' and prompt you for your store handle if needed. You should see your store's name in the response.

1. Query products

/shopify-cli-admin:shopify-query list the first 5 products with title, price, and inventory

2. Search for specific products

/shopify-cli-admin:shopify-query find products with "shirt" in the title

3. Check a single order

/shopify-cli-admin:shopify-query show me the most recent order with line items and shipping address

4. Bulk export products to CSV

/shopify-cli-admin:shopify-bulk-export products

This runs a bulk operation, waits for completion, downloads the JSONL, and transforms it to CSV using the included bulk-to-csv.sh script.

5. Create a test cart

/shopify-cli-admin:shopify-cart-test 2 products

Claude will query your store for products, pick variants, and generate a cart permalink URL you can open in a browser.

6. Initialize a dev store with sample data

/shopify-cli-admin:shopify-dev-store-init 3 products with 2 variants each

Claude will generate productCreate mutations and execute them one by one, reporting each created product.

Project Structure

.claude-plugin/
marketplace.json # Plugin registry manifest
plugins/
shopify-cli-admin/
.claude-plugin/
plugin.json # Plugin manifest
commands/ # Slash command definitions
shopify-query.md
shopify-bulk-export.md
shopify-dev-store-init.md
shopify-function-test.md
shopify-cart-test.md
skills/
shopify-admin-api/
SKILL.md # Core skill (procedural knowledge)
references/
graphql-patterns.md # Common Admin API query/mutation patterns
bulk-operations.md # Bulk operation workflows and jq transforms
scripts/
bulk-to-csv.sh # JSONL-to-CSV transformer for bulk exports
tests/
test_plugin_structure.bats # Plugin structure and manifest tests
test_bulk_to_csv.bats # bulk-to-csv.sh functional tests
fixtures/ # Test data (JSONL fixtures)

Running Tests

Tests use Bats (Bash Automated Testing System).

# Install bats (macOS)
brew install bats-core
# Run all tests
bats tests/
# Run specific test file
bats tests/test_plugin_structure.bats
bats tests/test_bulk_to_csv.bats

Safety

The plugin enforces safety rules for Shopify API operations:

  • Mutations require dev stores — always confirms the target is a development store
  • Destructive operations require confirmation — delete/update mutations are shown before execution
  • Bulk for large datasets — recommends bulk operations for >250 items
  • No hardcoded credentials — uses CLI flags, never embeds tokens

License

MIT

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Storefront CLI Plugins

A Claude Code plugin collection for Shopify Admin API development. Provides conversational access to the Admin API through the Shopify CLI — run GraphQL queries, bulk export data, set up dev stores, test functions, and create test carts, all through natural language.

Disclaimer: This project is not affiliated with, endorsed by, or sponsored by Shopify Inc. or Anthropic. "Shopify" and "Claude" are registered trademarks of their respective owners. This is an independent community project.

Inspired by the shopify app execute and shopify app bulk execute features introduced in Shopify CLI 3.90.1.

Installation

Prerequisites

  • Claude Code v1.0.33+ (claude --version to check)
  • Shopify CLI3.90.1+ (shopify version to verify) — requires the app execute and app bulk execute commands
  • A Shopify app with Admin API access (shopify.app.toml configured)
  • jq (for bulk export CSV transformations)

Add the marketplace

From within Claude Code, add this repository as a plugin marketplace:

/plugin marketplace add alecramos-sudo/storefront-cli-plugin

Install the plugin

/plugin install shopify-cli-admin@alecramos-sudo-storefront-cli-plugin

Or browse available plugins interactively with /plugin and go to the Discover tab.

Local development

To test the plugin locally without installing from a marketplace:

claude --plugin-dir ./plugins/shopify-cli-admin

Plugins

shopify-cli-admin

Conversational Shopify Admin API access via shopify app execute and bulk operations.

Commands

CommandDescription
/shopify-cli-admin:shopify-queryRun an ad-hoc GraphQL query against the Admin API
/shopify-cli-admin:shopify-bulk-exportExport large datasets (products, orders, customers) to CSV
/shopify-cli-admin:shopify-dev-store-initSet up a dev store with products, inventory, and images
/shopify-cli-admin:shopify-function-testActivate and test Shopify Functions without a UI
/shopify-cli-admin:shopify-cart-testCreate test carts with specific products

Examples

> /shopify-cli-admin:shopify-query list all products with their prices
> /shopify-cli-admin:shopify-bulk-export products
> /shopify-cli-admin:shopify-dev-store-init 10 products with 3 variants each
> /shopify-cli-admin:shopify-function-test my-discount-function
> /shopify-cli-admin:shopify-cart-test 3 products over $50

Demo Walkthrough

A step-by-step walkthrough using a real Shopify dev store. Run these inside Claude Code with the plugin loaded.

0. Setup — connect to your store

If you don't have a Shopify app configured yet, create one in the Partner Dashboard and get your client ID. Then verify your CLI is working:

/shopify-cli-admin:shopify-query what's the shop name?

Claude will run shopify app execute --query '{ shop { name id } }' and prompt you for your store handle if needed. You should see your store's name in the response.

1. Query products

/shopify-cli-admin:shopify-query list the first 5 products with title, price, and inventory

2. Search for specific products

/shopify-cli-admin:shopify-query find products with "shirt" in the title

3. Check a single order

/shopify-cli-admin:shopify-query show me the most recent order with line items and shipping address

4. Bulk export products to CSV

/shopify-cli-admin:shopify-bulk-export products

This runs a bulk operation, waits for completion, downloads the JSONL, and transforms it to CSV using the included bulk-to-csv.sh script.

5. Create a test cart

/shopify-cli-admin:shopify-cart-test 2 products

Claude will query your store for products, pick variants, and generate a cart permalink URL you can open in a browser.

6. Initialize a dev store with sample data

/shopify-cli-admin:shopify-dev-store-init 3 products with 2 variants each

Claude will generate productCreate mutations and execute them one by one, reporting each created product.

Project Structure

.claude-plugin/
marketplace.json # Plugin registry manifest
plugins/
shopify-cli-admin/
.claude-plugin/
plugin.json # Plugin manifest
commands/ # Slash command definitions
shopify-query.md
shopify-bulk-export.md
shopify-dev-store-init.md
shopify-function-test.md
shopify-cart-test.md
skills/
shopify-admin-api/
SKILL.md # Core skill (procedural knowledge)
references/
graphql-patterns.md # Common Admin API query/mutation patterns
bulk-operations.md # Bulk operation workflows and jq transforms
scripts/
bulk-to-csv.sh # JSONL-to-CSV transformer for bulk exports
tests/
test_plugin_structure.bats # Plugin structure and manifest tests
test_bulk_to_csv.bats # bulk-to-csv.sh functional tests
fixtures/ # Test data (JSONL fixtures)

Running Tests

Tests use Bats (Bash Automated Testing System).

# Install bats (macOS)
brew install bats-core
# Run all tests
bats tests/
# Run specific test file
bats tests/test_plugin_structure.bats
bats tests/test_bulk_to_csv.bats

Safety

The plugin enforces safety rules for Shopify API operations:

  • Mutations require dev stores — always confirms the target is a development store
  • Destructive operations require confirmation — delete/update mutations are shown before execution
  • Bulk for large datasets — recommends bulk operations for >250 items
  • No hardcoded credentials — uses CLI flags, never embeds tokens

License

MIT

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Storefront CLI Plugins

A Claude Code plugin collection for Shopify Admin API development. Provides conversational access to the Admin API through the Shopify CLI — run GraphQL queries, bulk export data, set up dev stores, test functions, and create test carts, all through natural language.

Disclaimer: This project is not affiliated with, endorsed by, or sponsored by Shopify Inc. or Anthropic. "Shopify" and "Claude" are registered trademarks of their respective owners. This is an independent community project.

Inspired by the shopify app execute and shopify app bulk execute features introduced in Shopify CLI 3.90.1.

Installation

Prerequisites

  • Claude Code v1.0.33+ (claude --version to check)
  • Shopify CLI3.90.1+ (shopify version to verify) — requires the app execute and app bulk execute commands
  • A Shopify app with Admin API access (shopify.app.toml configured)
  • jq (for bulk export CSV transformations)

Add the marketplace

From within Claude Code, add this repository as a plugin marketplace:

/plugin marketplace add alecramos-sudo/storefront-cli-plugin

Install the plugin

/plugin install shopify-cli-admin@alecramos-sudo-storefront-cli-plugin

Or browse available plugins interactively with /plugin and go to the Discover tab.

Local development

To test the plugin locally without installing from a marketplace:

claude --plugin-dir ./plugins/shopify-cli-admin

Plugins

shopify-cli-admin

Conversational Shopify Admin API access via shopify app execute and bulk operations.

Commands

CommandDescription
/shopify-cli-admin:shopify-queryRun an ad-hoc GraphQL query against the Admin API
/shopify-cli-admin:shopify-bulk-exportExport large datasets (products, orders, customers) to CSV
/shopify-cli-admin:shopify-dev-store-initSet up a dev store with products, inventory, and images
/shopify-cli-admin:shopify-function-testActivate and test Shopify Functions without a UI
/shopify-cli-admin:shopify-cart-testCreate test carts with specific products

Examples

> /shopify-cli-admin:shopify-query list all products with their prices
> /shopify-cli-admin:shopify-bulk-export products
> /shopify-cli-admin:shopify-dev-store-init 10 products with 3 variants each
> /shopify-cli-admin:shopify-function-test my-discount-function
> /shopify-cli-admin:shopify-cart-test 3 products over $50

Demo Walkthrough

A step-by-step walkthrough using a real Shopify dev store. Run these inside Claude Code with the plugin loaded.

0. Setup — connect to your store

If you don't have a Shopify app configured yet, create one in the Partner Dashboard and get your client ID. Then verify your CLI is working:

/shopify-cli-admin:shopify-query what's the shop name?

Claude will run shopify app execute --query '{ shop { name id } }' and prompt you for your store handle if needed. You should see your store's name in the response.

1. Query products

/shopify-cli-admin:shopify-query list the first 5 products with title, price, and inventory

2. Search for specific products

/shopify-cli-admin:shopify-query find products with "shirt" in the title

3. Check a single order

/shopify-cli-admin:shopify-query show me the most recent order with line items and shipping address

4. Bulk export products to CSV

/shopify-cli-admin:shopify-bulk-export products

This runs a bulk operation, waits for completion, downloads the JSONL, and transforms it to CSV using the included bulk-to-csv.sh script.

5. Create a test cart

/shopify-cli-admin:shopify-cart-test 2 products

Claude will query your store for products, pick variants, and generate a cart permalink URL you can open in a browser.

6. Initialize a dev store with sample data

/shopify-cli-admin:shopify-dev-store-init 3 products with 2 variants each

Claude will generate productCreate mutations and execute them one by one, reporting each created product.

Project Structure

.claude-plugin/
marketplace.json # Plugin registry manifest
plugins/
shopify-cli-admin/
.claude-plugin/
plugin.json # Plugin manifest
commands/ # Slash command definitions
shopify-query.md
shopify-bulk-export.md
shopify-dev-store-init.md
shopify-function-test.md
shopify-cart-test.md
skills/
shopify-admin-api/
SKILL.md # Core skill (procedural knowledge)
references/
graphql-patterns.md # Common Admin API query/mutation patterns
bulk-operations.md # Bulk operation workflows and jq transforms
scripts/
bulk-to-csv.sh # JSONL-to-CSV transformer for bulk exports
tests/
test_plugin_structure.bats # Plugin structure and manifest tests
test_bulk_to_csv.bats # bulk-to-csv.sh functional tests
fixtures/ # Test data (JSONL fixtures)

Running Tests

Tests use Bats (Bash Automated Testing System).

# Install bats (macOS)
brew install bats-core
# Run all tests
bats tests/
# Run specific test file
bats tests/test_plugin_structure.bats
bats tests/test_bulk_to_csv.bats

Safety

The plugin enforces safety rules for Shopify API operations:

  • Mutations require dev stores — always confirms the target is a development store
  • Destructive operations require confirmation — delete/update mutations are shown before execution
  • Bulk for large datasets — recommends bulk operations for >250 items
  • No hardcoded credentials — uses CLI flags, never embeds tokens

License

MIT

Releases

Packages

Contributors

Languages