feat: add logo

This commit is contained in:
Clelia (Astra) Bertelli
2025-12-15 17:29:58 +01:00
parent 870f77da67
commit 1733553c2a
3 changed files with 45 additions and 1 deletions
+2
View File
@@ -21,6 +21,7 @@
"devDependencies": {
"@anthropic-ai/sdk": "^0.71.2",
"@eslint/js": "^9.39.1",
"@types/figlet": "^1.7.0",
"@types/mime-types": "^3.0.1",
"@types/node": "^24.10.1",
"eslint": "^9.39.1",
@@ -38,6 +39,7 @@
"@modelcontextprotocol/sdk": "^1.24.3",
"@visulima/colorize": "^1.4.29",
"agentfs-sdk": "^0.2.1",
"figlet": "^1.9.4",
"llama-cloud-services": "^0.4.3",
"mime-types": "^3.0.2",
"zod": "3.25.76"
+41
View File
@@ -1,4 +1,6 @@
import * as readline from "readline/promises";
import figlet from "figlet";
import { magentaBright, bold, gray } from "@visulima/colorize";
export async function consoleInput(question: string): Promise<string> {
const rl = readline.createInterface({
@@ -10,3 +12,42 @@ export async function consoleInput(question: string): Promise<string> {
rl.close();
return answer;
}
export async function renderLogo(): Promise<void> {
const logoText = figlet.textSync("agentfs", {
font: "ANSI Shadow",
horizontalLayout: "default",
verticalLayout: "default",
width: 100,
whitespaceBreak: true,
});
const logoTextDash = figlet.textSync("-", {
font: "ANSI Shadow",
horizontalLayout: "default",
verticalLayout: "default",
width: 100,
whitespaceBreak: true,
});
const logoTextClaude = figlet.textSync("claude", {
font: "ANSI Shadow",
horizontalLayout: "default",
verticalLayout: "default",
width: 100,
whitespaceBreak: true,
});
// Add some styling with picocolors
const styledLogo = bold(magentaBright(logoText));
const styledLogoDash = bold(magentaBright(logoTextDash));
const styledLogoClaude = bold(magentaBright(logoTextClaude));
// Add some padding/margin
console.log("\n");
console.log(styledLogo);
console.log(styledLogoDash);
console.log(styledLogoClaude);
console.log(gray("─".repeat(60)));
console.log("\n");
}
+2 -1
View File
@@ -5,7 +5,7 @@ import { getAgentFS } from "./mcp";
import { Agent } from "./claude";
import { queryOptions } from "./options";
import { bold } from "@visulima/colorize";
import { consoleInput } from "./cli";
import { consoleInput, renderLogo } from "./cli";
import * as fs from "fs";
async function main() {
@@ -26,6 +26,7 @@ async function main() {
const agentFs = await getAgentFS({});
workflow.handle([startEvent], async (_context, event) => {
await renderLogo();
if (notFromScratch) {
return filesRegisteredEvent.with();
}