multi-agents-cli 1.0.51 → 1.0.52

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/init.js +32 -17
  2. package/package.json +1 -1
package/init.js CHANGED
@@ -200,9 +200,9 @@ const FRAMEWORK_VERSION_FALLBACK = {
200
200
  'Nuxt': ['3', '2', null],
201
201
  'SvelteKit': ['2', '1', null],
202
202
  'Remix': ['2', '1', null],
203
- 'Vite+React': ['6', '5', '4'],
203
+ 'Vite+React': ['8', '7', '6'],
204
204
  'NestJS': ['11', '10', '9' ],
205
- 'Express': ['5', '4', null],
205
+ 'Express': ['5', '4'],
206
206
  'Fastify': ['5', '4', null],
207
207
  'FastAPI': ['0.115', '0.111', '0.104'],
208
208
  'Django': ['5.1', '4.2', '3.2'],
@@ -268,7 +268,7 @@ const STATE_OPTIONS = {
268
268
 
269
269
  const UI_OPTIONS = {
270
270
  'Next.js': ['shadcn/ui', 'Radix UI', 'MUI', 'Chakra UI', 'Ant Design'],
271
- 'Vite+React': ['shadcn/ui', 'Radix UI', 'MUI', 'Chakra UI', 'Ant Design'],
271
+ 'Vite+React': ['Radix UI', 'MUI', 'Chakra UI', 'Ant Design'],
272
272
  'Remix': ['shadcn/ui', 'Radix UI', 'MUI', 'Chakra UI', 'Ant Design'],
273
273
  'Angular': ['Angular Material', 'PrimeNG', 'Clarity'],
274
274
  'Nuxt': ['Vuetify', 'PrimeVue', 'Naive UI'],
@@ -283,6 +283,15 @@ const STYLING_OPTIONS = [
283
283
  'UnoCSS',
284
284
  ];
285
285
 
286
+ const DB_OPTIONS = ['PostgreSQL', 'MySQL', 'MongoDB', 'SQLite', 'Skip (agent will propose when needed)'];
287
+
288
+ const ORM_OPTIONS_BY_DB = {
289
+ 'PostgreSQL': ['Prisma', 'TypeORM', 'Drizzle', 'Sequelize', 'raw pg driver', 'Skip (agent will propose when needed)'],
290
+ 'MySQL': ['Prisma', 'TypeORM', 'Drizzle', 'Sequelize', 'raw mysql2 driver', 'Skip (agent will propose when needed)'],
291
+ 'MongoDB': ['Mongoose', 'Prisma', 'raw MongoDB driver', 'Skip (agent will propose when needed)'],
292
+ 'SQLite': ['Prisma', 'Drizzle', 'better-sqlite3', 'Skip (agent will propose when needed)'],
293
+ };
294
+
286
295
  const ORM_OPTIONS = {
287
296
  'NestJS': ['TypeORM', 'Prisma', 'MikroORM', 'Drizzle'],
288
297
  'Express': ['Prisma', 'TypeORM', 'Drizzle', 'Sequelize'],
@@ -857,7 +866,8 @@ const main = async () => {
857
866
  label: i === 0 ? `v${v} ${dim('(latest)')}` : `v${v}`,
858
867
  value: v,
859
868
  }));
860
- const vIdx = await arrowSelect(`* ${clientFw.value} version:`, versionChoices, rl, true);
869
+ const versionLabel = clientFw.value === 'Vite+React' ? '* Vite version:' : `* ${clientFw.value} version:`;
870
+ const vIdx = await arrowSelect(versionLabel, versionChoices, rl, true);
861
871
  if (vIdx === versionChoices.length) { restartIfBack(BACK); return; }
862
872
  clientFwVersion = clientVersions[vIdx];
863
873
  }
@@ -922,8 +932,19 @@ const main = async () => {
922
932
  }
923
933
  }
924
934
 
925
- backendOrm = backendFw ? await selectOptional('ORM / database layer:', ORM_OPTIONS[backendFw] || []) : null;
926
- if (restartIfBack(backendOrm)) return;
935
+ // DB type
936
+ let backendDb = null;
937
+ if (backendFw) {
938
+ backendDb = await selectOptional('Database type:', DB_OPTIONS);
939
+ if (restartIfBack(backendDb)) return;
940
+ }
941
+ // ORM / query layer (filtered by DB type)
942
+ backendOrm = null;
943
+ if (backendFw && backendDb && backendDb !== 'Skip (agent will propose when needed)') {
944
+ const ormChoices = ORM_OPTIONS_BY_DB[backendDb] || ORM_OPTIONS[backendFw] || [];
945
+ backendOrm = await selectOptional('ORM / query layer:', ormChoices);
946
+ if (restartIfBack(backendOrm)) return;
947
+ }
927
948
  backendAuth = backendFw ? await selectOptional('Auth strategy:', AUTH_OPTIONS[backendFw] || []) : null;
928
949
  if (restartIfBack(backendAuth)) return;
929
950
  backendType = backendFw ? 'separate' : null;
@@ -1500,17 +1521,11 @@ fi
1500
1521
  } catch { /* best-effort */ }
1501
1522
 
1502
1523
  if (selected.next === 'launch') {
1503
- const launchConfirm = await arrowConfirm('Ready to launch your first task?', rl);
1504
- if (launchConfirm) {
1505
- rl.close();
1506
- console.log('');
1507
- const child = spawn('node', [path.join(ROOT, '.workflow', 'agent.js')], {
1508
- stdio: 'inherit',
1509
- cwd: ROOT,
1510
- });
1511
- child.on('exit', (code) => process.exit(code));
1512
- return;
1513
- }
1524
+ separator();
1525
+ console.log(`\n ${bold(green(' Project ready!'))}\n`);
1526
+ console.log(` Run ${cyan('npm run agent')} to start your first task.\n`);
1527
+ rl.close();
1528
+ return;
1514
1529
  }
1515
1530
 
1516
1531
  console.log('');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "multi-agents-cli",
3
- "version": "1.0.51",
3
+ "version": "1.0.52",
4
4
  "description": "Multi-agent workflow orchestration for Claude Code — isolated git worktrees, structured state tracking, autonomous task chaining",
5
5
  "keywords": [
6
6
  "claude-code",