- Add interactive HTML export with D3.js force-directed graph - Add SVG export with simple force-directed layout - Add Mermaid diagram export for documentation - Support subgraph export from root node with depth - Add node filtering by kind and tags - Add light/dark theme support - Add CLI commands: export, viz - Add MCP tool: memory_export
69 lines
2.5 KiB
JavaScript
69 lines
2.5 KiB
JavaScript
#!/usr/bin/env node
|
|
import { Command } from 'commander';
|
|
import { addCommand } from './commands/add';
|
|
import { queryCommand } from './commands/query';
|
|
import { linkCommand } from './commands/link';
|
|
import { showCommand } from './commands/show';
|
|
import { listCommand } from './commands/list';
|
|
import { updateCommand } from './commands/update';
|
|
import { removeCommand } from './commands/remove';
|
|
import { graphCommand } from './commands/graph';
|
|
import { serveCommand } from './commands/serve';
|
|
import { decayCommand } from './commands/decay';
|
|
import { childrenCommand } from './commands/children';
|
|
import { historyCommand } from './commands/history';
|
|
import { diffCommand } from './commands/diff';
|
|
import { restoreCommand } from './commands/restore';
|
|
import { captureCommand, captureHookCommand, configCommand } from './commands/capture';
|
|
import { contextCommand, contextHookCommand } from './commands/context';
|
|
import { indexCommand } from './commands/index-cmd';
|
|
import { journalCommand, journalAliasCommand, quickCaptureCommand } from './commands/journal';
|
|
import { ingestCommand, clipCommand } from './commands/ingest';
|
|
import { exportCommand, vizCommand } from './commands/export';
|
|
import { closeDb } from '../core/db';
|
|
|
|
const program = new Command();
|
|
|
|
program
|
|
.name('cortex')
|
|
.description('Cortex — AI project memory & knowledge graph\n\nStore, link, and search project knowledge as a graph of typed nodes.')
|
|
.version('1.0.0');
|
|
|
|
program.addCommand(addCommand);
|
|
program.addCommand(queryCommand);
|
|
program.addCommand(linkCommand);
|
|
program.addCommand(showCommand);
|
|
program.addCommand(listCommand);
|
|
program.addCommand(updateCommand);
|
|
program.addCommand(removeCommand);
|
|
program.addCommand(graphCommand);
|
|
program.addCommand(serveCommand);
|
|
program.addCommand(decayCommand);
|
|
program.addCommand(childrenCommand);
|
|
program.addCommand(historyCommand);
|
|
program.addCommand(diffCommand);
|
|
program.addCommand(restoreCommand);
|
|
program.addCommand(captureCommand);
|
|
program.addCommand(captureHookCommand);
|
|
program.addCommand(contextCommand);
|
|
program.addCommand(contextHookCommand);
|
|
program.addCommand(configCommand);
|
|
program.addCommand(indexCommand);
|
|
program.addCommand(journalCommand);
|
|
program.addCommand(journalAliasCommand);
|
|
program.addCommand(quickCaptureCommand);
|
|
program.addCommand(ingestCommand);
|
|
program.addCommand(clipCommand);
|
|
program.addCommand(exportCommand);
|
|
program.addCommand(vizCommand);
|
|
|
|
program.hook('postAction', () => {
|
|
closeDb();
|
|
});
|
|
|
|
program.parseAsync(process.argv).catch((err) => {
|
|
console.error(err);
|
|
closeDb();
|
|
process.exit(1);
|
|
});
|