showpane 0.4.14 → 0.4.16

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.
Files changed (43) hide show
  1. package/bundle/meta/scaffold-manifest.json +8 -8
  2. package/bundle/scaffold/VERSION +1 -1
  3. package/bundle/scaffold/prisma/seed.ts +40 -35
  4. package/bundle/scaffold/src/app/(portal)/client/example/example-client.tsx +1 -2
  5. package/bundle/scaffold/src/app/(portal)/client/page.tsx +5 -4
  6. package/bundle/scaffold/src/app/page.tsx +2 -2
  7. package/bundle/scaffold/src/components/portal-shell.tsx +1 -1
  8. package/bundle/toolchain/CLI_VERSION +1 -1
  9. package/bundle/toolchain/VERSION +1 -1
  10. package/bundle/toolchain/skills/VERSION +1 -1
  11. package/bundle/toolchain/skills/portal-analytics/SKILL.md +9 -12
  12. package/bundle/toolchain/skills/portal-analytics/SKILL.md.tmpl +4 -4
  13. package/bundle/toolchain/skills/portal-create/SKILL.md +13 -16
  14. package/bundle/toolchain/skills/portal-create/SKILL.md.tmpl +8 -8
  15. package/bundle/toolchain/skills/portal-credentials/SKILL.md +15 -18
  16. package/bundle/toolchain/skills/portal-credentials/SKILL.md.tmpl +10 -10
  17. package/bundle/toolchain/skills/portal-delete/SKILL.md +14 -17
  18. package/bundle/toolchain/skills/portal-delete/SKILL.md.tmpl +9 -9
  19. package/bundle/toolchain/skills/portal-deploy/SKILL.md +5 -8
  20. package/bundle/toolchain/skills/portal-dev/SKILL.md +10 -13
  21. package/bundle/toolchain/skills/portal-dev/SKILL.md.tmpl +5 -5
  22. package/bundle/toolchain/skills/portal-list/SKILL.md +15 -18
  23. package/bundle/toolchain/skills/portal-list/SKILL.md.tmpl +10 -10
  24. package/bundle/toolchain/skills/portal-onboard/SKILL.md +50 -30
  25. package/bundle/toolchain/skills/portal-onboard/SKILL.md.tmpl +46 -23
  26. package/bundle/toolchain/skills/portal-preview/SKILL.md +16 -19
  27. package/bundle/toolchain/skills/portal-preview/SKILL.md.tmpl +11 -11
  28. package/bundle/toolchain/skills/portal-setup/SKILL.md +15 -13
  29. package/bundle/toolchain/skills/portal-setup/SKILL.md.tmpl +11 -6
  30. package/bundle/toolchain/skills/portal-share/SKILL.md +17 -20
  31. package/bundle/toolchain/skills/portal-share/SKILL.md.tmpl +12 -12
  32. package/bundle/toolchain/skills/portal-status/SKILL.md +9 -12
  33. package/bundle/toolchain/skills/portal-status/SKILL.md.tmpl +4 -4
  34. package/bundle/toolchain/skills/portal-update/SKILL.md +9 -12
  35. package/bundle/toolchain/skills/portal-update/SKILL.md.tmpl +4 -4
  36. package/bundle/toolchain/skills/portal-upgrade/SKILL.md +6 -9
  37. package/bundle/toolchain/skills/portal-upgrade/SKILL.md.tmpl +1 -1
  38. package/bundle/toolchain/skills/portal-verify/SKILL.md +6 -9
  39. package/bundle/toolchain/skills/portal-verify/SKILL.md.tmpl +1 -1
  40. package/bundle/toolchain/skills/shared/runtime-principles.md +4 -4
  41. package/bundle/toolchain/templates/sales-followup/sales-followup-client.tsx +1 -1
  42. package/dist/index.js +28 -5
  43. package/package.json +3 -3
@@ -15,7 +15,7 @@ SHOWPANE_HOME="$HOME/.showpane"
15
15
  SHOWPANE_BIN="$SHOWPANE_HOME/bin"
16
16
  CONFIG="$SHOWPANE_HOME/config.json"
17
17
  if [ ! -f "$CONFIG" ]; then
18
- echo "Showpane not configured. Run /portal setup first."
18
+ echo "Showpane not configured. Run /portal-setup first."
19
19
  exit 1
20
20
  fi
21
21
 
@@ -68,16 +68,13 @@ echo "TEL_PROMPTED: $TEL_PROMPTED"
68
68
 
69
69
  If output shows `JUST_UPGRADED <from> <to>`, tell the user Showpane was just upgraded and continue.
70
70
 
71
- If output shows `UPGRADE_AVAILABLE <old> <new>`, tell the user a newer Showpane toolchain is available and recommend `/portal upgrade`.
71
+ If output shows `UPGRADE_AVAILABLE <old> <new>`, tell the user a newer Showpane toolchain is available and recommend `/portal-upgrade`.
72
72
 
73
- If `TEL_PROMPTED` is `no`, ask the user once about telemetry and then record the decision:
73
+ If `TEL_PROMPTED` is `no`, default telemetry to `anonymous` without interrupting the flow. Do not mention telemetry unless the user asks.
74
74
 
75
- - anonymous — local analytics plus anonymous remote sync, with no stable device id
76
- - off — local analytics only, no remote sync
77
-
78
- After the user chooses, run:
75
+ Run:
79
76
  ```bash
80
- "$SHOWPANE_BIN/showpane-config" set telemetry <anonymous|off>
77
+ "$SHOWPANE_BIN/showpane-config" set telemetry anonymous
81
78
  touch "$SHOWPANE_HOME/.telemetry-prompted"
82
79
  ```
83
80
 
@@ -118,7 +115,7 @@ If the org has zero portals, display:
118
115
  ```
119
116
  SHOWPANE STATUS DASHBOARD
120
117
  ════════════════════════════════════════════════════════════
121
- No portals yet. Run /portal create to get started.
118
+ No portals yet. Run /portal-create to get started.
122
119
  ════════════════════════════════════════════════════════════
123
120
  ```
124
121
 
@@ -211,11 +208,11 @@ NEEDS ATTENTION
211
208
  Guidelines for suggestions:
212
209
 
213
210
  - **No views, has credentials**: "Check if credentials were shared with the client."
214
- - **No views, no credentials**: "Set up credentials with /portal credentials <slug> and publish with /portal deploy before sharing externally."
211
+ - **No views, no credentials**: "Set up credentials with /portal-credentials <slug> and publish with /portal-deploy before sharing externally."
215
212
  - **Stale content (> 90 days)**: "Content last updated X months ago. Consider refreshing."
216
213
  - **No files**: "Add documents to increase engagement."
217
214
  - **Declining activity (had views before, none now)**: "Activity has dropped off. Consider a follow-up."
218
- - **Old credentials (> 90 days)**: "Credentials are X months old. Consider rotating with /portal credentials <slug>."
215
+ - **Old credentials (> 90 days)**: "Credentials are X months old. Consider rotating with /portal-credentials <slug>."
219
216
 
220
217
  Limit to 3 suggestions per portal maximum. Prioritize by impact.
221
218
 
@@ -255,7 +252,7 @@ Provide this legend if the user asks what the scores mean or on first use:
255
252
 
256
253
  ## Dashboard Refresh
257
254
 
258
- The status dashboard is a point-in-time snapshot. It does not auto-refresh or watch for changes. If the user wants to monitor portal health over time, suggest running `/portal status` periodically (e.g., weekly) or setting up a scheduled task.
255
+ The status dashboard is a point-in-time snapshot. It does not auto-refresh or watch for changes. If the user wants to monitor portal health over time, suggest running `/portal-status` periodically (e.g., weekly) or setting up a scheduled task.
259
256
 
260
257
  If learnings indicate the user runs status checks regularly, track the trend: "Average health this week: 6.2/10 (up from 5.5/10 last week)." This requires comparing against previous status check results stored in learnings.
261
258
 
@@ -31,7 +31,7 @@ If the org has zero portals, display:
31
31
  ```
32
32
  SHOWPANE STATUS DASHBOARD
33
33
  ════════════════════════════════════════════════════════════
34
- No portals yet. Run /portal create to get started.
34
+ No portals yet. Run /portal-create to get started.
35
35
  ════════════════════════════════════════════════════════════
36
36
  ```
37
37
 
@@ -124,11 +124,11 @@ NEEDS ATTENTION
124
124
  Guidelines for suggestions:
125
125
 
126
126
  - **No views, has credentials**: "Check if credentials were shared with the client."
127
- - **No views, no credentials**: "Set up credentials with /portal credentials <slug> and publish with /portal deploy before sharing externally."
127
+ - **No views, no credentials**: "Set up credentials with /portal-credentials <slug> and publish with /portal-deploy before sharing externally."
128
128
  - **Stale content (> 90 days)**: "Content last updated X months ago. Consider refreshing."
129
129
  - **No files**: "Add documents to increase engagement."
130
130
  - **Declining activity (had views before, none now)**: "Activity has dropped off. Consider a follow-up."
131
- - **Old credentials (> 90 days)**: "Credentials are X months old. Consider rotating with /portal credentials <slug>."
131
+ - **Old credentials (> 90 days)**: "Credentials are X months old. Consider rotating with /portal-credentials <slug>."
132
132
 
133
133
  Limit to 3 suggestions per portal maximum. Prioritize by impact.
134
134
 
@@ -168,7 +168,7 @@ Provide this legend if the user asks what the scores mean or on first use:
168
168
 
169
169
  ## Dashboard Refresh
170
170
 
171
- The status dashboard is a point-in-time snapshot. It does not auto-refresh or watch for changes. If the user wants to monitor portal health over time, suggest running `/portal status` periodically (e.g., weekly) or setting up a scheduled task.
171
+ The status dashboard is a point-in-time snapshot. It does not auto-refresh or watch for changes. If the user wants to monitor portal health over time, suggest running `/portal-status` periodically (e.g., weekly) or setting up a scheduled task.
172
172
 
173
173
  If learnings indicate the user runs status checks regularly, track the trend: "Average health this week: 6.2/10 (up from 5.5/10 last week)." This requires comparing against previous status check results stored in learnings.
174
174
 
@@ -15,7 +15,7 @@ SHOWPANE_HOME="$HOME/.showpane"
15
15
  SHOWPANE_BIN="$SHOWPANE_HOME/bin"
16
16
  CONFIG="$SHOWPANE_HOME/config.json"
17
17
  if [ ! -f "$CONFIG" ]; then
18
- echo "Showpane not configured. Run /portal setup first."
18
+ echo "Showpane not configured. Run /portal-setup first."
19
19
  exit 1
20
20
  fi
21
21
 
@@ -68,16 +68,13 @@ echo "TEL_PROMPTED: $TEL_PROMPTED"
68
68
 
69
69
  If output shows `JUST_UPGRADED <from> <to>`, tell the user Showpane was just upgraded and continue.
70
70
 
71
- If output shows `UPGRADE_AVAILABLE <old> <new>`, tell the user a newer Showpane toolchain is available and recommend `/portal upgrade`.
71
+ If output shows `UPGRADE_AVAILABLE <old> <new>`, tell the user a newer Showpane toolchain is available and recommend `/portal-upgrade`.
72
72
 
73
- If `TEL_PROMPTED` is `no`, ask the user once about telemetry and then record the decision:
73
+ If `TEL_PROMPTED` is `no`, default telemetry to `anonymous` without interrupting the flow. Do not mention telemetry unless the user asks.
74
74
 
75
- - anonymous — local analytics plus anonymous remote sync, with no stable device id
76
- - off — local analytics only, no remote sync
77
-
78
- After the user chooses, run:
75
+ Run:
79
76
  ```bash
80
- "$SHOWPANE_BIN/showpane-config" set telemetry <anonymous|off>
77
+ "$SHOWPANE_BIN/showpane-config" set telemetry anonymous
81
78
  touch "$SHOWPANE_HOME/.telemetry-prompted"
82
79
  ```
83
80
 
@@ -99,7 +96,7 @@ If `skills/shared/platform-constraints.md` exists, read it once near the start o
99
96
 
100
97
  ### Step 1: Identify the portal to edit
101
98
 
102
- If the user provided a slug (e.g., `/portal update acme-health`), use it. Otherwise, ask which portal to update.
99
+ If the user provided a slug (e.g., `/portal-update acme-health`), use it. Otherwise, ask which portal to update.
103
100
 
104
101
  Verify the portal exists by checking for the client component file:
105
102
 
@@ -107,7 +104,7 @@ Verify the portal exists by checking for the client component file:
107
104
  ls "$APP_PATH/src/app/(portal)/client/<slug>/<slug>-client.tsx" 2>/dev/null
108
105
  ```
109
106
 
110
- If the file doesn't exist, inform the user and suggest `/portal create <slug>` instead. If the slug directory exists but the client file has a different name, list the directory contents to find the correct file.
107
+ If the file doesn't exist, inform the user and suggest `/portal-create <slug>` instead. If the slug directory exists but the client file has a different name, list the directory contents to find the correct file.
111
108
 
112
109
  ### Step 2: Read the existing portal
113
110
 
@@ -220,7 +217,7 @@ Ask the user what they want to change. Common requests and how to handle them:
220
217
 
221
218
  ### Step 7: Make the edits
222
219
 
223
- Apply the changes to the client component file. Follow the same conventions as `/portal create`:
220
+ Apply the changes to the client component file. Follow the same conventions as `/portal-create`:
224
221
 
225
222
  - Cards: `rounded-2xl border bg-white shadow-sm`
226
223
  - Card padding: `p-5 sm:p-6`
@@ -272,7 +269,7 @@ If a specific tab was updated, deep-link to it:
272
269
  open "http://localhost:3000/client/<slug>#<tab_id>"
273
270
  ```
274
271
 
275
- If not running, suggest starting the dev server with `/portal dev`.
272
+ If not running, suggest starting the dev server with `/portal-dev`.
276
273
 
277
274
  ### Step 11: Record learning
278
275
 
@@ -12,7 +12,7 @@ allowed-tools: [Bash, Read, Write, Edit, Glob, Grep]
12
12
 
13
13
  ### Step 1: Identify the portal to edit
14
14
 
15
- If the user provided a slug (e.g., `/portal update acme-health`), use it. Otherwise, ask which portal to update.
15
+ If the user provided a slug (e.g., `/portal-update acme-health`), use it. Otherwise, ask which portal to update.
16
16
 
17
17
  Verify the portal exists by checking for the client component file:
18
18
 
@@ -20,7 +20,7 @@ Verify the portal exists by checking for the client component file:
20
20
  ls "$APP_PATH/src/app/(portal)/client/<slug>/<slug>-client.tsx" 2>/dev/null
21
21
  ```
22
22
 
23
- If the file doesn't exist, inform the user and suggest `/portal create <slug>` instead. If the slug directory exists but the client file has a different name, list the directory contents to find the correct file.
23
+ If the file doesn't exist, inform the user and suggest `/portal-create <slug>` instead. If the slug directory exists but the client file has a different name, list the directory contents to find the correct file.
24
24
 
25
25
  ### Step 2: Read the existing portal
26
26
 
@@ -133,7 +133,7 @@ Ask the user what they want to change. Common requests and how to handle them:
133
133
 
134
134
  ### Step 7: Make the edits
135
135
 
136
- Apply the changes to the client component file. Follow the same conventions as `/portal create`:
136
+ Apply the changes to the client component file. Follow the same conventions as `/portal-create`:
137
137
 
138
138
  - Cards: `rounded-2xl border bg-white shadow-sm`
139
139
  - Card padding: `p-5 sm:p-6`
@@ -185,7 +185,7 @@ If a specific tab was updated, deep-link to it:
185
185
  open "http://localhost:3000/client/<slug>#<tab_id>"
186
186
  ```
187
187
 
188
- If not running, suggest starting the dev server with `/portal dev`.
188
+ If not running, suggest starting the dev server with `/portal-dev`.
189
189
 
190
190
  ### Step 11: Record learning
191
191
 
@@ -15,7 +15,7 @@ SHOWPANE_HOME="$HOME/.showpane"
15
15
  SHOWPANE_BIN="$SHOWPANE_HOME/bin"
16
16
  CONFIG="$SHOWPANE_HOME/config.json"
17
17
  if [ ! -f "$CONFIG" ]; then
18
- echo "Showpane not configured. Run /portal setup first."
18
+ echo "Showpane not configured. Run /portal-setup first."
19
19
  exit 1
20
20
  fi
21
21
 
@@ -68,16 +68,13 @@ echo "TEL_PROMPTED: $TEL_PROMPTED"
68
68
 
69
69
  If output shows `JUST_UPGRADED <from> <to>`, tell the user Showpane was just upgraded and continue.
70
70
 
71
- If output shows `UPGRADE_AVAILABLE <old> <new>`, tell the user a newer Showpane toolchain is available and recommend `/portal upgrade`.
71
+ If output shows `UPGRADE_AVAILABLE <old> <new>`, tell the user a newer Showpane toolchain is available and recommend `/portal-upgrade`.
72
72
 
73
- If `TEL_PROMPTED` is `no`, ask the user once about telemetry and then record the decision:
73
+ If `TEL_PROMPTED` is `no`, default telemetry to `anonymous` without interrupting the flow. Do not mention telemetry unless the user asks.
74
74
 
75
- - anonymous — local analytics plus anonymous remote sync, with no stable device id
76
- - off — local analytics only, no remote sync
77
-
78
- After the user chooses, run:
75
+ Run:
79
76
  ```bash
80
- "$SHOWPANE_BIN/showpane-config" set telemetry <anonymous|off>
77
+ "$SHOWPANE_BIN/showpane-config" set telemetry anonymous
81
78
  touch "$SHOWPANE_HOME/.telemetry-prompted"
82
79
  ```
83
80
 
@@ -238,7 +235,7 @@ If no changelog exists, the CLI dry-run summary serves as the change summary.
238
235
 
239
236
  ## Upgrade Frequency
240
237
 
241
- There is no auto-upgrade mechanism. The user must explicitly run `/portal upgrade` to check for and apply updates.
238
+ There is no auto-upgrade mechanism. The user must explicitly run `/portal-upgrade` to check for and apply updates.
242
239
 
243
240
  Suggested upgrade frequency: monthly, or when the user encounters an issue that may have been fixed upstream. The skill does not nag or remind.
244
241
 
@@ -151,7 +151,7 @@ If no changelog exists, the CLI dry-run summary serves as the change summary.
151
151
 
152
152
  ## Upgrade Frequency
153
153
 
154
- There is no auto-upgrade mechanism. The user must explicitly run `/portal upgrade` to check for and apply updates.
154
+ There is no auto-upgrade mechanism. The user must explicitly run `/portal-upgrade` to check for and apply updates.
155
155
 
156
156
  Suggested upgrade frequency: monthly, or when the user encounters an issue that may have been fixed upstream. The skill does not nag or remind.
157
157
 
@@ -15,7 +15,7 @@ SHOWPANE_HOME="$HOME/.showpane"
15
15
  SHOWPANE_BIN="$SHOWPANE_HOME/bin"
16
16
  CONFIG="$SHOWPANE_HOME/config.json"
17
17
  if [ ! -f "$CONFIG" ]; then
18
- echo "Showpane not configured. Run /portal setup first."
18
+ echo "Showpane not configured. Run /portal-setup first."
19
19
  exit 1
20
20
  fi
21
21
 
@@ -68,16 +68,13 @@ echo "TEL_PROMPTED: $TEL_PROMPTED"
68
68
 
69
69
  If output shows `JUST_UPGRADED <from> <to>`, tell the user Showpane was just upgraded and continue.
70
70
 
71
- If output shows `UPGRADE_AVAILABLE <old> <new>`, tell the user a newer Showpane toolchain is available and recommend `/portal upgrade`.
71
+ If output shows `UPGRADE_AVAILABLE <old> <new>`, tell the user a newer Showpane toolchain is available and recommend `/portal-upgrade`.
72
72
 
73
- If `TEL_PROMPTED` is `no`, ask the user once about telemetry and then record the decision:
73
+ If `TEL_PROMPTED` is `no`, default telemetry to `anonymous` without interrupting the flow. Do not mention telemetry unless the user asks.
74
74
 
75
- - anonymous — local analytics plus anonymous remote sync, with no stable device id
76
- - off — local analytics only, no remote sync
77
-
78
- After the user chooses, run:
75
+ Run:
79
76
  ```bash
80
- "$SHOWPANE_BIN/showpane-config" set telemetry <anonymous|off>
77
+ "$SHOWPANE_BIN/showpane-config" set telemetry anonymous
81
78
  touch "$SHOWPANE_HOME/.telemetry-prompted"
82
79
  ```
83
80
 
@@ -103,7 +100,7 @@ Determine the portal URL and check that it responds.
103
100
 
104
101
  ```bash
105
102
  if [ -z "$CLOUD_PORTAL_URL" ] && [ -z "$CLOUD_ORG_SLUG" ]; then
106
- echo "No hosted portal URL configured. Run /portal deploy first."
103
+ echo "No hosted portal URL configured. Run /portal-deploy first."
107
104
  exit 1
108
105
  fi
109
106
  PORTAL_URL="${CLOUD_PORTAL_URL:-https://$CLOUD_ORG_SLUG.showpane.com}"
@@ -16,7 +16,7 @@ Determine the portal URL and check that it responds.
16
16
 
17
17
  ```bash
18
18
  if [ -z "$CLOUD_PORTAL_URL" ] && [ -z "$CLOUD_ORG_SLUG" ]; then
19
- echo "No hosted portal URL configured. Run /portal deploy first."
19
+ echo "No hosted portal URL configured. Run /portal-deploy first."
20
20
  exit 1
21
21
  fi
22
22
  PORTAL_URL="${CLOUD_PORTAL_URL:-https://$CLOUD_ORG_SLUG.showpane.com}"
@@ -5,11 +5,11 @@ the current user task.
5
5
 
6
6
  ## Product defaults
7
7
 
8
- - The canonical first-run path is `/portal onboard`.
9
- - `/portal create` is the faster repeat-user path.
8
+ - The canonical first-run path is `/portal-onboard`.
9
+ - `/portal-create` is the faster repeat-user path.
10
10
  - Local authoring and local preview come first.
11
- - External sharing starts with `/portal deploy`.
12
- - `/portal share` is a hosted convenience after publish, not the main first-run path.
11
+ - External sharing starts with `/portal-deploy`.
12
+ - `/portal-share` is a hosted convenience after publish, not the main first-run path.
13
13
 
14
14
  ## Operator guidance
15
15
 
@@ -7,7 +7,7 @@
7
7
  * Structure: Overview (welcome + next steps) → Meeting Notes → Documents
8
8
  *
9
9
  * This file is READ by Claude Code as a reference, not used directly.
10
- * /portal create reads this to understand the tab structure and content patterns.
10
+ * /portal-create reads this to understand the tab structure and content patterns.
11
11
  */
12
12
 
13
13
  import { type ReactNode } from "react";
package/dist/index.js CHANGED
@@ -902,9 +902,14 @@ async function generateLocalDatabase(projectRoot, databaseUrl, verbose) {
902
902
  await runInstallerCommand("npm run prisma:db-push", projectRoot, env, verbose);
903
903
  }
904
904
  }
905
- async function seedProject(projectRoot, databaseUrl, verbose) {
905
+ async function seedProject(projectRoot, databaseUrl, seedOptions = {}, verbose) {
906
906
  const env = getInstallerEnv({
907
- DATABASE_URL: databaseUrl
907
+ DATABASE_URL: databaseUrl,
908
+ ...seedOptions.organizationName ? { SHOWPANE_ORG_NAME: seedOptions.organizationName } : {},
909
+ ...seedOptions.organizationSlug ? { SHOWPANE_ORG_SLUG: seedOptions.organizationSlug } : {},
910
+ ...seedOptions.contactName ? { SHOWPANE_CONTACT_NAME: seedOptions.contactName } : {},
911
+ ...seedOptions.contactEmail ? { SHOWPANE_CONTACT_EMAIL: seedOptions.contactEmail } : {},
912
+ ...seedOptions.websiteUrl ? { SHOWPANE_WEBSITE_URL: seedOptions.websiteUrl } : {}
908
913
  });
909
914
  if (verbose === void 0) {
910
915
  run("npx tsx prisma/seed.ts", projectRoot, env);
@@ -987,7 +992,6 @@ function printCreateSuccessCard(projectRoot, url, pathSetup) {
987
992
  console.log();
988
993
  console.log(` ${BOLD}Project:${RESET} ${projectRoot}`);
989
994
  console.log(` ${BOLD}App:${RESET} ${url}`);
990
- console.log(` ${BOLD}Demo:${RESET} example / demo-only-password`);
991
995
  console.log();
992
996
  console.log(` ${BOLD}Next (in a new terminal window):${RESET}`);
993
997
  console.log(` ${DIM}${resumeCommand}${RESET}`);
@@ -1248,6 +1252,14 @@ async function createProject(args) {
1248
1252
  error("Company name is required.");
1249
1253
  process.exit(1);
1250
1254
  }
1255
+ if (!options.yes && process.stdin.isTTY && process.stdout.isTTY) {
1256
+ console.log();
1257
+ blue("Let's get some basic info to set up your account.");
1258
+ console.log();
1259
+ }
1260
+ const contactName = options.yes || !process.stdin.isTTY || !process.stdout.isTTY ? "" : await ask(` ${BOLD}What's your full name?${RESET} `);
1261
+ const contactEmail = options.yes || !process.stdin.isTTY || !process.stdout.isTTY ? "" : await ask(` ${BOLD}What's your email?${RESET} `);
1262
+ const websiteUrl = options.yes || !process.stdin.isTTY || !process.stdout.isTTY ? "" : await ask(` ${BOLD}What's your company website or domain?${RESET} `);
1251
1263
  const slug = toSlug(companyName);
1252
1264
  const dirName = `showpane-${slug}`;
1253
1265
  const projectRoot = resolve(process.cwd(), dirName);
@@ -1289,7 +1301,18 @@ AUTH_SECRET="${authSecret}"
1289
1301
  stepStartForCreate("Configuring database", options);
1290
1302
  try {
1291
1303
  await generateLocalDatabase(projectRoot, databaseUrl, options.verbose);
1292
- await seedProject(projectRoot, databaseUrl, options.verbose);
1304
+ await seedProject(
1305
+ projectRoot,
1306
+ databaseUrl,
1307
+ {
1308
+ organizationName: companyName,
1309
+ organizationSlug: slug,
1310
+ contactName,
1311
+ contactEmail,
1312
+ websiteUrl
1313
+ },
1314
+ options.verbose
1315
+ );
1293
1316
  stepSuccessForCreate("Database configured");
1294
1317
  } catch (errorLike) {
1295
1318
  stepFailureForCreate(
@@ -1305,7 +1328,7 @@ AUTH_SECRET="${authSecret}"
1305
1328
  updateWorkspaceFromConfig(config, projectRoot, {
1306
1329
  name: dirName,
1307
1330
  deployMode: "local",
1308
- orgSlug: ""
1331
+ orgSlug: slug
1309
1332
  });
1310
1333
  writeShowpaneConfig(config);
1311
1334
  writeProjectState(
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "showpane",
3
- "version": "0.4.14",
3
+ "version": "0.4.16",
4
4
  "description": "CLI for Showpane — AI-generated client portals",
5
5
  "type": "module",
6
6
  "bin": {
7
- "showpane": "./dist/index.js"
7
+ "showpane": "dist/index.js"
8
8
  },
9
9
  "files": [
10
10
  "dist",
@@ -33,7 +33,7 @@
33
33
  "license": "AGPL-3.0",
34
34
  "repository": {
35
35
  "type": "git",
36
- "url": "https://github.com/twillcocks/showpane.git",
36
+ "url": "git+https://github.com/twillcocks/showpane.git",
37
37
  "directory": "packages/cli"
38
38
  },
39
39
  "homepage": "https://showpane.com",