Use this sequence for a new store. The theme ZIP contains layouts, settings, scripts and packaged visuals. It does not create products, inventory, collections, menus, pages, articles, custom field definitions or policies. Those resources belong to your Shopify store. Fresh-store acceptance remains a separate check.
1. Upload and preview
In Online Store > Themes, upload Peptela-1.0.0.zip using Import theme > Upload ZIP file. Keep it unpublished while configuring. Open Customize. Set Theme settings > Brand, colors and typography. Upload your primary/light logos, favicon and social image; disable included Peptela artwork when using your own identity. Set the research notice for your actual catalog. The demo age gate is off.
2. Create product fields
Every supported definition is listed in setup/metafields.json and the merchant guide. In Settings > Custom data > Products, create the fields you need with namespace peptela, exact keys/types and Storefront API read access enabled. Product fields are optional. For a minimum catalog use summary, card_detail, format, ingredients and research_category. Set real variants, prices and stock in Products; metafields do not create variants.
The optional installer only creates missing definitions and enables storefront read access for matching definitions. It never writes product values, deletes data, renames fields or changes existing types. Type conflicts stop the entire plan before mutations. An interrupted apply can be rerun. No catalog-management scripts are required.
From the handover folder, use Node.js 22.12 or later. Supply an existing Admin API token with product/custom-data permissions through SHOPIFY_ADMIN_ACCESS_TOKEN in your terminal environment. Keep it out of files, command arguments and version control. Replace the example store host with your own:
node scripts/install-theme-metafields.mjs --merchant --store your-store.myshopify.com
node scripts/install-theme-metafields.mjs --merchant --store your-store.myshopify.com --apply --confirm-store your-store.myshopify.com
The first command prints a read-only plan. The second applies that plan after validating the authenticated store host. Merchant mode does not load Nexio credentials. The separate Nexio mode, node scripts/install-theme-metafields.mjs [--apply], retains the exact demo-domain guard and uses the local development credentials. Buyer installation does not use Nexio mode.
3. Add your catalog or optionally import demo products
For your own catalog: create products, add descriptive media alt text, options, SKUs, prices, inventory and shipping details, and publish the chosen products to Online Store. Populate fields only with accurate information. Select related products from your own store. For reports, upload your document and select it in peptela.coa_file; leave report_asset empty.
For an optional fictional demo: Products > Import > select setup/demo-products.csv. It contains 32 products and 64 Amount variants, all drafts and not published. Leave overwrite matching handles and automatic channel publication off. Inspect Shopify's import preview before confirming. USD source numbers import in the target store currency; verify your currency first. The CSV intentionally leaves inventory tracking/quantity unset. Configure stock through Inventory before test purchases.
Image Src values use the demo's public Shopify CDN. Shopify copies imported images into your own product resources; repository login is not required. If a source image is unavailable, upload the matching PNG from content/peptela-products/images/ or content/peptela-products/expansion-2026-10/images/ in the handover. Assign images to variants as needed. setup/demo-product-fields.json supplies optional field values keyed by handle; enter them in Shopify after defining fields. The CSV does not import these fields, related-product IDs, stock or batch reports. Existing source catalog purity text says no analytical result supplied. For a report demonstration, choose an included PDF filename in report_asset and matching fictional batch details, or upload a real document for your own catalog. Add peptela-report only to products that have reports.
The historic sync-catalog, expansion, scaffold and stock scripts are internal demo build records. They use an exact Nexio store guard and can alter matching demo products. Do not use them for merchant installation or updates.
4. Create collections
Create collections using setup/collections.json: seven suggested handles, names and tag conditions. For each automatic collection choose Product tag is equal to the supplied tag; publish it to Online Store. For a real catalog substitute your tags/names. The report collection is a utility collection, omitted from the curated collection directory. Set an image and description for each customer category.
In Customize select your collections in Product hero, Featured collection, Collection directory, Compound index and Batch report directory. Select individual products in Featured product and image/story sections. In Shopify Search & Discovery enable Availability and Price filters and configure related/complementary product assignments. Filtering reflects Shopify's eligible variants, not just each card's lowest displayed price.
5. Create support pages and Journal
Create the nine pages in setup/pages.json. Dedicated templates own the designed sections; the native page content is an optional body rendered once beneath the introduction. Default page is generic, with no automatic handle profiles. Keep native Content empty when the section layout already holds the body. Do not duplicate text in both locations.
Shopify lists the published theme's templates in the page assignment control. If a suffix is unavailable while the theme is unpublished, finish the draft layout by selecting the template in Customize, preview it with a chosen page, then assign the suffix after publishing the configured theme. Never change a live page's suffix to one missing from its live theme. After assignment, edit About only in page.about, Lab reports only in page.lab-reports, and so on. A new page with any handle uses Default page unless explicitly assigned.
Create a blog with handle journal, add articles with title, excerpt, body, featured image, alt text and SEO, then make chosen articles visible. Select the blog in Journal preview and link to it in navigation. No journal entries are embedded in the theme ZIP. The default blog/article templates use native Shopify content.
6. Build and select menus
In Content > Menus create the four menus in setup/menus.json. Use Shopify's resource picker for your actual collections/pages/blog rather than copying a missing demo URL. Assign Main in Header, Categories in Catalog dropdown, reading links in the secondary dropdown, Shop/Help in Footer and category links in Collection products. If Shopify generates different handles, explicitly select your menus. Preview every link.
7. Replace policies and configure operations
Set your actual policies in Settings > Policies and link them in navigation. The designed privacy/terms/shipping pages contain fictional demo copy; edit their dedicated sections or replace those menu destinations with Shopify's native policy URLs. Setting a Shopify policy does not update a custom page. Configure payments, shipping, taxes, locations, markets, customer accounts, notification recipients and store access for your business. These facts and account actions belong to you.
8. Review and publish
Preview desktop and phone widths. Check page assignments, selected resources, menus, alt text, empty-field behavior, two variant choices, add/update/remove cart, filters, contact/signup feedback and report downloads. Submit an authorized test order only after operating configuration is ready. Check notification receipts separately. Publish when you approve the result. Recheck the public sitemap and social previews after final domain/access setup.
See updates, examples, troubleshooting and limits and asset/font notices.
Shopify references: theme upload, product CSV import, custom data definitions, templates.