@sellable/install 0.1.30 → 0.1.32

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.
@@ -1394,44 +1394,80 @@ function verify(opts) {
1394
1394
  function printNextSteps(installedHosts) {
1395
1395
  console.log("");
1396
1396
  printDivider();
1397
- console.log(` ${C.bold}Next steps${C.reset}`);
1397
+ console.log(
1398
+ ` ${C.bold}You're set. Let's launch your first campaign.${C.reset}`
1399
+ );
1398
1400
  printDivider();
1399
1401
  console.log("");
1400
- if (installedHosts.length > 0) {
1401
- console.log(
1402
- ` 1. Quit and reopen ${installedHosts.join(" and ")} so MCP tools reload.`
1403
- );
1404
- console.log(" 2. Start a new thread and run:");
1405
- if (installedHosts.includes("Claude Code")) {
1406
- console.log(
1407
- ` ${C.cyan}/sellable:create-campaign${C.reset} ${C.grey}(Claude Code)${C.reset}`
1408
- );
1409
- }
1410
- if (installedHosts.includes("Codex")) {
1411
- console.log(
1412
- ` ${C.cyan}$sellable:create-campaign${C.reset} ${C.grey}(Codex)${C.reset}`
1413
- );
1414
- }
1402
+
1403
+ if (installedHosts.length === 0) {
1415
1404
  console.log(
1416
- ` ${C.grey}Sellable will walk you through signup or sign-in on first use.${C.reset}`
1405
+ ` ${C.yellow}!${C.reset} Neither Claude Code nor Codex was found on this machine.`
1417
1406
  );
1418
1407
  console.log("");
1408
+ console.log(` Install one of them, then rerun this command:`);
1409
+ console.log(` ${C.cyan}npx -y @sellable/install@latest${C.reset}`);
1410
+ console.log("");
1419
1411
  console.log(
1420
- ` Verify any time: ${C.cyan}sellable --verify-only --host all${C.reset}`
1412
+ ` ${C.grey}Claude Code: https://docs.anthropic.com/en/docs/claude-code${C.reset}`
1421
1413
  );
1422
- console.log(` Need help?`);
1423
1414
  console.log(
1424
- ` Slack: ${C.cyan}https://join.slack.com/t/ditttoai/shared_invite/zt-3wvs86yau-csKZGP3iGXO3oEiAUmtH9A${C.reset}`
1425
- );
1426
- console.log(` Email: ${C.cyan}admin@dittto.ai${C.reset}`);
1427
- } else {
1428
- console.log(
1429
- " 1. Install Claude Code or Codex, then rerun this installer for that host."
1415
+ ` ${C.grey}Codex: https://github.com/openai/codex${C.reset}`
1430
1416
  );
1417
+ console.log("");
1418
+ return;
1419
+ }
1420
+
1421
+ const useClaude = installedHosts.includes("Claude Code");
1422
+ const primary = useClaude
1423
+ ? {
1424
+ label: "Claude Code",
1425
+ cmd: "claude",
1426
+ slash: "/sellable:create-campaign",
1427
+ }
1428
+ : { label: "Codex", cmd: "codex", slash: "/sellable:create-campaign" };
1429
+ const secondary =
1430
+ useClaude && installedHosts.includes("Codex")
1431
+ ? { label: "Codex", cmd: "codex", slash: "/sellable:create-campaign" }
1432
+ : null;
1433
+
1434
+ console.log(
1435
+ ` ${C.bold}Try it now${C.reset} ${C.grey}(in a new terminal)${C.reset}`
1436
+ );
1437
+ console.log("");
1438
+ console.log(` ${C.grey}1.${C.reset} Open ${primary.label}:`);
1439
+ console.log("");
1440
+ console.log(` ${C.cyan}${primary.cmd}${C.reset}`);
1441
+ console.log("");
1442
+ console.log(` ${C.grey}2.${C.reset} Type this and hit enter:`);
1443
+ console.log("");
1444
+ console.log(` ${C.cyan}${primary.slash}${C.reset}`);
1445
+ console.log("");
1446
+ console.log(
1447
+ ` ${C.grey}First time? Sellable signs you up automatically — just answer in chat.${C.reset}`
1448
+ );
1449
+
1450
+ if (secondary) {
1451
+ console.log("");
1431
1452
  console.log(
1432
- ` 2. Verify auth later with: ${C.cyan}sellable --verify-only --host all${C.reset}`
1453
+ ` ${C.grey}Prefer ${secondary.label}? Run ${C.reset}${C.cyan}${secondary.cmd}${C.reset}${C.grey} and type ${C.reset}${C.cyan}${secondary.slash}${C.reset}${C.grey}.${C.reset}`
1433
1454
  );
1434
1455
  }
1456
+
1457
+ console.log("");
1458
+ printDivider();
1459
+ console.log("");
1460
+ console.log(
1461
+ ` Verify install: ${C.cyan}sellable --verify-only --host all${C.reset}`
1462
+ );
1463
+ console.log(` Need help?`);
1464
+ console.log(
1465
+ ` Slack: ${C.cyan}https://join.slack.com/t/ditttoai/shared_invite/zt-3wvs86yau-csKZGP3iGXO3oEiAUmtH9A${C.reset}`
1466
+ );
1467
+ console.log(` Email: ${C.cyan}admin@dittto.ai${C.reset}`);
1468
+ console.log(
1469
+ ` LinkedIn: ${C.cyan}https://www.linkedin.com/in/csreyes92/${C.reset} ${C.grey}(DM Christian directly)${C.reset}`
1470
+ );
1435
1471
  console.log("");
1436
1472
  }
1437
1473
 
@@ -1514,7 +1550,7 @@ async function main() {
1514
1550
  verify(opts);
1515
1551
  }
1516
1552
 
1517
- if (!opts.verifyOnly && !opts.dryRun) {
1553
+ if (!opts.verifyOnly) {
1518
1554
  printNextSteps(installedHosts);
1519
1555
  }
1520
1556
  } catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {