create-smoodly-app 0.0.5 → 0.0.6

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/README.md CHANGED
@@ -14,7 +14,10 @@ sign in. Spec: `docs/superpowers/specs/2026-09-04-create-smoodly-app-design.md`.
14
14
  scaffolds the next-intl layout: the site under `app/[locale]/`, `i18n/`,
15
15
  `proxy.ts`, translated URLs per locale. Flag: `--locales en,fi`.
16
16
  3. Where content lives: a **local Supabase stack** (`supabase init` +
17
- `supabase start` inside the app; needs the Supabase CLI and Docker; when
17
+ `supabase start` inside the app, with the services Smoodly never uses
18
+ excluded — storage, image proxy, edge functions, analytics, realtime,
19
+ the pooler — so the stack stays small beside any other you run; needs
20
+ the Supabase CLI and Docker; when
18
21
  another project holds the default `543xx` ports the new one moves to the
19
22
  next free block, `553xx` and so on, and says so) or a
20
23
  **hosted project** (URL, publishable key, secret key; then an offer to
@@ -61,6 +64,25 @@ multilingual one with `--locales en,de`.
61
64
 
62
65
  ## Follow-ups (logged 2026-09-06)
63
66
 
67
+ - Local mode on a fresh multilingual install (0.0.5, 2026-09-06) failed at
68
+ `supabase start` with `supabase_storage_<app> container is not ready:
69
+ unhealthy` — the storage container logged `Started Successfully` and the
70
+ CLI still stopped the stack. Five local stacks (57 containers) were
71
+ sharing 7.8 GB of Docker memory at the time, the same pressure that
72
+ made the repo's live suites flake on 2026-09-05. Smoodly never uses
73
+ storage, so the CLI could start the app's stack with
74
+ `supabase start -x storage-api,imgproxy,edge-runtime,logflare,vector,realtime`
75
+ (the container names `supabase start --help` lists; CI already excludes
76
+ most of these for the repo stack), and the "Finish by hand" text could
77
+ mention `supabase stop` on other projects. Retried the same day with
78
+ the other four stacks stopped (`supabase stop --project-id <name>`):
79
+ `npx create-smoodly-app@0.0.5 --supabase local --locales en,fi --yes`
80
+ came up with every container healthy, storage included, and the app
81
+ built and served `/admin` 200, `/` and `/fi` 404 — so the cause is
82
+ memory pressure, not the CLI. Fixed the same day: `run.ts` starts the
83
+ app's stack with `-x storage-api,imgproxy,edge-runtime,logflare,vector,realtime,supavisor`
84
+ (`LOCAL_START_ARGS`), and the "Finish by hand" text carries the same
85
+ flags. Kept: db, kong, auth, PostgREST, Studio and pg-meta, mailpit.
64
86
  - **A non-interactive run without `--locales` needs `--yes`.** The
65
87
  "Multilingual site?" prompt is asked whenever `--locales` is absent, and
66
88
  with no TTY (a CI step, stdin at EOF) the CLI exits 13 having created
package/dist/index.js CHANGED
@@ -378,6 +378,7 @@ function parseStatusEnv(output) {
378
378
  }
379
379
 
380
380
  // src/run.ts
381
+ var LOCAL_START_ARGS = ["start", "-x", "storage-api,imgproxy,edge-runtime,logflare,vector,realtime,supavisor"];
381
382
  async function run(answers2, deps) {
382
383
  if (answers2.supabase === "hosted" && !answers2.hosted) {
383
384
  throw new Error("hosted answers need the project's keys");
@@ -420,7 +421,7 @@ async function run(answers2, deps) {
420
421
  await deps.fs.writeFile(configPath, shiftBlock(toml, base));
421
422
  deps.log(`Ports ${DEFAULT_BASE / 100}xx are busy (another Supabase project running?), using ${base / 100}xx.`);
422
423
  }
423
- await sh("supabase", ["start"]);
424
+ await sh("supabase", LOCAL_START_ARGS);
424
425
  ctx.keys = parseStatusEnv((await sh("supabase", ["status", "-o", "env"], { capture: true })).stdout);
425
426
  break;
426
427
  }
@@ -466,7 +467,7 @@ ${renderEnv(keys).split("\n").filter((l) => !l.startsWith("#")).join("\n").trimE
466
467
  ].join("\n");
467
468
  switch (step) {
468
469
  case "supabaseLocal":
469
- return [`cd ${answers2.name} && supabase init && supabase start`, "", envLines, "", editorLines].join("\n");
470
+ return [`cd ${answers2.name} && supabase init && supabase ${LOCAL_START_ARGS.join(" ")}`, "", envLines, "", editorLines].join("\n");
470
471
  case "supabaseInit": {
471
472
  const commands = answers2.hosted?.linkAndPush ? [`cd ${answers2.name} && supabase init && ${linkCommand(answers2)} && supabase db push`] : [`cd ${answers2.name} && supabase init`, "", `When you are ready: ${linkCommand(answers2)} && supabase db push`];
472
473
  return [...commands, "", envLines, "", editorLines].join("\n");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-smoodly-app",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "Create a Smoodly site: a fresh Next.js app with the admin mounted, a Supabase schema, an env file and a first editor.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -13,7 +13,7 @@
13
13
  "next": "^16.3.4",
14
14
  "react": "^19",
15
15
  "react-dom": "^19",
16
- "smoodly": "0.0.5"
16
+ "smoodly": "0.0.6"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/node": "^26.4.1",
@@ -13,7 +13,7 @@
13
13
  "next": "^16.3.4",
14
14
  "react": "^19",
15
15
  "react-dom": "^19",
16
- "smoodly": "0.0.5",
16
+ "smoodly": "0.0.6",
17
17
  "next-intl": "^4.14.2"
18
18
  },
19
19
  "devDependencies": {