create-alta-app 1.3.0 → 1.4.0
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/index.mjs +35 -21
- package/package.json +1 -1
package/index.mjs
CHANGED
|
@@ -240,19 +240,23 @@ export default function SettingsRoute() {
|
|
|
240
240
|
async function main() {
|
|
241
241
|
console.clear();
|
|
242
242
|
console.log('');
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
console.log(pc.magenta('
|
|
248
|
-
console.log(
|
|
249
|
-
console.log(
|
|
250
|
-
console.log(
|
|
251
|
-
console.log(
|
|
252
|
-
console.log(
|
|
253
|
-
console.log(
|
|
254
|
-
console.log(
|
|
255
|
-
console.log(
|
|
243
|
+
const W = 44;
|
|
244
|
+
const line = (s) => pc.magenta(' ┃') + pc.bold(pc.white(s.padEnd(W))) + pc.magenta('┃');
|
|
245
|
+
const dim = (s) => pc.magenta(' ┃') + pc.dim(s.padEnd(W)) + pc.magenta('┃');
|
|
246
|
+
const empty = () => pc.magenta(' ┃') + ' '.repeat(W) + pc.magenta('┃');
|
|
247
|
+
console.log(pc.magenta(' ┏' + '━'.repeat(W) + '┓'));
|
|
248
|
+
console.log(empty());
|
|
249
|
+
console.log(line(' █████╗ ██╗ ████████╗█████╗ '));
|
|
250
|
+
console.log(line(' ██╔══██╗██║ ╚══██╔══╝██╔══██╗'));
|
|
251
|
+
console.log(line(' ███████║██║ ██║ ███████║'));
|
|
252
|
+
console.log(line(' ██╔══██║██║ ██║ ██╔══██║'));
|
|
253
|
+
console.log(line(' ██║ ██║███████╗██║ ██║ ██║'));
|
|
254
|
+
console.log(line(' ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝'));
|
|
255
|
+
console.log(empty());
|
|
256
|
+
console.log(dim(' The Full-Stack Project Scaffolder'));
|
|
257
|
+
console.log(dim(' React · Supabase · Vercel · Claude Skills'));
|
|
258
|
+
console.log(empty());
|
|
259
|
+
console.log(pc.magenta(' ┗' + '━'.repeat(W) + '┛'));
|
|
256
260
|
console.log('');
|
|
257
261
|
|
|
258
262
|
const argName = process.argv[2];
|
|
@@ -372,7 +376,20 @@ async function main() {
|
|
|
372
376
|
console.log(` ${pc.dim(`Then run: cd ${projectName} && pnpm install`)}`);
|
|
373
377
|
}
|
|
374
378
|
|
|
375
|
-
// ── Step 6:
|
|
379
|
+
// ── Step 6: Install Claude Skills ──
|
|
380
|
+
const spinnerSkills = ora({ text: 'Installing Claude Skills...', indent: 2 }).start();
|
|
381
|
+
try {
|
|
382
|
+
run('npx --yes skills add https://github.com/supabase/agent-skills --skill supabase-postgres-best-practices', targetDir);
|
|
383
|
+
run('npx --yes skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices', targetDir);
|
|
384
|
+
run('npx --yes skills add https://github.com/vercel-labs/agent-skills --skill web-design-guidelines', targetDir);
|
|
385
|
+
run('npx --yes skills add https://github.com/anthropics/skills --skill frontend-design', targetDir);
|
|
386
|
+
spinnerSkills.succeed(pc.green('Claude Skills installed'));
|
|
387
|
+
} catch {
|
|
388
|
+
spinnerSkills.warn(pc.yellow('Could not install Claude Skills'));
|
|
389
|
+
console.log(` ${pc.dim('Install manually: npx skills add <package>')}`);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
// ── Step 7: Init git + push ──
|
|
376
393
|
const spinnerGit = ora({ text: 'Initializing git...', indent: 2 }).start();
|
|
377
394
|
try {
|
|
378
395
|
run('git init', targetDir);
|
|
@@ -398,11 +415,7 @@ async function main() {
|
|
|
398
415
|
|
|
399
416
|
// ── Done ──
|
|
400
417
|
console.log('');
|
|
401
|
-
console.log(pc.green('
|
|
402
|
-
console.log(pc.green(' ┃ ┃'));
|
|
403
|
-
console.log(pc.green(' ┃') + pc.bold(pc.white(' ✦ Your project is ready! ✦ ')) + pc.green('┃'));
|
|
404
|
-
console.log(pc.green(' ┃ ┃'));
|
|
405
|
-
console.log(pc.green(' ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛'));
|
|
418
|
+
console.log(pc.bold(pc.green(' Your project is ready!')));
|
|
406
419
|
console.log('');
|
|
407
420
|
|
|
408
421
|
if (credentials) {
|
|
@@ -410,7 +423,8 @@ async function main() {
|
|
|
410
423
|
console.log('');
|
|
411
424
|
console.log(` ${pc.magenta('◆')} ${pc.dim('Supabase')} ${credentials.supabaseUrl}`);
|
|
412
425
|
if (credentials.vercelUrl) {
|
|
413
|
-
console.log(` ${pc.magenta('◆')} ${pc.dim('Vercel')} ${credentials.vercelUrl}`);
|
|
426
|
+
console.log(` ${pc.magenta('◆')} ${pc.dim('Vercel')} ${credentials.vercelUrl} ${pc.dim('(first deploy may take a few minutes)')}`);
|
|
427
|
+
|
|
414
428
|
}
|
|
415
429
|
if (credentials.githubRepoUrl) {
|
|
416
430
|
console.log(` ${pc.magenta('◆')} ${pc.dim('GitHub')} ${credentials.githubRepoUrl}`);
|
|
@@ -423,7 +437,7 @@ async function main() {
|
|
|
423
437
|
console.log('');
|
|
424
438
|
}
|
|
425
439
|
|
|
426
|
-
// ── Step
|
|
440
|
+
// ── Step 8: Start dev server ──
|
|
427
441
|
console.log(` ${pc.bold('Starting dev server...')}`);
|
|
428
442
|
console.log('');
|
|
429
443
|
try {
|