import { Command } from 'commander'; import chalk from 'chalk'; import { findNodeByPrefix } from '../../core/store'; import { buildTree, renderTree } from '../../core/graph'; export const graphCommand = new Command('graph') .argument('[id]', 'Root node ID (or prefix). Omit for full graph.') .description('Visualize the knowledge graph as a tree') .action(async (idRaw?: string) => { let rootId: string | undefined; if (idRaw) { const node = findNodeByPrefix(idRaw); if (!node) { console.error(chalk.red(`Node not found: ${idRaw}`)); process.exit(1); } rootId = node.id; } const trees = buildTree(rootId); if (trees.length === 0) { console.log(chalk.yellow('Graph is empty.')); return; } console.log(renderTree(trees)); });