@phren/cli 0.0.3 → 0.0.4
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.
- package/mcp/dist/shell-render.js +26 -7
- package/package.json +1 -1
package/mcp/dist/shell-render.js
CHANGED
|
@@ -219,17 +219,36 @@ export function shellStartupFrames(version) {
|
|
|
219
219
|
const cols = process.stdout.columns || 80;
|
|
220
220
|
const tagline = style.dim("local memory for working agents");
|
|
221
221
|
const versionBadge = badge(`v${version}`, style.boldBlue);
|
|
222
|
+
if (cols >= 72) {
|
|
223
|
+
// Side-by-side: phren character on left, logo text on right
|
|
224
|
+
const phrenLines = PHREN_STARTUP;
|
|
225
|
+
const logoLines = PHREN_LOGO.map(line => gradient(line));
|
|
226
|
+
const infoLine = `${gradient("◆")} ${style.bold("phren")} ${versionBadge} ${tagline}`;
|
|
227
|
+
// Logo is 6 lines, pad to align vertically with character center
|
|
228
|
+
const rightSide = [
|
|
229
|
+
"", "", ...logoLines, "", infoLine,
|
|
230
|
+
];
|
|
231
|
+
// Merge side by side: character left (26 cols), logo right
|
|
232
|
+
const charWidth = 26;
|
|
233
|
+
const maxLines = Math.max(phrenLines.length, rightSide.length);
|
|
234
|
+
const merged = [""];
|
|
235
|
+
for (let i = 0; i < maxLines; i++) {
|
|
236
|
+
const left = (i < phrenLines.length ? phrenLines[i] : "").padEnd(charWidth);
|
|
237
|
+
const right = i < rightSide.length ? rightSide[i] : "";
|
|
238
|
+
merged.push(left + right);
|
|
239
|
+
}
|
|
240
|
+
merged.push("");
|
|
241
|
+
return [
|
|
242
|
+
// Frame 1: Logo with character side by side immediately
|
|
243
|
+
merged.join("\n"),
|
|
244
|
+
];
|
|
245
|
+
}
|
|
222
246
|
if (cols >= 56) {
|
|
247
|
+
// Medium terminal: stacked but compact
|
|
223
248
|
const logo = PHREN_LOGO.map(line => " " + gradient(line));
|
|
224
|
-
const phren = PHREN_STARTUP.map(line => " " + line);
|
|
225
249
|
const sep = gradient("━".repeat(Math.min(52, cols)));
|
|
226
250
|
return [
|
|
227
|
-
|
|
228
|
-
["", ...phren, "", ` ${versionBadge} ${tagline}`, ""].join("\n"),
|
|
229
|
-
// Frame 2: Full logo materializes with phren
|
|
230
|
-
["", ...phren, "", ...logo, "", ` ${versionBadge} ${tagline}`, ""].join("\n"),
|
|
231
|
-
// Frame 3: Complete with brand separator
|
|
232
|
-
["", ...phren, "", ...logo, ` ${sep}`, ` ${gradient("◆")} ${style.bold("phren")} ${versionBadge} ${tagline}`, ""].join("\n"),
|
|
251
|
+
["", ...logo, ` ${sep}`, ` ${gradient("◆")} ${style.bold("phren")} ${versionBadge} ${tagline}`, ""].join("\n"),
|
|
233
252
|
];
|
|
234
253
|
}
|
|
235
254
|
// Narrow terminal: progressive text reveal with gradient
|