# Store Propagate

Push the template's three platform-managed files (proxy.ts, lib/track.tsx...

- Repository: https://github.com/yournextstore/yournextstore (5539 stars)
- Category: Git and review
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add yournextstore/yournextstore --skill store-propagate -g -a claude-code -y`
Codex: `npx skills add yournextstore/yournextstore --skill store-propagate -g -a codex -y`
Cursor: `npx skills add yournextstore/yournextstore --skill store-propagate -g -a cursor -y`
Gemini CLI: `npx skills add yournextstore/yournextstore --skill store-propagate -g -a gemini-cli -y`

## Description

Push the template's three platform-managed files (proxy.ts, lib/track.tsx, instrumentation-client.ts) to the store repos (yns-store-* in the tenants orgs). Publishing restores those files from each store's own main, so a commit there is the only way a change to them reaches existing stores. Use for "propagate proxy.ts", "update the managed files in every store", "roll out a proxy change", after landing a template change to one of those files. Every other template change reaches a store through the Upgrade button (the platform's upgrade-storefront skill), not this skill. Takes an optional list of store subdomains; defaults to every builder store.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Push the platform-managed files to store repos

You may be running across many repos. Do not ask questions: decide, act and report. If one store
fails, record it and move on to the next.

## What this is for, and what it isn't

- Three files in every store are platform-managed: `proxy.ts`, `lib/track.tsx` and
  `instrumentation-client.ts` (the platform's `MANAGED_STOREFRONT_PATHS`). Every publish puts them
  back to the store repo's own `main`, so neither Elliot nor the Upgrade button can change them. A
  commit on the store's `main` is the only way, and this skill makes it.
- Every other template change reaches a store through the **Upgrade** button in Design: Elliot's
  `upgrade-storefront` skill in the platform repo (`agent/skills/upgrade-storefront`). It brings
  the changes in file by file, keeps the store's look and records the template commit in
  `.yns/template.json`. Don't copy other files from here, and never merge or rebase a store onto
  the template (README, "Updating a store to the template").

## Facts

- Store repos are `yns-store-<subdomain>` in **`yns-cx-tenants`** (staging, yns.cx) or
  **`yns-store-tenants`** (production, yns.store). Use `gh`.
- They share no history with the template: a new store is a copy made with GitHub's "create from
  template" (the platform's `src/lib/store/tenant-project.ts`).
- Pushing to a store's `main` doesn't deploy it: tenant projects ignore git builds. The store picks
  the change up on its next publish; to ship it now, publish it yourself (Deploy main on the
  superadmin store page, or `POST /api/v1/publish` with the store's key, which a store checkout's
  `bun run publish:store` sends).
- Pushing is safe for open Design sessions: their catch-up moves onto the new `main` and keeps the
  edits they haven't published.
- `.env*` files are per-store secrets. Never read, change or commit them.

## Inputs

The rest: https://github.com/yournextstore/yournextstore/blob/HEAD/.agents/skills/store-propagate/SKILL.md
