create-egregore 0.18.12 → 0.18.14

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.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // egregore-launcher-version: 0.5.25
2
+ // egregore-launcher-version: 0.5.26
3
3
  //
4
4
  // egregore — launch and browse Egregore instances from your terminal.
5
5
  // Installed by create-egregore. Reads ~/.egregore/instances.json.
@@ -9,8 +9,8 @@
9
9
  // full-screen browser with filter, preview, and inline actions.
10
10
  //
11
11
  // Subcommands:
12
- // egregore pick an instance, then pick an assistant
13
- // egregore <slug|name> pick an assistant for the matching instance
12
+ // egregore pick an instance, then pick a harness
13
+ // egregore <slug|name> pick a harness for the matching instance
14
14
  // egregore ls | list list instances (non-interactive table)
15
15
  // egregore use <slug> set the default for bare `egregore`
16
16
  // egregore /invite <user> invite a GitHub user to an instance
@@ -30,7 +30,7 @@ const https = require("node:https");
30
30
  const { spawnSync, spawn } = require("node:child_process");
31
31
  const readline = require("node:readline");
32
32
 
33
- const VERSION = "0.5.25";
33
+ const VERSION = "0.5.26";
34
34
  const REGISTRY = path.join(os.homedir(), ".egregore", "instances.json");
35
35
  const DEFAULT_FILE = path.join(os.homedir(), ".egregore", "default");
36
36
  const PUBLIC_NPX_PACKAGE = "create-egregore";
@@ -425,7 +425,7 @@ function runtimePickerLines(inst, runtimes, stored, cursor) {
425
425
  const lines = [
426
426
  "",
427
427
  ` ${DIM}↑↓${RESET} navigate · ${DIM}enter${RESET} select · ${DIM}1-${runtimes.length}${RESET} quick select · ${DIM}esc${RESET} cancel`,
428
- ` ${CYAN}◆${RESET} ${BOLD}Launch ${title} with which assistant?${RESET}`,
428
+ ` ${CYAN}◆${RESET} ${BOLD}Launch ${title} with which harness?${RESET}`,
429
429
  "",
430
430
  ];
431
431
 
@@ -438,7 +438,7 @@ function runtimePickerLines(inst, runtimes, stored, cursor) {
438
438
  }
439
439
  // Coming-soon harnesses — shown for visibility, not selectable yet.
440
440
  for (const soon of ["Hermes", "Pi"]) {
441
- lines.push(` ${DIM}· ${pad(soon, labelWidth)} coming soon${RESET}`);
441
+ lines.push(` ${DIM}· ${soon} — Coming Soon${RESET}`);
442
442
  }
443
443
  lines.push("");
444
444
  return lines;
@@ -606,7 +606,7 @@ async function renderCodexStartupCard(egregoreDir) {
606
606
 
607
607
  function codexSupportMessage(egregoreDir) {
608
608
  return [
609
- "Codex assistant support is missing from this Egregore checkout.",
609
+ "Codex harness support is missing from this Egregore checkout.",
610
610
  ` path: ${egregoreDir}`,
611
611
  "",
612
612
  "This checkout needs a newer Egregore core with:",
@@ -815,9 +815,9 @@ function cmdHelp() {
815
815
  ` ${BOLD}${CYAN}egregore${RESET} ${DIM}launch and browse Egregore instances${RESET}`,
816
816
  ``,
817
817
  ` ${BOLD}USAGE${RESET}`,
818
- ` ${CYAN}egregore${RESET} pick an instance, then pick an assistant`,
819
- ` ${CYAN}egregore${RESET} ${DIM}<slug|name>${RESET} pick an assistant for the matching instance`,
820
- ` ${CYAN}egregore --runtime${RESET} ${DIM}<name> <slug>${RESET} advanced assistant override`,
818
+ ` ${CYAN}egregore${RESET} pick an instance, then pick a harness`,
819
+ ` ${CYAN}egregore${RESET} ${DIM}<slug|name>${RESET} pick a harness for the matching instance`,
820
+ ` ${CYAN}egregore --runtime${RESET} ${DIM}<name> <slug>${RESET} advanced harness override`,
821
821
  ` ${CYAN}egregore browse${RESET} force the full-screen browser`,
822
822
  ` ${CYAN}egregore ls${RESET} ${DIM}| list${RESET} list installed instances`,
823
823
  ` ${CYAN}egregore use${RESET} ${DIM}<slug>${RESET} set the default for bare ${BOLD}egregore${RESET}`,
@@ -1405,11 +1405,11 @@ function renderHeroPanel({ selected, pv, width, height, countSuffix, filter, fil
1405
1405
  `${BOLD}Available Skills${RESET}`,
1406
1406
  ...skillGroups,
1407
1407
  "",
1408
- `${BOLD}Assistants${RESET}`,
1408
+ `${BOLD}Harnesses${RESET}`,
1409
1409
  `${DIM}claude-code${RESET}: ${commandExists("claude") ? "installed" : "not installed"}`,
1410
1410
  `${DIM}codex${RESET}: ${commandExists("codex") ? "installed" : "not installed"}`,
1411
- `${DIM}hermes${RESET}: ${DIM}coming soon${RESET}`,
1412
- `${DIM}pi${RESET}: ${DIM}coming soon${RESET}`,
1411
+ `${DIM}Hermes — Coming Soon${RESET}`,
1412
+ `${DIM}Pi — Coming Soon${RESET}`,
1413
1413
  ];
1414
1414
  const rows = Math.max(EGREGORE_SIGIL.length + 2, right.length);
1415
1415
  for (let i = 0; i < rows; i++) {
@@ -1421,7 +1421,7 @@ function renderHeroPanel({ selected, pv, width, height, countSuffix, filter, fil
1421
1421
  lines.push(boxLine(`${BOLD}Available Skills${RESET}`, innerWidth, margin));
1422
1422
  for (const group of skillGroups) lines.push(boxLine(group, innerWidth, margin));
1423
1423
  lines.push(emptyBoxLine(innerWidth, margin));
1424
- lines.push(boxLine(`${BOLD}Assistants${RESET} ${DIM}claude-code${RESET} ${commandExists("claude") ? "installed" : "missing"} · ${DIM}codex${RESET} ${commandExists("codex") ? "installed" : "missing"} · ${DIM}hermes/pi coming soon${RESET}`, innerWidth, margin));
1424
+ lines.push(boxLine(`${BOLD}Harnesses${RESET} ${DIM}claude-code${RESET} ${commandExists("claude") ? "installed" : "missing"} · ${DIM}codex${RESET} ${commandExists("codex") ? "installed" : "missing"} · ${DIM}Hermes/Pi — Coming Soon${RESET}`, innerWidth, margin));
1425
1425
  }
1426
1426
 
1427
1427
  lines.push(emptyBoxLine(innerWidth, margin));
@@ -1440,7 +1440,7 @@ function renderRuntimePanel({ inst, cursor, width, height }) {
1440
1440
  const outerWidth = Math.min(Math.max(50, width - 2), 126);
1441
1441
  const innerWidth = Math.max(48, outerWidth - 2);
1442
1442
  const margin = " ".repeat(Math.max(0, Math.floor((width - outerWidth) / 2)));
1443
- const label = " assistant ";
1443
+ const label = " harness ";
1444
1444
  const lines = [
1445
1445
  `${margin}${DIM}┌${"─".repeat(2)}${label}${"─".repeat(Math.max(0, innerWidth - label.length - 2))}┐${RESET}`,
1446
1446
  emptyBoxLine(innerWidth, margin),
@@ -1459,7 +1459,7 @@ function renderRuntimePanel({ inst, cursor, width, height }) {
1459
1459
  }
1460
1460
  // Coming-soon harnesses — shown for visibility, not selectable yet.
1461
1461
  for (const soon of ["Hermes", "Pi"]) {
1462
- lines.push(boxLine(`${DIM}· ${pad(soon, 16)} coming soon${RESET}`, innerWidth, margin));
1462
+ lines.push(boxLine(`${DIM}· ${soon} — Coming Soon${RESET}`, innerWidth, margin));
1463
1463
  }
1464
1464
 
1465
1465
  lines.push(emptyBoxLine(innerWidth, margin));
@@ -1503,7 +1503,7 @@ async function browser(args = {}) {
1503
1503
  const newAction = {
1504
1504
  action: "new",
1505
1505
  label: "Set up a new Egregore",
1506
- description: "guided install, Telegram, invite, assistant setup",
1506
+ description: "guided install, Telegram, invite, harness setup",
1507
1507
  };
1508
1508
 
1509
1509
  const visible = () => {
@@ -1651,7 +1651,7 @@ async function browser(args = {}) {
1651
1651
  const label = (k) => `${DIM}${pad(k, 10)}${RESET}`;
1652
1652
  previewLines.push(` ${label("action")} ${BOLD}Set up a new Egregore${RESET}`);
1653
1653
  previewLines.push(` ${label("flow")} guided install, Telegram, invite, ready/start`);
1654
- previewLines.push(` ${label("assistant")} choose Claude Code or Codex during setup`);
1654
+ previewLines.push(` ${label("harness")} choose Claude Code or Codex during setup`);
1655
1655
  previewLines.push(` ${label("start")} press enter to begin`);
1656
1656
  } else if (!selected) {
1657
1657
  previewLines.push(`${DIM} (no selection)${RESET}`);
package/bin/cli.js CHANGED
@@ -148,10 +148,10 @@ async function chooseRuntime(args) {
148
148
  .sort((a, b) => Number(b.installed) - Number(a.installed));
149
149
  // Coming-soon harnesses — shown for visibility, not yet selectable.
150
150
  choices.push(
151
- { label: "Hermes (coming soon)", description: "Not yet available — pick Claude Code or Codex for now", runtime: "hermes", disabled: true },
152
- { label: "Pi (coming soon)", description: "Not yet available — pick Claude Code or Codex for now", runtime: "pi", disabled: true },
151
+ { label: "Hermes — Coming Soon", description: "", runtime: "hermes", disabled: true },
152
+ { label: "Pi — Coming Soon", description: "", runtime: "pi", disabled: true },
153
153
  );
154
- const choice = await ui.choose("Which assistant do you want to use?", choices);
154
+ const choice = await ui.choose("Which harness do you want to use?", choices);
155
155
  return choice.runtime;
156
156
  }
157
157
 
@@ -376,9 +376,9 @@ function showHelp() {
376
376
  ui.info(" --api <url> Use connected API setup with this URL");
377
377
  ui.info(" --codex Prefer Codex for this local install");
378
378
  ui.info(" --claude Prefer Claude Code for this local install");
379
- ui.info(" --runtime <name> Assistant override: claude-code or codex");
379
+ ui.info(" --runtime <name> Harness override: claude-code or codex");
380
380
  ui.info(" --force Skip the in-repo detection check");
381
- ui.info(" --no-autolaunch Don't launch the assistant at the end (for CI)");
381
+ ui.info(" --no-autolaunch Don't launch the harness at the end (for CI)");
382
382
  ui.info(" --no-screens Skip the full-screen welcome/ready bookends");
383
383
  ui.info(" -h, --help Show this help");
384
384
  ui.info("");
package/lib/local.js CHANGED
@@ -1252,7 +1252,7 @@ async function localFounderFlow(ui, ctx = {}) {
1252
1252
  ui.info(`${ui.green("●")} workspace ${setupSummary.workspace}`);
1253
1253
  ui.info(`${ui.green("●")} invite ${setupSummary.invite}`);
1254
1254
  ui.info(`${ui.green("●")} Telegram ${setupSummary.telegram}`);
1255
- ui.info(`${ui.green("●")} assistant ${setupSummary.assistant}`);
1255
+ ui.info(`${ui.green("●")} harness ${setupSummary.assistant}`);
1256
1256
  ui.info(`${ui.green("●")} next ${setupSummary.command}`);
1257
1257
  console.log("");
1258
1258
  for (const ws of workspaces) {
package/lib/setup.js CHANGED
@@ -530,7 +530,7 @@ async function install(data, ui, targetDir, opts = {}) {
530
530
  ui.info(`${ui.green("●")} workspace ${setupSummary.workspace}`);
531
531
  ui.info(`${ui.green("●")} invite ${setupSummary.invite}`);
532
532
  ui.info(`${ui.green("●")} Telegram ${setupSummary.telegram}`);
533
- ui.info(`${ui.green("●")} assistant ${setupSummary.assistant}`);
533
+ ui.info(`${ui.green("●")} harness ${setupSummary.assistant}`);
534
534
  ui.info(`${ui.green("●")} next ${setupSummary.command}`);
535
535
  console.log("");
536
536
  ui.info(`Your workspace:`);
@@ -756,7 +756,7 @@ async function renderCodexStartupCard(egregoreDir) {
756
756
 
757
757
  function codexSupportMessage(egregoreDir) {
758
758
  return [
759
- "Codex assistant support is missing from this Egregore checkout.",
759
+ "Codex harness support is missing from this Egregore checkout.",
760
760
  ` path: ${egregoreDir}`,
761
761
  "",
762
762
  "This checkout needs a newer Egregore core with:",
package/lib/ui.js CHANGED
@@ -757,7 +757,7 @@ function _renderWelcomeBody({ w, h, version }) {
757
757
  rightLines.push(`${DIM}files are yours · git is the source of truth${RESET}`);
758
758
  rightLines.push("");
759
759
  rightLines.push(`${BOLD}Next${RESET}`);
760
- rightLines.push(`${DIM}guided setup → choose an assistant${RESET}`);
760
+ rightLines.push(`${DIM}guided setup → choose a harness${RESET}`);
761
761
 
762
762
  const panelHeight = Math.max(leftLines.length, rightLines.length);
763
763
  while (leftLines.length < panelHeight) leftLines.push("");
@@ -830,7 +830,7 @@ async function summaryScreen({ orgName, workspaces = [], next = "start your firs
830
830
  ["workspace", setup.workspace || "created"],
831
831
  ["invite", setup.invite || "skipped"],
832
832
  ["Telegram", setup.telegram || "skipped"],
833
- ["assistant", setup.assistant || ""],
833
+ ["harness", setup.assistant || ""],
834
834
  ["next", setup.command || "egregore"],
835
835
  ].filter(([, value]) => value);
836
836
  lines.push(`${DIM}setup${RESET}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-egregore",
3
- "version": "0.18.12",
3
+ "version": "0.18.14",
4
4
  "description": "Set up Egregore for your team in one command — installs the egregore launcher and your choice of Claude Code or Codex.",
5
5
  "license": "MIT",
6
6
  "bin": {