@ekkos/cli 1.2.10 → 1.2.12

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.
@@ -1084,7 +1084,10 @@ async function run(options) {
1084
1084
  }
1085
1085
  }
1086
1086
  // Check PTY availability early (deterministic, no async race)
1087
- const loadedPty = await loadPty();
1087
+ // Windows: SKIP node-pty entirely. ConPTY corrupts Ink's cursor management sequences
1088
+ // (hide/show/move), causing ghost ▊ block cursor artifacts. Use stdio:'inherit' spawn
1089
+ // instead so Ink gets direct terminal access. Hooks still handle session tracking.
1090
+ const loadedPty = isWindows ? null : await loadPty();
1088
1091
  const usePty = loadedPty !== null;
1089
1092
  // ══════════════════════════════════════════════════════════════════════════
1090
1093
  // CONCURRENT STARTUP: Spawn Claude while animation runs
@@ -1134,7 +1137,10 @@ async function run(options) {
1134
1137
  // ══════════════════════════════════════════════════════════════════════════
1135
1138
  // STARTUP BANNER WITH COLOR PULSE ANIMATION
1136
1139
  // ══════════════════════════════════════════════════════════════════════════
1137
- const skipFancyIntro = process.env.EKKOS_REMOTE_SESSION === '1' || process.env.EKKOS_NO_SPLASH === '1';
1140
+ // Skip cursor-manipulation animations on Windows ConPTY + cmd /c can't handle rapid
1141
+ // cursor repositioning (\x1B[6A, \b, etc.), leaving the terminal in a dirty state that
1142
+ // causes Ink rendering artifacts in Claude Code. Use a clean static banner instead.
1143
+ const skipFancyIntro = isWindows || process.env.EKKOS_REMOTE_SESSION === '1' || process.env.EKKOS_NO_SPLASH === '1';
1138
1144
  if (!skipFancyIntro) {
1139
1145
  const logoLines = [
1140
1146
  ' ▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄ ▄▄',
@@ -1320,8 +1326,10 @@ async function run(options) {
1320
1326
  console.log('');
1321
1327
  }
1322
1328
  else {
1329
+ // Static banner for Windows / remote / no-splash — no cursor manipulation
1330
+ console.log('');
1331
+ console.log(chalk_1.default.hex('#FF6B35').bold(' ekkOS_Pulse') + chalk_1.default.gray(' — Context is finite. Intelligence isn\'t.'));
1323
1332
  console.log('');
1324
- console.log(chalk_1.default.cyan(' ekkOS remote session ready'));
1325
1333
  if (bypass) {
1326
1334
  console.log(chalk_1.default.yellow(' ⚡ Bypass permissions mode enabled'));
1327
1335
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ekkos/cli",
3
- "version": "1.2.10",
3
+ "version": "1.2.12",
4
4
  "description": "Setup ekkOS memory for AI coding assistants (Claude Code, Cursor, Windsurf)",
5
5
  "main": "dist/index.js",
6
6
  "bin": {