npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@runwell/dawn-runwell

v1.4.4

Published

Runwell shared baseline for Shopify themes. Cherry-picked Dawn-shape layout, sections, snippets, assets, settings, and locales that every Runwell-managed store inherits via runwell-shopify sync. Tenants override visual identity, copy, and bespoke sections

Readme

@runwell/dawn-runwell

Shared theme baseline for Runwell-managed Shopify stores.

What this is

Every Runwell-managed Shopify store inherits a common set of layout, section, snippet, and asset files from this package. The baseline holds universal improvements (pixel scaffolding, color-scheme fallback, button styling, drawer panel solidity, image hygiene, scheme_classes init, locale schema fixes) that every tenant gets out of the box. Tenants override visual identity, copy, and bespoke sections in their own theme repos.

This is layer 1 of a three-layer architecture:

LAYER 3: tenant theme repo  (per-client; settings_data, templates, brand assets, bespoke sections)
LAYER 2: @runwell/shopify-toolkit  (feature modules: PDP enrichments, cart drawer cards, etc.)
LAYER 1: @runwell/dawn-runwell  (this package: theme baseline)

What ships

See baseline-manifest.json for the authoritative list. Summary:

  • layout/theme.liquid, layout/password.liquid with 9 tenant-hook render points (tenant-head, tenant-meta-fallbacks, tenant-nav, tenant-body-start, tenant-body-end, tenant-footer-top, tenant-footer-bottom, tenant-product-extras, tenant-cart-extras). See TENANT-CUSTOMIZATION.md for the full guide.
  • sections/header.liquid, sections/footer.liquid, sections/main-product.liquid (Dawn-shape, with toolkit anchor points).
  • snippets/cart-drawer.liquid, snippets/card-product.liquid (with toolkit cart enrichments hooks).
  • assets/runwell-overrides.css (universal Dawn-fork fixes).
  • assets/runwell-pixels.js (GA4 + Meta + TikTok bootstrap).
  • config/settings_schema.patches.json and locales/en.default.schema.patches.json (sync engine merges these into the tenant's matching files).

Typography

Type scale flows from Dawn's two Theme Editor sliders (body_scale 100-130, heading_scale 100-150) through the CSS variables --font-body-scale and --font-heading-scale. The baseline does NOT override typography directly. The toolkit ships scale-aware tokens (see @runwell/shopify-toolkit _shared/css-typography) that wrap these variables, so module sizes scale uniformly when a merchant adjusts the sliders.

Each tenant decides its own scale values per brand. Defaults are Dawn's (100/100). To adjust:

  • Theme Editor in admin: Theme settings > Typography. Drag the body and heading scale sliders.
  • Or edit config/settings_data.json current preset and set body_scale / heading_scale, then push.

Tenant CSS overrides (e.g. assets/<tenant>-brand.css) should reference Dawn's scale variables when declaring custom font sizes:

.tenant-section__heading {
  font-size: calc(var(--font-heading-scale) * clamp(3rem, 5vw, 4.8rem));
}
.tenant-section__lede {
  font-size: calc(var(--font-body-scale) * 1.7rem);
}

Or reference the toolkit-shipped tokens directly: var(--runwell-h2-size), var(--runwell-lede-size), etc.

How tenants consume it

Each tenant theme has a runwell.config.json that pins the baseline version:

{
  "client": "lusha",
  "store": "guabrasha.myshopify.com",
  "baseline": "@runwell/dawn-runwell@^1.0.0",
  "toolkit_version": "^0.8.0",
  "brand": { "...": "..." },
  "modules": { "...": "..." }
}

runwell-shopify sync (from the toolkit CLI, version 0.9.0+) runs four stages in order:

  1. Pull baseline files from the pinned @runwell/dawn-runwell version into the tenant theme dir. Apply settings + locale patches.
  2. Pull toolkit module files. Toolkit files override baseline files when they share a path.
  3. Apply tenant overrides from tenant-overrides/ directory. These win last.
  4. Write runwell-manifest.json with provenance for every file: { source: 'baseline' | 'toolkit' | 'tenant', version: '1.0.0', module?: '<name>' }.

Tenant hooks

Baseline references several optional tenant-controlled files. Each tenant ships them in their own repo as needed:

| File | What it does | |---|---| | snippets/tenant-head.liquid | Tenant-controlled <head> injection (extra fonts, SEO, schema.org). | | snippets/tenant-meta-fallbacks.liquid | Per-tenant meta tags (OpenGraph fallbacks, etc). | | snippets/tenant-nav.liquid | Hardcoded canonical nav (used when bypassing the Theme Editor menu picker). | | assets/tenant-brand.css | Tenant brand CSS (fonts, color overrides, photography tone). Loaded after runwell-overrides.css. | | assets/tenant-wordmark.svg | Brand wordmark used as header logo fallback. |

Missing tenant hooks render nothing without erroring (Shopify ignores missing snippets silently).

Updates

To upgrade a tenant to a new baseline version:

cd <tenant-theme-dir>
runwell-shopify upgrade-baseline @runwell/[email protected]
runwell-shopify sync
runwell-shopify qa
shopify theme push -t <THEME_ID> -s <store>

upgrade-baseline writes a diff summary of what changed. Major version bumps may include breaking changes documented in baseline release notes.

Why Dawn lineage and not Skeleton

Skeleton is Shopify's modern minimal starter and is the better long-term foundation, but renaming the foundational sections (product.liquid vs Dawn's main-product.liquid, cart.liquid vs Dawn's cart-drawer) breaks merchant-saved Theme Editor settings on existing tenants. v1 of this baseline stays on Dawn lineage to make migration of current Lushi + Lusha tenants low-risk. v2 is planned as a Skeleton-based forward port once v1 stabilizes and we have more tenants to amortize the rewrite cost.

See claude-PM/projects/shopify-agent/dawn-runwell-architecture.md for the full plan.

License

UNLICENSED. Internal Runwell use only.