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.
Files changed (2) hide show
  1. package/index.mjs +35 -21
  2. 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
- console.log(pc.magenta(' ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓'));
244
- console.log(pc.magenta(' ┃ ┃'));
245
- console.log(pc.magenta(' ┃') + pc.bold(pc.white(' ██████╗ ██╗ ████████╗ ██████╗ ')) + pc.magenta('┃'));
246
- console.log(pc.magenta(' ┃') + pc.bold(pc.white(' ██╔══██╗██║ ╚══██╔══╝██╔══██╗ ')) + pc.magenta('┃'));
247
- console.log(pc.magenta(' ') + pc.bold(pc.white(' ███████║██║ ██║ ███████║ ')) + pc.magenta(''));
248
- console.log(pc.magenta(' ┃') + pc.bold(pc.white(' ██╔══██║██║ ██║ ██╔══██║ ')) + pc.magenta('┃'));
249
- console.log(pc.magenta(' ┃') + pc.bold(pc.white(' ██║ ██║███████╗██║ ██║ ██║ ')) + pc.magenta('┃'));
250
- console.log(pc.magenta(' ┃') + pc.bold(pc.white(' ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝ ')) + pc.magenta('┃'));
251
- console.log(pc.magenta(' ┃ ┃'));
252
- console.log(pc.magenta(' ') + pc.dim(' The Full-Stack Project Scaffolding ') + pc.magenta('┃'));
253
- console.log(pc.magenta(' ') + pc.dim(' React · Supabase · Vercel · AI ') + pc.magenta('┃'));
254
- console.log(pc.magenta(' ┃ ┃'));
255
- console.log(pc.magenta(' ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛'));
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: Init git + push ──
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 7: Start dev server ──
440
+ // ── Step 8: Start dev server ──
427
441
  console.log(` ${pc.bold('Starting dev server...')}`);
428
442
  console.log('');
429
443
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-alta-app",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Create a new Alta project",
5
5
  "bin": {
6
6
  "create-alta-app": "./index.mjs"