primitive-admin 1.0.38 → 1.0.39
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/src/commands/databases.js +202 -29
- package/dist/src/commands/databases.js.map +1 -1
- package/dist/src/commands/init.js +290 -118
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/integrations.js +481 -20
- package/dist/src/commands/integrations.js.map +1 -1
- package/dist/src/commands/workflows.js +14 -4
- package/dist/src/commands/workflows.js.map +1 -1
- package/dist/src/lib/api-client.js +23 -3
- package/dist/src/lib/api-client.js.map +1 -1
- package/dist/src/lib/init-config.js +87 -0
- package/dist/src/lib/init-config.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { confirm, input, select } from "@inquirer/prompts";
|
|
2
|
-
import { existsSync } from "fs";
|
|
2
|
+
import { existsSync, readFileSync } from "fs";
|
|
3
3
|
import { basename, resolve } from "path";
|
|
4
4
|
import { ApiClient } from "../lib/api-client.js";
|
|
5
5
|
import { browserLogin } from "../lib/auth-flow.js";
|
|
6
6
|
import { loadCredentials, setCurrentApp } from "../lib/config.js";
|
|
7
|
+
import { INIT_CONFIG_FILENAME, loadInitConfig, parseInitConfigToml, validateInitConfig, } from "../lib/init-config.js";
|
|
7
8
|
import { divider, error, info, keyValue, success, warn, } from "../lib/output.js";
|
|
8
9
|
import { downloadAndExtractTemplate, gitInitialCommit, gitInitRepo, installPnpmGlobally, installPrimitiveCli, isDirectoryEmpty, isPnpmInstalled, isPortFree, isPrimitiveCliInstalled, runPnpmInstall, updateEnvFile, updateEnvPort, updateViteConfig, } from "../lib/template.js";
|
|
9
10
|
const DEFAULT_SERVER_URL = process.env.PRIMITIVE_SERVER_URL || "https://primitiveapi.com";
|
|
@@ -21,6 +22,7 @@ function validateServerUrl(url) {
|
|
|
21
22
|
/**
|
|
22
23
|
* Prompts for login when credentials are missing or the server has changed.
|
|
23
24
|
* Returns updated credentials on success, or exits/warns on failure.
|
|
25
|
+
* In non-interactive mode, auto-proceeds with login (no confirmation prompt).
|
|
24
26
|
*/
|
|
25
27
|
async function ensureAuthenticated(credentials, serverUrl, serverChanged, context) {
|
|
26
28
|
if (credentials && !serverChanged)
|
|
@@ -31,10 +33,18 @@ async function ensureAuthenticated(credentials, serverUrl, serverChanged, contex
|
|
|
31
33
|
else {
|
|
32
34
|
info(`You need to log in to ${context.reason}.`);
|
|
33
35
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
let shouldLogin;
|
|
37
|
+
if (context.nonInteractive) {
|
|
38
|
+
// In non-interactive mode, auto-proceed with login
|
|
39
|
+
shouldLogin = true;
|
|
40
|
+
info("Attempting automatic login...");
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
shouldLogin = await confirm({
|
|
44
|
+
message: "Log in now?",
|
|
45
|
+
default: true,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
38
48
|
if (!shouldLogin) {
|
|
39
49
|
if (!context.allowSkip) {
|
|
40
50
|
error(`Cannot ${context.reason} without authentication. Use --use-existing-app-id to skip app creation.`);
|
|
@@ -55,6 +65,47 @@ async function ensureAuthenticated(credentials, serverUrl, serverChanged, contex
|
|
|
55
65
|
success(`Logged in as ${result.credentials.email}`);
|
|
56
66
|
return result.credentials;
|
|
57
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Loads the init config from --config flag or auto-discovers it in CWD.
|
|
70
|
+
* Returns null if no config file is found/specified.
|
|
71
|
+
* Exits with error if config file is specified but invalid.
|
|
72
|
+
*/
|
|
73
|
+
function loadInitConfigFromOptions(options) {
|
|
74
|
+
let config = null;
|
|
75
|
+
if (options.config) {
|
|
76
|
+
// Explicit config path
|
|
77
|
+
const configPath = resolve(process.cwd(), options.config);
|
|
78
|
+
if (!existsSync(configPath)) {
|
|
79
|
+
error(`Config file not found: ${configPath}`);
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const content = readFileSync(configPath, "utf-8");
|
|
84
|
+
config = parseInitConfigToml(content);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
error(`Failed to parse config file: ${err.message}`);
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
// Auto-discover in CWD
|
|
93
|
+
config = loadInitConfig(process.cwd());
|
|
94
|
+
}
|
|
95
|
+
if (!config)
|
|
96
|
+
return null;
|
|
97
|
+
// Validate
|
|
98
|
+
info(`Using config file for non-interactive init`);
|
|
99
|
+
const validation = validateInitConfig(config);
|
|
100
|
+
if (!validation.valid) {
|
|
101
|
+
error("Invalid config file:");
|
|
102
|
+
for (const err of validation.errors) {
|
|
103
|
+
error(` - ${err}`);
|
|
104
|
+
}
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
return config;
|
|
108
|
+
}
|
|
58
109
|
export function registerInitCommand(program) {
|
|
59
110
|
program
|
|
60
111
|
.command("init")
|
|
@@ -63,12 +114,30 @@ export function registerInitCommand(program) {
|
|
|
63
114
|
.option("--use-existing-app-id <id>", "Use an existing app ID instead of creating a new one")
|
|
64
115
|
.option("-s, --server <url>", "Server URL (default: current CLI server or https://primitiveapi.com)")
|
|
65
116
|
.option("--skip-install", "Skip running pnpm install")
|
|
117
|
+
.option("--config <path>", `Path to a ${INIT_CONFIG_FILENAME} config file for non-interactive init`)
|
|
66
118
|
.addHelpText("after", `
|
|
67
119
|
Examples:
|
|
68
120
|
$ primitive init my-app # Create in ./my-app, prompt for app name
|
|
69
121
|
$ primitive init # Interactive: prompt for directory and app name
|
|
70
122
|
$ primitive init . --use-existing-app-id 01HXY... # Use existing app in current dir
|
|
71
123
|
$ primitive init my-app --skip-install # Skip dependency install
|
|
124
|
+
$ primitive init --config .primitive-init.toml # Non-interactive from config file
|
|
125
|
+
|
|
126
|
+
Non-interactive mode:
|
|
127
|
+
Create a ${INIT_CONFIG_FILENAME} file (or pass --config <path>) to skip all prompts.
|
|
128
|
+
The config file uses TOML format:
|
|
129
|
+
|
|
130
|
+
action = "create" # "create" or "use-existing"
|
|
131
|
+
app_name = "My App" # Required for action = "create"
|
|
132
|
+
app_id = "01HXY..." # Required for action = "use-existing"
|
|
133
|
+
dir = "my-app" # Project directory (optional)
|
|
134
|
+
access_mode = "invite-only" # "public", "domain", or "invite-only" (optional)
|
|
135
|
+
dev_port = 5173 # Dev server port (optional)
|
|
136
|
+
skip_install = false # Skip pnpm install (optional)
|
|
137
|
+
server = "https://..." # Custom server URL (optional)
|
|
138
|
+
invite_emails = ["a@b.com"] # Emails to invite (optional, for invite-only)
|
|
139
|
+
allowed_domains = ["b.com"] # Allowed domains (optional, for domain mode)
|
|
140
|
+
overwrite = false # Overwrite non-empty target directory (optional)
|
|
72
141
|
|
|
73
142
|
This command will:
|
|
74
143
|
1. Download the Primitive app template
|
|
@@ -79,8 +148,25 @@ This command will:
|
|
|
79
148
|
.action(handleInit);
|
|
80
149
|
}
|
|
81
150
|
async function handleInit(projectDirArg, options) {
|
|
151
|
+
// Step 0: Check for non-interactive config file
|
|
152
|
+
const initConfig = loadInitConfigFromOptions(options);
|
|
153
|
+
if (initConfig) {
|
|
154
|
+
// Merge config values into options so the rest of the flow uses them
|
|
155
|
+
if (initConfig.action === "use-existing" && initConfig.app_id) {
|
|
156
|
+
options.useExistingAppId = initConfig.app_id;
|
|
157
|
+
}
|
|
158
|
+
if (initConfig.skip_install) {
|
|
159
|
+
options.skipInstall = true;
|
|
160
|
+
}
|
|
161
|
+
if (initConfig.server) {
|
|
162
|
+
options.server = initConfig.server;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
82
165
|
// Step 1: Determine project directory
|
|
83
166
|
let projectDir = projectDirArg;
|
|
167
|
+
if (!projectDir && initConfig?.dir) {
|
|
168
|
+
projectDir = initConfig.dir;
|
|
169
|
+
}
|
|
84
170
|
if (!projectDir) {
|
|
85
171
|
projectDir = await input({
|
|
86
172
|
message: "Project name (a new directory will be created):",
|
|
@@ -97,14 +183,25 @@ async function handleInit(projectDirArg, options) {
|
|
|
97
183
|
const defaultAppName = projectDir === "." ? basename(targetDir) : basename(projectDir);
|
|
98
184
|
// Step 2: Check if directory exists and is non-empty
|
|
99
185
|
if (existsSync(targetDir) && !isDirectoryEmpty(targetDir)) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
186
|
+
if (initConfig) {
|
|
187
|
+
// Non-interactive: require explicit overwrite opt-in
|
|
188
|
+
if (!initConfig.overwrite) {
|
|
189
|
+
error(`Directory "${projectDir}" already exists and is not empty.`);
|
|
190
|
+
error('Set overwrite = true in your config file to allow overwriting.');
|
|
191
|
+
process.exit(1);
|
|
192
|
+
}
|
|
193
|
+
warn(`Directory "${projectDir}" already exists and is not empty. Overwriting (overwrite = true in config).`);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
warn(`Directory "${projectDir}" already exists and is not empty.`);
|
|
197
|
+
const overwrite = await confirm({
|
|
198
|
+
message: "Do you want to overwrite the existing contents?",
|
|
199
|
+
default: false,
|
|
200
|
+
});
|
|
201
|
+
if (!overwrite) {
|
|
202
|
+
error("Aborted. Please choose a different project name.");
|
|
203
|
+
process.exit(1);
|
|
204
|
+
}
|
|
108
205
|
}
|
|
109
206
|
}
|
|
110
207
|
// Step 2.5: Determine target server
|
|
@@ -127,7 +224,7 @@ async function handleInit(projectDirArg, options) {
|
|
|
127
224
|
else {
|
|
128
225
|
const existingCredentials = loadCredentials();
|
|
129
226
|
const currentServer = existingCredentials?.serverUrl;
|
|
130
|
-
if (currentServer && currentServer !== DEFAULT_SERVER_URL) {
|
|
227
|
+
if (currentServer && currentServer !== DEFAULT_SERVER_URL && !initConfig) {
|
|
131
228
|
console.log();
|
|
132
229
|
const serverChoice = await select({
|
|
133
230
|
message: `The Primitive CLI is currently using ${currentServer}.\nWhere do you want to create this app?`,
|
|
@@ -194,6 +291,7 @@ async function handleInit(projectDirArg, options) {
|
|
|
194
291
|
reason: "verify the app",
|
|
195
292
|
targetDir,
|
|
196
293
|
allowSkip: true,
|
|
294
|
+
nonInteractive: !!initConfig,
|
|
197
295
|
});
|
|
198
296
|
if (credentials) {
|
|
199
297
|
try {
|
|
@@ -213,12 +311,19 @@ async function handleInit(projectDirArg, options) {
|
|
|
213
311
|
reason: "create an app",
|
|
214
312
|
targetDir,
|
|
215
313
|
allowSkip: false,
|
|
314
|
+
nonInteractive: !!initConfig,
|
|
216
315
|
});
|
|
217
|
-
//
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
316
|
+
// Determine app name
|
|
317
|
+
if (initConfig?.app_name) {
|
|
318
|
+
appName = initConfig.app_name;
|
|
319
|
+
info(`App name: ${appName} (from config)`);
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
appName = await input({
|
|
323
|
+
message: "What would you like to name your app?",
|
|
324
|
+
default: defaultAppName,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
222
327
|
// Create app
|
|
223
328
|
info("Creating app on Primitive server...");
|
|
224
329
|
try {
|
|
@@ -243,47 +348,61 @@ async function handleInit(projectDirArg, options) {
|
|
|
243
348
|
process.exit(1);
|
|
244
349
|
}
|
|
245
350
|
// Configure app access mode
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
351
|
+
let accessMode;
|
|
352
|
+
if (initConfig?.access_mode) {
|
|
353
|
+
accessMode = initConfig.access_mode;
|
|
354
|
+
info(`Access mode: ${accessMode} (from config)`);
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
console.log();
|
|
358
|
+
info("Let's configure who can access your app.");
|
|
359
|
+
info("(You can change this later with 'primitive apps update')");
|
|
360
|
+
accessMode = await select({
|
|
361
|
+
message: "Who should be able to sign up for your app?",
|
|
362
|
+
choices: [
|
|
363
|
+
{
|
|
364
|
+
value: "public",
|
|
365
|
+
name: "Anyone (public)",
|
|
366
|
+
description: "Anyone can create an account",
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
value: "domain",
|
|
370
|
+
name: "Domain restricted",
|
|
371
|
+
description: "Only users with email addresses from specific domains",
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
value: "invite-only",
|
|
375
|
+
name: "Invite only",
|
|
376
|
+
description: "Only users you explicitly invite can sign up",
|
|
377
|
+
},
|
|
378
|
+
],
|
|
379
|
+
default: "invite-only",
|
|
380
|
+
});
|
|
381
|
+
}
|
|
270
382
|
const client = new ApiClient();
|
|
271
383
|
const settingsPayload = {
|
|
272
384
|
mode: accessMode,
|
|
273
385
|
};
|
|
274
386
|
if (accessMode === "domain") {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
387
|
+
let allowedDomains;
|
|
388
|
+
if (initConfig?.allowed_domains && initConfig.allowed_domains.length > 0) {
|
|
389
|
+
allowedDomains = initConfig.allowed_domains;
|
|
390
|
+
info(`Allowed domains: ${allowedDomains.join(", ")} (from config)`);
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
const domainsInput = await input({
|
|
394
|
+
message: "Enter allowed email domain(s) (comma-separated, e.g., 'acme.com, example.org'):",
|
|
395
|
+
validate: (value) => {
|
|
396
|
+
if (!value.trim())
|
|
397
|
+
return "Please enter at least one domain";
|
|
398
|
+
return true;
|
|
399
|
+
},
|
|
400
|
+
});
|
|
401
|
+
allowedDomains = domainsInput
|
|
402
|
+
.split(",")
|
|
403
|
+
.map((d) => d.trim().toLowerCase())
|
|
404
|
+
.filter((d) => d.length > 0);
|
|
405
|
+
}
|
|
287
406
|
settingsPayload.allowedDomains = allowedDomains;
|
|
288
407
|
}
|
|
289
408
|
// Update app settings with the chosen mode
|
|
@@ -309,32 +428,42 @@ async function handleInit(projectDirArg, options) {
|
|
|
309
428
|
warn(`Could not add your email to the invite list: ${err.message}`);
|
|
310
429
|
}
|
|
311
430
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
const emails = value.split(",").map((e) => e.trim());
|
|
323
|
-
for (const email of emails) {
|
|
324
|
-
if (!email.includes("@")) {
|
|
325
|
-
return `Invalid email: ${email}`;
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
return true;
|
|
329
|
-
},
|
|
431
|
+
// Determine emails to invite
|
|
432
|
+
let emailsToInvite = [];
|
|
433
|
+
if (initConfig?.invite_emails && initConfig.invite_emails.length > 0) {
|
|
434
|
+
emailsToInvite = initConfig.invite_emails;
|
|
435
|
+
info(`Inviting users from config: ${emailsToInvite.join(", ")}`);
|
|
436
|
+
}
|
|
437
|
+
else if (!initConfig) {
|
|
438
|
+
const inviteNow = await confirm({
|
|
439
|
+
message: "Would you like to add initial users who can sign up? (no emails will be sent)",
|
|
440
|
+
default: false,
|
|
330
441
|
});
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
442
|
+
if (inviteNow) {
|
|
443
|
+
const emailsInput = await input({
|
|
444
|
+
message: "Enter email address(es) to allow (comma-separated):",
|
|
445
|
+
validate: (value) => {
|
|
446
|
+
if (!value.trim())
|
|
447
|
+
return "Please enter at least one email";
|
|
448
|
+
const emails = value.split(",").map((e) => e.trim());
|
|
449
|
+
for (const email of emails) {
|
|
450
|
+
if (!email.includes("@")) {
|
|
451
|
+
return `Invalid email: ${email}`;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
return true;
|
|
455
|
+
},
|
|
456
|
+
});
|
|
457
|
+
emailsToInvite = emailsInput
|
|
458
|
+
.split(",")
|
|
459
|
+
.map((e) => e.trim())
|
|
460
|
+
.filter((e) => e.length > 0);
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
if (emailsToInvite.length > 0) {
|
|
335
464
|
info("Adding invited users...");
|
|
336
465
|
let inviteCount = 0;
|
|
337
|
-
for (const email of
|
|
466
|
+
for (const email of emailsToInvite) {
|
|
338
467
|
try {
|
|
339
468
|
await client.createInvitation(appId, {
|
|
340
469
|
email,
|
|
@@ -383,31 +512,42 @@ async function handleInit(projectDirArg, options) {
|
|
|
383
512
|
}
|
|
384
513
|
// Step 6: Confirm the dev port to use. Default to 5173; warn about taken ports.
|
|
385
514
|
try {
|
|
386
|
-
console.log();
|
|
387
515
|
const defaultPort = 5173;
|
|
388
516
|
const defaultOrigin = `http://localhost:${defaultPort}`;
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
517
|
+
let chosenPort;
|
|
518
|
+
if (initConfig?.dev_port) {
|
|
519
|
+
chosenPort = initConfig.dev_port;
|
|
520
|
+
info(`Dev port: ${chosenPort} (from config)`);
|
|
521
|
+
}
|
|
522
|
+
else if (initConfig) {
|
|
523
|
+
// Non-interactive mode without explicit port — use default
|
|
524
|
+
chosenPort = defaultPort;
|
|
525
|
+
}
|
|
526
|
+
else {
|
|
527
|
+
console.log();
|
|
528
|
+
// Scan up to 10 ports starting from 5173 to surface what's already in use
|
|
529
|
+
const takenPorts = [];
|
|
530
|
+
for (let p = defaultPort; p < defaultPort + 10; p++) {
|
|
531
|
+
if (!(await isPortFree(p)))
|
|
532
|
+
takenPorts.push(p);
|
|
533
|
+
else
|
|
534
|
+
break;
|
|
535
|
+
}
|
|
536
|
+
if (takenPorts.length > 0) {
|
|
537
|
+
warn(`Port${takenPorts.length > 1 ? "s" : ""} ${takenPorts.join(", ")} ${takenPorts.length > 1 ? "are" : "is"} already in use.`);
|
|
538
|
+
}
|
|
539
|
+
const portInput = await input({
|
|
540
|
+
message: "Dev server port for this project:",
|
|
541
|
+
default: String(defaultPort),
|
|
542
|
+
validate: (val) => {
|
|
543
|
+
const n = parseInt(val, 10);
|
|
544
|
+
if (isNaN(n) || n < 1 || n > 65535)
|
|
545
|
+
return "Enter a valid port number.";
|
|
546
|
+
return true;
|
|
547
|
+
},
|
|
548
|
+
});
|
|
549
|
+
chosenPort = parseInt(portInput, 10);
|
|
550
|
+
}
|
|
411
551
|
if (chosenPort !== defaultPort) {
|
|
412
552
|
const devOrigin = `http://localhost:${chosenPort}`;
|
|
413
553
|
// Pin the port in vite.config.ts and update .env
|
|
@@ -464,23 +604,37 @@ async function handleInit(projectDirArg, options) {
|
|
|
464
604
|
// (kept as separate step from install so we can ask about pnpm first)
|
|
465
605
|
const pnpmInstalled = await isPnpmInstalled();
|
|
466
606
|
if (!pnpmInstalled) {
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
message: "Install pnpm globally? (recommended for future use)",
|
|
471
|
-
default: true,
|
|
472
|
-
});
|
|
473
|
-
if (installPnpm) {
|
|
474
|
-
info("Installing pnpm...");
|
|
607
|
+
if (initConfig) {
|
|
608
|
+
// Non-interactive: auto-install pnpm
|
|
609
|
+
info("pnpm is not installed globally. Installing...");
|
|
475
610
|
try {
|
|
476
611
|
await installPnpmGlobally();
|
|
477
|
-
success("pnpm installed globally.
|
|
612
|
+
success("pnpm installed globally.");
|
|
478
613
|
}
|
|
479
614
|
catch (err) {
|
|
480
615
|
warn(`Could not install pnpm: ${err.message}`);
|
|
481
616
|
warn("Will use npx to run pnpm for dependency installation.");
|
|
482
617
|
}
|
|
483
618
|
}
|
|
619
|
+
else {
|
|
620
|
+
console.log();
|
|
621
|
+
info("pnpm is not installed globally on your system.");
|
|
622
|
+
const installPnpm = await confirm({
|
|
623
|
+
message: "Install pnpm globally? (recommended for future use)",
|
|
624
|
+
default: true,
|
|
625
|
+
});
|
|
626
|
+
if (installPnpm) {
|
|
627
|
+
info("Installing pnpm...");
|
|
628
|
+
try {
|
|
629
|
+
await installPnpmGlobally();
|
|
630
|
+
success("pnpm installed globally. You can now use 'pnpm' commands.");
|
|
631
|
+
}
|
|
632
|
+
catch (err) {
|
|
633
|
+
warn(`Could not install pnpm: ${err.message}`);
|
|
634
|
+
warn("Will use npx to run pnpm for dependency installation.");
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
}
|
|
484
638
|
}
|
|
485
639
|
// Step 8: Install dependencies with pnpm (via npx to handle version management)
|
|
486
640
|
if (!options.skipInstall) {
|
|
@@ -500,23 +654,37 @@ async function handleInit(projectDirArg, options) {
|
|
|
500
654
|
// Step 9: Install primitive CLI globally if not already installed
|
|
501
655
|
const cliInstalled = await isPrimitiveCliInstalled();
|
|
502
656
|
if (!cliInstalled) {
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
const installCli = await confirm({
|
|
506
|
-
message: "Install the Primitive CLI globally?",
|
|
507
|
-
default: true,
|
|
508
|
-
});
|
|
509
|
-
if (installCli) {
|
|
657
|
+
if (initConfig) {
|
|
658
|
+
// Non-interactive: auto-install CLI
|
|
510
659
|
info("Installing Primitive CLI...");
|
|
511
660
|
try {
|
|
512
661
|
await installPrimitiveCli();
|
|
513
|
-
success("Primitive CLI installed.
|
|
662
|
+
success("Primitive CLI installed.");
|
|
514
663
|
}
|
|
515
664
|
catch (err) {
|
|
516
665
|
warn(`Could not install CLI: ${err.message}`);
|
|
517
666
|
warn("You can install it manually with: npm install -g primitive-admin");
|
|
518
667
|
}
|
|
519
668
|
}
|
|
669
|
+
else {
|
|
670
|
+
console.log();
|
|
671
|
+
info("The Primitive CLI helps you manage your app from the command line.");
|
|
672
|
+
const installCli = await confirm({
|
|
673
|
+
message: "Install the Primitive CLI globally?",
|
|
674
|
+
default: true,
|
|
675
|
+
});
|
|
676
|
+
if (installCli) {
|
|
677
|
+
info("Installing Primitive CLI...");
|
|
678
|
+
try {
|
|
679
|
+
await installPrimitiveCli();
|
|
680
|
+
success("Primitive CLI installed. You can now use 'primitive' commands.");
|
|
681
|
+
}
|
|
682
|
+
catch (err) {
|
|
683
|
+
warn(`Could not install CLI: ${err.message}`);
|
|
684
|
+
warn("You can install it manually with: npm install -g primitive-admin");
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
}
|
|
520
688
|
}
|
|
521
689
|
// Step 10: Offer to install Claude Code skill if not already installed
|
|
522
690
|
try {
|
|
@@ -525,6 +693,10 @@ async function handleInit(projectDirArg, options) {
|
|
|
525
693
|
// Already installed — silently auto-update if a newer version is bundled
|
|
526
694
|
await checkSkillStatus();
|
|
527
695
|
}
|
|
696
|
+
else if (initConfig) {
|
|
697
|
+
// Non-interactive: auto-install skill
|
|
698
|
+
installSkillExplicit();
|
|
699
|
+
}
|
|
528
700
|
else {
|
|
529
701
|
console.log();
|
|
530
702
|
info("The Primitive platform skill gives Claude Code expertise with Primitive APIs and patterns.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
|