@gurulu/cli 0.1.3 → 0.2.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.
@@ -403,6 +403,9 @@ async function runInstallFlow(args, deps, scriptsDir) {
403
403
  log(deps, 'success', 'Patches applied.');
404
404
  }
405
405
  else {
406
+ if (args.autoInstrument) {
407
+ log(deps, 'info', `Auto-instrument: ${summary.instrumentation?.filesModified || 0} route files, ${summary.instrumentation?.eventsInstrumented || 0} events`);
408
+ }
406
409
  log(deps, 'info', 'Dry-run: skipping apply, npm install, env merge, and ingest test.');
407
410
  }
408
411
  // ---- 5. npm install --------------------------------------------------
@@ -526,6 +529,15 @@ async function runInstallFlow(args, deps, scriptsDir) {
526
529
  `${summary.instrumentation.eventsSkipped} skipped`);
527
530
  }
528
531
  log(deps, 'info', '');
532
+ // ---- Post-install guidance ---------------------------------------------
533
+ if (!summary.dryRun && summary.errors.length === 0) {
534
+ console.log('');
535
+ log(deps, 'info', '✓ Install complete! Next steps:');
536
+ log(deps, 'info', ` Run ${(0, ui_1.cyan)('gurulu doctor')} to verify setup health`);
537
+ log(deps, 'info', ` Run ${(0, ui_1.cyan)('gurulu events tail')} to watch live events`);
538
+ log(deps, 'info', ` Visit ${(0, ui_1.cyan)('https://gurulu.io/dashboard')} to view analytics`);
539
+ console.log('');
540
+ }
529
541
  return summary;
530
542
  }
531
543
  function repoHashOf(repoRoot, remoteUrl = null) {
@@ -633,6 +645,9 @@ async function runAuthenticatedInstallFlow(args, authDeps, installDeps, scriptsD
633
645
  intent = await authDeps.intent.analyze(signals);
634
646
  intentRecord.analyzed = true;
635
647
  intentRecord.vertical = intent.vertical;
648
+ if (intent.analyzerMode === 'heuristic') {
649
+ installDeps.log?.warn('⚠ LLM unavailable — using rule-based intent discovery. Results may be less precise.');
650
+ }
636
651
  }
637
652
  catch (err) {
638
653
  installDeps.log?.warn(`Intent analyzer failed: ${err.message}`);
package/dist/index.js CHANGED
@@ -208,20 +208,25 @@ const db_1 = require("./commands/db");
208
208
  .option('skip-env', { type: 'boolean', describe: 'Skip .env file merge' })
209
209
  .option('yes', { type: 'boolean', alias: 'y', describe: 'Non-interactive (assume yes)' })
210
210
  .option('ingest-url', { type: 'string', describe: 'Override ingest base URL' })
211
- .option('verify', { type: 'boolean', describe: 'Live smoke test after install' })
211
+ .option('verify', { type: 'boolean', default: true, describe: 'Live smoke test after install' })
212
212
  .option('skip-intent', { type: 'boolean', describe: 'Skip install-time intent discovery' })
213
213
  .option('intent-dry-run', { type: 'boolean', describe: 'Show intent proposal without pre-seeding' })
214
214
  .option('vertical', { type: 'string', describe: 'Vertical hint for intent analyzer' })
215
215
  // BEGIN: Agent B (Phase 18.7) — auto-instrument opt-in flag
216
216
  .option('auto-instrument', {
217
217
  type: 'boolean',
218
- description: 'Also auto-instrument route handlers with gurulu.track() calls (opt-in)',
219
- default: false,
218
+ description: 'Also auto-instrument route handlers with gurulu.track() calls',
219
+ default: true,
220
220
  })
221
221
  .option('auto-properties', {
222
222
  type: 'boolean',
223
+ default: true,
224
+ description: 'Ask Minimax to propose properties for each auto-instrumented handler (Phase 20 W1 A2)',
225
+ })
226
+ .option('skip-verify', {
227
+ type: 'boolean',
223
228
  default: false,
224
- description: 'Opt-in: ask Minimax to propose properties for each auto-instrumented handler (Phase 20 W1 A2)',
229
+ description: 'Skip live smoke verification after install',
225
230
  }),
226
231
  // END: Agent B (Phase 18.7)
227
232
  (args) => {
@@ -239,7 +244,7 @@ const db_1 = require("./commands/db");
239
244
  skipEnv: args['skip-env'],
240
245
  yes: args.yes,
241
246
  ingestUrl: args['ingest-url'],
242
- verify: args.verify,
247
+ verify: args['skip-verify'] ? false : args.verify,
243
248
  profile: args.profile,
244
249
  skipIntent: args['skip-intent'],
245
250
  intentDryRun: args['intent-dry-run'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gurulu/cli",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "Gurulu.io CLI — setup analytics in seconds",
5
5
  "bin": {
6
6
  "gurulu": "bin/gurulu.js"