@cimplify/cli 0.5.3 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{add-3DANJHCI.mjs → add-5EMD74VD.mjs} +1 -1
- package/dist/cancel-HANLRA6Q.mjs +34 -0
- package/dist/{chunk-2547SIWD.mjs → chunk-DAHD6YWI.mjs} +1 -1
- package/dist/{chunk-BB7IBX6X.mjs → chunk-O6RONGAI.mjs} +1 -1
- package/dist/{chunk-ZEGSQVM5.mjs → chunk-OILDQUAD.mjs} +21 -21
- package/dist/dispatcher.mjs +12 -10
- package/dist/{doctor-TD4RZCCM.mjs → doctor-YPO2MQZF.mjs} +2 -2
- package/dist/{explain-7OSAQVJ6.mjs → explain-L5ZDNMHC.mjs} +1 -1
- package/dist/{introspect-SKQMAYFJ.mjs → introspect-PQ476BL7.mjs} +2 -2
- package/dist/{list-XLJOS2DK.mjs → list-5ORRWEYK.mjs} +1 -1
- package/dist/{update-4GX2J3IB.mjs → update-4AZUFFQ3.mjs} +1 -1
- package/package.json +1 -1
- package/templates/manifest.json +2 -2
- package/templates/storefront-auto/.claude/skills/cimplify-storefront/SKILL.md +2 -2
- package/templates/storefront-auto/.env.example +0 -5
- package/templates/storefront-auto/README.md +0 -4
- package/templates/storefront-auto/next.config.ts +6 -0
- package/templates/storefront-auto/package.json +1 -1
- package/templates/storefront-bakery/.claude/skills/cimplify-storefront/SKILL.md +2 -2
- package/templates/storefront-bakery/.env.example +0 -5
- package/templates/storefront-bakery/AGENTS.md +2 -2
- package/templates/storefront-bakery/README.md +0 -4
- package/templates/storefront-bakery/next.config.ts +6 -0
- package/templates/storefront-bakery/package.json +1 -1
- package/templates/storefront-fashion/.claude/skills/cimplify-storefront/SKILL.md +2 -2
- package/templates/storefront-fashion/.env.example +0 -5
- package/templates/storefront-fashion/AGENTS.md +1 -1
- package/templates/storefront-fashion/README.md +0 -4
- package/templates/storefront-fashion/next.config.ts +6 -0
- package/templates/storefront-fashion/package.json +1 -1
- package/templates/storefront-grocery/.claude/skills/cimplify-storefront/SKILL.md +2 -2
- package/templates/storefront-grocery/.env.example +0 -5
- package/templates/storefront-grocery/AGENTS.md +1 -2
- package/templates/storefront-grocery/README.md +0 -4
- package/templates/storefront-grocery/next.config.ts +6 -0
- package/templates/storefront-grocery/package.json +1 -1
- package/templates/storefront-pharmacy/.claude/skills/cimplify-storefront/SKILL.md +2 -2
- package/templates/storefront-pharmacy/.env.example +0 -5
- package/templates/storefront-pharmacy/AGENTS.md +1 -1
- package/templates/storefront-pharmacy/README.md +0 -4
- package/templates/storefront-pharmacy/next.config.ts +6 -0
- package/templates/storefront-pharmacy/package.json +1 -1
- package/templates/storefront-restaurant/.claude/skills/cimplify-storefront/SKILL.md +2 -2
- package/templates/storefront-restaurant/.env.example +0 -5
- package/templates/storefront-restaurant/AGENTS.md +1 -2
- package/templates/storefront-restaurant/README.md +0 -4
- package/templates/storefront-restaurant/next.config.ts +6 -0
- package/templates/storefront-restaurant/package.json +1 -1
- package/templates/storefront-retail/.claude/skills/cimplify-storefront/SKILL.md +2 -2
- package/templates/storefront-retail/.env.example +0 -5
- package/templates/storefront-retail/AGENTS.md +1 -1
- package/templates/storefront-retail/README.md +0 -4
- package/templates/storefront-retail/next.config.ts +6 -0
- package/templates/storefront-retail/package.json +1 -1
- package/templates/storefront-services/.claude/skills/cimplify-storefront/SKILL.md +2 -2
- package/templates/storefront-services/.env.example +0 -5
- package/templates/storefront-services/AGENTS.md +1 -2
- package/templates/storefront-services/README.md +0 -4
- package/templates/storefront-services/next.config.ts +6 -0
- package/templates/storefront-services/package.json +1 -1
- package/dist/{deploy-3IFXUWPM.mjs → deploy-7BPO5BNB.mjs} +1 -1
package/dist/dispatcher.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { TEMPLATES } from './chunk-
|
|
3
|
-
import { package_default } from './chunk-
|
|
2
|
+
import { TEMPLATES } from './chunk-OILDQUAD.mjs';
|
|
3
|
+
import { package_default } from './chunk-O6RONGAI.mjs';
|
|
4
4
|
|
|
5
5
|
// src/dispatcher.ts
|
|
6
6
|
var VERSION = package_default.version ?? "unknown";
|
|
@@ -27,6 +27,7 @@ Project:
|
|
|
27
27
|
|
|
28
28
|
Deploy:
|
|
29
29
|
cimplify deploy [flags] Push current SHA + trigger a build
|
|
30
|
+
cimplify cancel <deploy-id> Cancel a pending or in-progress deployment
|
|
30
31
|
cimplify rollback <deploy-id> Re-deploy a previous deployment's SHA
|
|
31
32
|
cimplify status Show the latest deployment for the linked project
|
|
32
33
|
cimplify logs [flags] Stream build logs for the latest (or given) deployment
|
|
@@ -127,22 +128,23 @@ var COMMANDS = {
|
|
|
127
128
|
projects: () => import('./projects-JSEC2YCX.mjs'),
|
|
128
129
|
link: () => import('./link-DZSILT5N.mjs'),
|
|
129
130
|
unlink: () => import('./unlink-RFK74SFP.mjs'),
|
|
130
|
-
deploy: () => import('./deploy-
|
|
131
|
+
deploy: () => import('./deploy-7BPO5BNB.mjs'),
|
|
132
|
+
cancel: () => import('./cancel-HANLRA6Q.mjs'),
|
|
131
133
|
rollback: () => import('./rollback-DD4RNRFM.mjs'),
|
|
132
134
|
env: () => import('./env-7ISJ73YI.mjs'),
|
|
133
135
|
domains: () => import('./domains-AHH56CL7.mjs'),
|
|
134
136
|
logs: () => import('./logs-YNN2PQ24.mjs'),
|
|
135
137
|
status: () => import('./status-JSYXM5RT.mjs'),
|
|
136
138
|
dev: () => import('./dev-ONW2S77K.mjs'),
|
|
137
|
-
introspect: () => import('./introspect-
|
|
138
|
-
doctor: () => import('./doctor-
|
|
139
|
-
explain: () => import('./explain-
|
|
139
|
+
introspect: () => import('./introspect-PQ476BL7.mjs'),
|
|
140
|
+
doctor: () => import('./doctor-YPO2MQZF.mjs'),
|
|
141
|
+
explain: () => import('./explain-L5ZDNMHC.mjs'),
|
|
140
142
|
assets: () => import('./assets-EBEMMENZ.mjs'),
|
|
141
143
|
repo: () => import('./repo-WOBWKEAO.mjs'),
|
|
142
|
-
list: () => import('./list-
|
|
143
|
-
add: () => import('./add-
|
|
144
|
-
update: () => import('./update-
|
|
145
|
-
upgrade: () => import('./update-
|
|
144
|
+
list: () => import('./list-5ORRWEYK.mjs'),
|
|
145
|
+
add: () => import('./add-5EMD74VD.mjs'),
|
|
146
|
+
update: () => import('./update-4AZUFFQ3.mjs'),
|
|
147
|
+
upgrade: () => import('./update-4AZUFFQ3.mjs'),
|
|
146
148
|
"auth-step-up": () => import('./auth-step-up-BIUYQJP6.mjs')
|
|
147
149
|
};
|
|
148
150
|
var COMMAND_PREFIXES = {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { gatherIntrospection } from './chunk-
|
|
2
|
+
import { gatherIntrospection } from './chunk-DAHD6YWI.mjs';
|
|
3
3
|
import './chunk-K5464A3L.mjs';
|
|
4
4
|
import './chunk-DBZ3UOQ2.mjs';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-O6RONGAI.mjs';
|
|
6
6
|
import { parseArgs, flagBool } from './chunk-C4M3DXKC.mjs';
|
|
7
7
|
import { ApiClient } from './chunk-MAOO6ZZ5.mjs';
|
|
8
8
|
import { readAuthOrNull } from './chunk-UBAI443T.mjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { package_default } from './chunk-
|
|
2
|
+
import { package_default } from './chunk-O6RONGAI.mjs';
|
|
3
3
|
import { parseArgs } from './chunk-C4M3DXKC.mjs';
|
|
4
4
|
import { bold, dim, info, result, CliError, CLI_ERROR_CODE } from './chunk-E2T2SBP5.mjs';
|
|
5
5
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export { run as default, extractMockSeed, gatherIntrospection, renderIntrospection } from './chunk-
|
|
2
|
+
export { run as default, extractMockSeed, gatherIntrospection, renderIntrospection } from './chunk-DAHD6YWI.mjs';
|
|
3
3
|
import './chunk-K5464A3L.mjs';
|
|
4
4
|
import './chunk-DBZ3UOQ2.mjs';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-O6RONGAI.mjs';
|
|
6
6
|
import './chunk-C4M3DXKC.mjs';
|
|
7
7
|
import './chunk-UBAI443T.mjs';
|
|
8
8
|
import './chunk-E2T2SBP5.mjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { REGISTRY_INDEX } from './chunk-
|
|
2
|
+
import { REGISTRY_INDEX } from './chunk-OILDQUAD.mjs';
|
|
3
3
|
import { parseArgs, flagBool } from './chunk-C4M3DXKC.mjs';
|
|
4
4
|
import { CliError, CLI_ERROR_CODE, info, bold, dim, green, result } from './chunk-E2T2SBP5.mjs';
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { package_default } from './chunk-
|
|
2
|
+
import { package_default } from './chunk-O6RONGAI.mjs';
|
|
3
3
|
import { promptYesNo } from './chunk-ITAFAORS.mjs';
|
|
4
4
|
import { parseArgs, flagBool, flagString } from './chunk-C4M3DXKC.mjs';
|
|
5
5
|
import { success, bold, info, dim, result, failure, CliError, CLI_ERROR_CODE, step, isJsonMode } from './chunk-E2T2SBP5.mjs';
|
package/package.json
CHANGED
package/templates/manifest.json
CHANGED
|
@@ -49,7 +49,7 @@ mock: { seed, businessId }
|
|
|
49
49
|
1. Edit `lib/brand.ts`. Replace every field with the merchant's content. Use the brief / context the user gave you.
|
|
50
50
|
2. Edit `app/globals.css` `@theme { … }`. Change `--color-primary`, `--color-background`, `--color-foreground`, optionally `--radius`. Use OKLCH; if the brand only gave hex, convert.
|
|
51
51
|
3. (Optional) Swap fonts in `app/layout.tsx` — `next/font/google` import + the variable wired into the `<html>` className.
|
|
52
|
-
4. Set `.env.local`: `
|
|
52
|
+
4. Set `.env.local`: `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (optional: `NEXT_PUBLIC_SITE_URL`).
|
|
53
53
|
|
|
54
54
|
Don't touch any other file. If the rebrand needs content not in the schema, add the field to `Brand` first, populate it, then read it from the page.
|
|
55
55
|
|
|
@@ -131,7 +131,7 @@ cimplify domains add my-store.com
|
|
|
131
131
|
| Which page reads which `brand.X` field | `AGENTS.md` at project root |
|
|
132
132
|
| Architectural rules | `AGENTS.md` at project root + this skill |
|
|
133
133
|
| Running locally | `bun dev` (boots mock + Next together) |
|
|
134
|
-
| Switching mock seed | edit `dev:mock` in `package.json`
|
|
134
|
+
| Switching mock seed | edit `dev:mock` in `package.json` |
|
|
135
135
|
| Full SDK reference | `docs/sdk/storefronts.md` in the Cimplify repo |
|
|
136
136
|
|
|
137
137
|
## What to do when the user asks something out-of-scope
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
# production; the mock accepts any value during local dev.
|
|
3
3
|
NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
4
4
|
|
|
5
|
-
# Mock seed for local dev — picks which fixture business to serve. The
|
|
6
|
-
# scaffold sets this to the right one for your template, so you only
|
|
7
|
-
# need to change it when previewing other industries against the mock.
|
|
8
|
-
NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_driveline_auto
|
|
9
|
-
|
|
10
5
|
# Optional. Forces a fixed canonical URL for sitemap.xml, robots.txt,
|
|
11
6
|
# OpenGraph, and llms.txt. Leave unset and the storefront derives the
|
|
12
7
|
# canonical from the request `Host` header automatically.
|
|
@@ -31,16 +31,12 @@ cimplify-mock --seed restaurant # Mama's Kitchen
|
|
|
31
31
|
cimplify-mock --seed retail # Currents Electronics
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
Update `NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID` in `.env.local` to match the seeded business.
|
|
35
|
-
|
|
36
34
|
## Go live
|
|
37
35
|
|
|
38
36
|
```diff
|
|
39
37
|
# .env.local
|
|
40
38
|
- NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
41
39
|
+ NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=<your tenant key>
|
|
42
|
-
- NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_driveline_auto
|
|
43
|
-
+ NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=<your business id>
|
|
44
40
|
```
|
|
45
41
|
|
|
46
42
|
Deploy with `cimplify deploy --prod` after linking the project. See [`cimplify` CLI docs](https://www.cimplify.dev/docs/cli). `next.config.ts` already whitelists the SDK image hosts under `images.remotePatterns`.
|
|
@@ -7,6 +7,12 @@ const STOREFRONT_URL =
|
|
|
7
7
|
? "https://storefronts.cimplify.io"
|
|
8
8
|
: "http://127.0.0.1:8787";
|
|
9
9
|
|
|
10
|
+
if (STOREFRONT_URL === "http://127.0.0.1:8787") {
|
|
11
|
+
console.warn(
|
|
12
|
+
"[cimplify] next.config resolved the local storefront API URL; production deploys must run with NODE_ENV=production.",
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
const nextConfig: NextConfig = {
|
|
11
17
|
// Enable Next 16's `cacheComponents` mode so we can use `'use cache'` +
|
|
12
18
|
// `cacheTag` / `cacheLife` for SSR caching. Cached chrome streams first,
|
|
@@ -49,7 +49,7 @@ mock: { seed, businessId }
|
|
|
49
49
|
1. Edit `lib/brand.ts`. Replace every field with the merchant's content. Use the brief / context the user gave you.
|
|
50
50
|
2. Edit `app/globals.css` `@theme { … }`. Change `--color-primary`, `--color-background`, `--color-foreground`, optionally `--radius`. Use OKLCH; if the brand only gave hex, convert.
|
|
51
51
|
3. (Optional) Swap fonts in `app/layout.tsx` — `next/font/google` import + the variable wired into the `<html>` className.
|
|
52
|
-
4. Set `.env.local`: `
|
|
52
|
+
4. Set `.env.local`: `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (optional: `NEXT_PUBLIC_SITE_URL`).
|
|
53
53
|
|
|
54
54
|
Don't touch any other file. If the rebrand needs content not in the schema, add the field to `Brand` first, populate it, then read it from the page.
|
|
55
55
|
|
|
@@ -131,7 +131,7 @@ cimplify domains add my-store.com
|
|
|
131
131
|
| Which page reads which `brand.X` field | `AGENTS.md` at project root |
|
|
132
132
|
| Architectural rules | `AGENTS.md` at project root + this skill |
|
|
133
133
|
| Running locally | `bun dev` (boots mock + Next together) |
|
|
134
|
-
| Switching mock seed | edit `dev:mock` in `package.json`
|
|
134
|
+
| Switching mock seed | edit `dev:mock` in `package.json` |
|
|
135
135
|
| Full SDK reference | `docs/sdk/storefronts.md` in the Cimplify repo |
|
|
136
136
|
|
|
137
137
|
## What to do when the user asks something out-of-scope
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
# production; the mock accepts any value during local dev.
|
|
3
3
|
NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
4
4
|
|
|
5
|
-
# Mock seed for local dev — picks which fixture business to serve. The
|
|
6
|
-
# scaffold sets this to the right one for your template, so you only
|
|
7
|
-
# need to change it when previewing other industries against the mock.
|
|
8
|
-
NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_default_akua_bakery
|
|
9
|
-
|
|
10
5
|
# Optional. Forces a fixed canonical URL for sitemap.xml, robots.txt,
|
|
11
6
|
# OpenGraph, and llms.txt. Leave unset and the storefront derives the
|
|
12
7
|
# canonical from the request `Host` header automatically.
|
|
@@ -8,7 +8,7 @@ To rebrand this storefront end-to-end as a different merchant:
|
|
|
8
8
|
|
|
9
9
|
1. **Edit `lib/brand.ts`.** Every visible string reads from this file.
|
|
10
10
|
2. **Edit `app/globals.css`** — the `@theme { … }` block holds the design tokens (palette, radius, font references).
|
|
11
|
-
3. **Edit `.env.local`** — set `
|
|
11
|
+
3. **Edit `.env.local`** — set `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (optional: `NEXT_PUBLIC_SITE_URL`).
|
|
12
12
|
|
|
13
13
|
That is the entire rebrand. Do not modify any `.tsx` file in `app/` or `components/` for content changes — they are design-only and read from `brand`.
|
|
14
14
|
|
|
@@ -90,7 +90,7 @@ app/
|
|
|
90
90
|
|
|
91
91
|
- Product detail uses a **URL-driven modal** (`?product=<slug>`), not a static `/products/[slug]` route. Fits impulse-purchase food UX.
|
|
92
92
|
- Schema.org `@type` is `Bakery` — set in `brand.schemaType`.
|
|
93
|
-
- Mock seed: `--seed default
|
|
93
|
+
- Mock seed: `--seed default`. To preview a different industry, edit `dev:mock` in `package.json`.
|
|
94
94
|
|
|
95
95
|
## Known TODOs (not blocking, but worth knowing)
|
|
96
96
|
|
|
@@ -56,16 +56,12 @@ cimplify-mock --seed services # Serene Spa
|
|
|
56
56
|
cimplify-mock --seed grocery # FreshMart
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
Update `NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID` in `.env.local` to match the seeded business.
|
|
60
|
-
|
|
61
59
|
## Go live
|
|
62
60
|
|
|
63
61
|
```diff
|
|
64
62
|
# .env.local
|
|
65
63
|
- NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
66
64
|
+ NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=<your tenant key>
|
|
67
|
-
- NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_default_akua_bakery
|
|
68
|
-
+ NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=<your business id>
|
|
69
65
|
```
|
|
70
66
|
|
|
71
67
|
Deploy with `cimplify deploy --prod` after linking the project. See [`cimplify` CLI docs](https://www.cimplify.dev/docs/cli). `next.config.ts` already whitelists the SDK image hosts under `images.remotePatterns`.
|
|
@@ -7,6 +7,12 @@ const STOREFRONT_URL =
|
|
|
7
7
|
? "https://storefronts.cimplify.io"
|
|
8
8
|
: "http://127.0.0.1:8787";
|
|
9
9
|
|
|
10
|
+
if (STOREFRONT_URL === "http://127.0.0.1:8787") {
|
|
11
|
+
console.warn(
|
|
12
|
+
"[cimplify] next.config resolved the local storefront API URL; production deploys must run with NODE_ENV=production.",
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
const nextConfig: NextConfig = {
|
|
11
17
|
// Enable Next 16's `cacheComponents` mode so we can use `'use cache'` +
|
|
12
18
|
// `cacheTag` / `cacheLife` for SSR caching. Cached chrome streams first,
|
|
@@ -49,7 +49,7 @@ mock: { seed, businessId }
|
|
|
49
49
|
1. Edit `lib/brand.ts`. Replace every field with the merchant's content. Use the brief / context the user gave you.
|
|
50
50
|
2. Edit `app/globals.css` `@theme { … }`. Change `--color-primary`, `--color-background`, `--color-foreground`, optionally `--radius`. Use OKLCH; if the brand only gave hex, convert.
|
|
51
51
|
3. (Optional) Swap fonts in `app/layout.tsx` — `next/font/google` import + the variable wired into the `<html>` className.
|
|
52
|
-
4. Set `.env.local`: `
|
|
52
|
+
4. Set `.env.local`: `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (optional: `NEXT_PUBLIC_SITE_URL`).
|
|
53
53
|
|
|
54
54
|
Don't touch any other file. If the rebrand needs content not in the schema, add the field to `Brand` first, populate it, then read it from the page.
|
|
55
55
|
|
|
@@ -131,7 +131,7 @@ cimplify domains add my-store.com
|
|
|
131
131
|
| Which page reads which `brand.X` field | `AGENTS.md` at project root |
|
|
132
132
|
| Architectural rules | `AGENTS.md` at project root + this skill |
|
|
133
133
|
| Running locally | `bun dev` (boots mock + Next together) |
|
|
134
|
-
| Switching mock seed | edit `dev:mock` in `package.json`
|
|
134
|
+
| Switching mock seed | edit `dev:mock` in `package.json` |
|
|
135
135
|
| Full SDK reference | `docs/sdk/storefronts.md` in the Cimplify repo |
|
|
136
136
|
|
|
137
137
|
## What to do when the user asks something out-of-scope
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
# production; the mock accepts any value during local dev.
|
|
3
3
|
NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
4
4
|
|
|
5
|
-
# Mock seed for local dev — picks which fixture business to serve. The
|
|
6
|
-
# scaffold sets this to the right one for your template, so you only
|
|
7
|
-
# need to change it when previewing other industries against the mock.
|
|
8
|
-
NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_studio_frx
|
|
9
|
-
|
|
10
5
|
# Optional. Forces a fixed canonical URL for sitemap.xml, robots.txt,
|
|
11
6
|
# OpenGraph, and llms.txt. Leave unset and the storefront derives the
|
|
12
7
|
# canonical from the request `Host` header automatically.
|
|
@@ -6,7 +6,7 @@ If you are an AI agent (Claude, Cursor, Aider, devin, …) working on this store
|
|
|
6
6
|
|
|
7
7
|
1. **Edit `lib/brand.ts`** — every visible string lives here.
|
|
8
8
|
2. **Edit `app/globals.css`** — `@theme { … }` for palette + radius + font references.
|
|
9
|
-
3. **Edit `.env.local`** — `
|
|
9
|
+
3. **Edit `.env.local`** — `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (optional: `NEXT_PUBLIC_SITE_URL`).
|
|
10
10
|
|
|
11
11
|
## Aesthetic
|
|
12
12
|
|
|
@@ -51,8 +51,6 @@ cimplify-mock --seed services # Serene Spa
|
|
|
51
51
|
cimplify-mock --seed grocery # FreshMart
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
Update `NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID` in `.env.local` to match the seeded business.
|
|
55
|
-
|
|
56
54
|
For a fresh scaffold with another design altogether:
|
|
57
55
|
|
|
58
56
|
```bash
|
|
@@ -68,8 +66,6 @@ cimplify init my-store --template grocery # coming soon
|
|
|
68
66
|
# .env.local
|
|
69
67
|
- NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
70
68
|
+ NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=<your tenant key>
|
|
71
|
-
- NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_studio_frx
|
|
72
|
-
+ NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=<your business id>
|
|
73
69
|
```
|
|
74
70
|
|
|
75
71
|
Deploy with `cimplify deploy --prod` after linking the project. See [`cimplify` CLI docs](https://www.cimplify.dev/docs/cli). `next.config.ts` already whitelists the SDK image hosts under `images.remotePatterns`.
|
|
@@ -7,6 +7,12 @@ const STOREFRONT_URL =
|
|
|
7
7
|
? "https://storefronts.cimplify.io"
|
|
8
8
|
: "http://127.0.0.1:8787";
|
|
9
9
|
|
|
10
|
+
if (STOREFRONT_URL === "http://127.0.0.1:8787") {
|
|
11
|
+
console.warn(
|
|
12
|
+
"[cimplify] next.config resolved the local storefront API URL; production deploys must run with NODE_ENV=production.",
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
const nextConfig: NextConfig = {
|
|
11
17
|
// Enable Next 16's `cacheComponents` mode so we can use `'use cache'` +
|
|
12
18
|
// `cacheTag` / `cacheLife` for SSR caching. Cached chrome streams first,
|
|
@@ -49,7 +49,7 @@ mock: { seed, businessId }
|
|
|
49
49
|
1. Edit `lib/brand.ts`. Replace every field with the merchant's content. Use the brief / context the user gave you.
|
|
50
50
|
2. Edit `app/globals.css` `@theme { … }`. Change `--color-primary`, `--color-background`, `--color-foreground`, optionally `--radius`. Use OKLCH; if the brand only gave hex, convert.
|
|
51
51
|
3. (Optional) Swap fonts in `app/layout.tsx` — `next/font/google` import + the variable wired into the `<html>` className.
|
|
52
|
-
4. Set `.env.local`: `
|
|
52
|
+
4. Set `.env.local`: `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (optional: `NEXT_PUBLIC_SITE_URL`).
|
|
53
53
|
|
|
54
54
|
Don't touch any other file. If the rebrand needs content not in the schema, add the field to `Brand` first, populate it, then read it from the page.
|
|
55
55
|
|
|
@@ -131,7 +131,7 @@ cimplify domains add my-store.com
|
|
|
131
131
|
| Which page reads which `brand.X` field | `AGENTS.md` at project root |
|
|
132
132
|
| Architectural rules | `AGENTS.md` at project root + this skill |
|
|
133
133
|
| Running locally | `bun dev` (boots mock + Next together) |
|
|
134
|
-
| Switching mock seed | edit `dev:mock` in `package.json`
|
|
134
|
+
| Switching mock seed | edit `dev:mock` in `package.json` |
|
|
135
135
|
| Full SDK reference | `docs/sdk/storefronts.md` in the Cimplify repo |
|
|
136
136
|
|
|
137
137
|
## What to do when the user asks something out-of-scope
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
# production; the mock accepts any value during local dev.
|
|
3
3
|
NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
4
4
|
|
|
5
|
-
# Mock seed for local dev — picks which fixture business to serve. The
|
|
6
|
-
# scaffold sets this to the right one for your template, so you only
|
|
7
|
-
# need to change it when previewing other industries against the mock.
|
|
8
|
-
NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_freshmart
|
|
9
|
-
|
|
10
5
|
# Optional. Forces a fixed canonical URL for sitemap.xml, robots.txt,
|
|
11
6
|
# OpenGraph, and llms.txt. Leave unset and the storefront derives the
|
|
12
7
|
# canonical from the request `Host` header automatically.
|
|
@@ -6,8 +6,7 @@ If you are an AI agent (Claude, Cursor, Aider, devin, …) working on this store
|
|
|
6
6
|
|
|
7
7
|
1. **Edit `lib/brand.ts`** — every visible string lives here.
|
|
8
8
|
2. **Edit `app/globals.css`** — `@theme { … }` for palette + radius.
|
|
9
|
-
3. **Edit `.env.local`** — `
|
|
10
|
-
|
|
9
|
+
3. **Edit `.env.local`** — set `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (the only required var).
|
|
11
10
|
## Aesthetic
|
|
12
11
|
|
|
13
12
|
- **Inter sans only** (no serif) — friendly, readable for dense product grids.
|
|
@@ -56,16 +56,12 @@ cimplify-mock --seed services # Serene Spa
|
|
|
56
56
|
cimplify-mock --seed grocery # FreshMart
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
Update `NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID` in `.env.local` to match the seeded business.
|
|
60
|
-
|
|
61
59
|
## Go live
|
|
62
60
|
|
|
63
61
|
```diff
|
|
64
62
|
# .env.local
|
|
65
63
|
- NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
66
64
|
+ NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=<your tenant key>
|
|
67
|
-
- NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_freshmart
|
|
68
|
-
+ NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=<your business id>
|
|
69
65
|
```
|
|
70
66
|
|
|
71
67
|
Deploy with `cimplify deploy --prod` after linking the project. See [`cimplify` CLI docs](https://www.cimplify.dev/docs/cli). `next.config.ts` already whitelists the SDK image hosts under `images.remotePatterns`.
|
|
@@ -7,6 +7,12 @@ const STOREFRONT_URL =
|
|
|
7
7
|
? "https://storefronts.cimplify.io"
|
|
8
8
|
: "http://127.0.0.1:8787";
|
|
9
9
|
|
|
10
|
+
if (STOREFRONT_URL === "http://127.0.0.1:8787") {
|
|
11
|
+
console.warn(
|
|
12
|
+
"[cimplify] next.config resolved the local storefront API URL; production deploys must run with NODE_ENV=production.",
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
const nextConfig: NextConfig = {
|
|
11
17
|
// Enable Next 16's `cacheComponents` mode so we can use `'use cache'` +
|
|
12
18
|
// `cacheTag` / `cacheLife` for SSR caching. Cached chrome streams first,
|
|
@@ -49,7 +49,7 @@ mock: { seed, businessId }
|
|
|
49
49
|
1. Edit `lib/brand.ts`. Replace every field with the merchant's content. Use the brief / context the user gave you.
|
|
50
50
|
2. Edit `app/globals.css` `@theme { … }`. Change `--color-primary`, `--color-background`, `--color-foreground`, optionally `--radius`. Use OKLCH; if the brand only gave hex, convert.
|
|
51
51
|
3. (Optional) Swap fonts in `app/layout.tsx` — `next/font/google` import + the variable wired into the `<html>` className.
|
|
52
|
-
4. Set `.env.local`: `
|
|
52
|
+
4. Set `.env.local`: `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (optional: `NEXT_PUBLIC_SITE_URL`).
|
|
53
53
|
|
|
54
54
|
Don't touch any other file. If the rebrand needs content not in the schema, add the field to `Brand` first, populate it, then read it from the page.
|
|
55
55
|
|
|
@@ -131,7 +131,7 @@ cimplify domains add my-store.com
|
|
|
131
131
|
| Which page reads which `brand.X` field | `AGENTS.md` at project root |
|
|
132
132
|
| Architectural rules | `AGENTS.md` at project root + this skill |
|
|
133
133
|
| Running locally | `bun dev` (boots mock + Next together) |
|
|
134
|
-
| Switching mock seed | edit `dev:mock` in `package.json`
|
|
134
|
+
| Switching mock seed | edit `dev:mock` in `package.json` |
|
|
135
135
|
| Full SDK reference | `docs/sdk/storefronts.md` in the Cimplify repo |
|
|
136
136
|
|
|
137
137
|
## What to do when the user asks something out-of-scope
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
# production; the mock accepts any value during local dev.
|
|
3
3
|
NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
4
4
|
|
|
5
|
-
# Mock seed for local dev — picks which fixture business to serve. The
|
|
6
|
-
# scaffold sets this to the right one for your template, so you only
|
|
7
|
-
# need to change it when previewing other industries against the mock.
|
|
8
|
-
NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_wellspring_pharmacy
|
|
9
|
-
|
|
10
5
|
# Optional. Forces a fixed canonical URL for sitemap.xml, robots.txt,
|
|
11
6
|
# OpenGraph, and llms.txt. Leave unset and the storefront derives the
|
|
12
7
|
# canonical from the request `Host` header automatically.
|
|
@@ -6,7 +6,7 @@ If you are an AI agent (Claude, Cursor, Aider, devin, …) working on this store
|
|
|
6
6
|
|
|
7
7
|
1. **Edit `lib/brand.ts`** — every visible string lives here.
|
|
8
8
|
2. **Edit `app/globals.css`** — `@theme { … }` block for palette + radius + font references.
|
|
9
|
-
3. **Edit `.env.local`** — `
|
|
9
|
+
3. **Edit `.env.local`** — `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (optional: `NEXT_PUBLIC_SITE_URL`).
|
|
10
10
|
|
|
11
11
|
## Aesthetic
|
|
12
12
|
|
|
@@ -59,8 +59,6 @@ cimplify-mock --seed grocery # FreshMart
|
|
|
59
59
|
cimplify-mock --seed retail # Currents Electronics
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
Update `NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID` in `.env.local` to match the seeded business.
|
|
63
|
-
|
|
64
62
|
For a fresh scaffold with another design altogether:
|
|
65
63
|
|
|
66
64
|
```bash
|
|
@@ -78,8 +76,6 @@ cimplify init my-store --template retail
|
|
|
78
76
|
# .env.local
|
|
79
77
|
- NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
80
78
|
+ NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=<your tenant key>
|
|
81
|
-
- NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_wellspring_pharmacy
|
|
82
|
-
+ NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=<your business id>
|
|
83
79
|
```
|
|
84
80
|
|
|
85
81
|
Deploy with `cimplify deploy --prod` after linking the project. See [`cimplify` CLI docs](https://www.cimplify.dev/docs/cli). `next.config.ts` already whitelists the SDK image hosts under `images.remotePatterns`.
|
|
@@ -7,6 +7,12 @@ const STOREFRONT_URL =
|
|
|
7
7
|
? "https://storefronts.cimplify.io"
|
|
8
8
|
: "http://127.0.0.1:8787";
|
|
9
9
|
|
|
10
|
+
if (STOREFRONT_URL === "http://127.0.0.1:8787") {
|
|
11
|
+
console.warn(
|
|
12
|
+
"[cimplify] next.config resolved the local storefront API URL; production deploys must run with NODE_ENV=production.",
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
const nextConfig: NextConfig = {
|
|
11
17
|
// Enable Next 16's `cacheComponents` mode so we can use `'use cache'` +
|
|
12
18
|
// `cacheTag` / `cacheLife` for SSR caching. Cached chrome streams first,
|
|
@@ -49,7 +49,7 @@ mock: { seed, businessId }
|
|
|
49
49
|
1. Edit `lib/brand.ts`. Replace every field with the merchant's content. Use the brief / context the user gave you.
|
|
50
50
|
2. Edit `app/globals.css` `@theme { … }`. Change `--color-primary`, `--color-background`, `--color-foreground`, optionally `--radius`. Use OKLCH; if the brand only gave hex, convert.
|
|
51
51
|
3. (Optional) Swap fonts in `app/layout.tsx` — `next/font/google` import + the variable wired into the `<html>` className.
|
|
52
|
-
4. Set `.env.local`: `
|
|
52
|
+
4. Set `.env.local`: `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (optional: `NEXT_PUBLIC_SITE_URL`).
|
|
53
53
|
|
|
54
54
|
Don't touch any other file. If the rebrand needs content not in the schema, add the field to `Brand` first, populate it, then read it from the page.
|
|
55
55
|
|
|
@@ -131,7 +131,7 @@ cimplify domains add my-store.com
|
|
|
131
131
|
| Which page reads which `brand.X` field | `AGENTS.md` at project root |
|
|
132
132
|
| Architectural rules | `AGENTS.md` at project root + this skill |
|
|
133
133
|
| Running locally | `bun dev` (boots mock + Next together) |
|
|
134
|
-
| Switching mock seed | edit `dev:mock` in `package.json`
|
|
134
|
+
| Switching mock seed | edit `dev:mock` in `package.json` |
|
|
135
135
|
| Full SDK reference | `docs/sdk/storefronts.md` in the Cimplify repo |
|
|
136
136
|
|
|
137
137
|
## What to do when the user asks something out-of-scope
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
# production; the mock accepts any value during local dev.
|
|
3
3
|
NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
4
4
|
|
|
5
|
-
# Mock seed for local dev — picks which fixture business to serve. The
|
|
6
|
-
# scaffold sets this to the right one for your template, so you only
|
|
7
|
-
# need to change it when previewing other industries against the mock.
|
|
8
|
-
NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_mamas_kitchen
|
|
9
|
-
|
|
10
5
|
# Optional. Forces a fixed canonical URL for sitemap.xml, robots.txt,
|
|
11
6
|
# OpenGraph, and llms.txt. Leave unset and the storefront derives the
|
|
12
7
|
# canonical from the request `Host` header automatically.
|
|
@@ -6,8 +6,7 @@ If you are an AI agent (Claude, Cursor, Aider, devin, …) working on this store
|
|
|
6
6
|
|
|
7
7
|
1. **Edit `lib/brand.ts`** — every visible string lives here.
|
|
8
8
|
2. **Edit `app/globals.css`** — `@theme { … }` for palette + radius.
|
|
9
|
-
3. **Edit `.env.local`** — `
|
|
10
|
-
|
|
9
|
+
3. **Edit `.env.local`** — set `NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY` (the only required var).
|
|
11
10
|
## Aesthetic
|
|
12
11
|
|
|
13
12
|
- **Lora serif + Inter** — warm, food-friendly headings + clean body.
|
|
@@ -56,16 +56,12 @@ cimplify-mock --seed services # Serene Spa
|
|
|
56
56
|
cimplify-mock --seed grocery # FreshMart
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
Update `NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID` in `.env.local` to match the seeded business.
|
|
60
|
-
|
|
61
59
|
## Go live
|
|
62
60
|
|
|
63
61
|
```diff
|
|
64
62
|
# .env.local
|
|
65
63
|
- NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
66
64
|
+ NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=<your tenant key>
|
|
67
|
-
- NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_mamas_kitchen
|
|
68
|
-
+ NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=<your business id>
|
|
69
65
|
```
|
|
70
66
|
|
|
71
67
|
Deploy with `cimplify deploy --prod` after linking the project. See [`cimplify` CLI docs](https://www.cimplify.dev/docs/cli). `next.config.ts` already whitelists the SDK image hosts under `images.remotePatterns`.
|
|
@@ -7,6 +7,12 @@ const STOREFRONT_URL =
|
|
|
7
7
|
? "https://storefronts.cimplify.io"
|
|
8
8
|
: "http://127.0.0.1:8787";
|
|
9
9
|
|
|
10
|
+
if (STOREFRONT_URL === "http://127.0.0.1:8787") {
|
|
11
|
+
console.warn(
|
|
12
|
+
"[cimplify] next.config resolved the local storefront API URL; production deploys must run with NODE_ENV=production.",
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
const nextConfig: NextConfig = {
|
|
11
17
|
// Enable Next 16's `cacheComponents` mode so we can use `'use cache'` +
|
|
12
18
|
// `cacheTag` / `cacheLife` for SSR caching. Cached chrome streams first,
|