M12: Browser Extension - Chrome/Edge Manifest V3 extension - Popup UI for saving pages - Context menu integration (save page/selection/link) - Background service worker - Content script for extraction M13: Shell Completions - Bash, Zsh, Fish, PowerShell completions - Dynamic node ID completion - Dynamic tag completion - Dynamic graph completion - Auto-install command (--install)
96 lines
3.7 KiB
JavaScript
96 lines
3.7 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 { importCommand } from './commands/import';
|
|
import { backupCommand, restoreDbCommand, listBackupsCommand } from './commands/backup-cmd';
|
|
import { graphsCommand, useCommand, initCommand } from './commands/graphs';
|
|
import { smartSearchCommand, ssCommand, whatCommand, contextAwareCommand } from './commands/smart';
|
|
import { tuiCommand, uiCommand } from './commands/tui';
|
|
import { completionsCommand, getNodesCommand, getTagsCommand, getGraphsCommand } from './commands/completions';
|
|
import { closeDb } from '../core/db';
|
|
import { migrateOldDatabase } 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.addCommand(importCommand);
|
|
program.addCommand(backupCommand);
|
|
program.addCommand(restoreDbCommand);
|
|
program.addCommand(listBackupsCommand);
|
|
program.addCommand(graphsCommand);
|
|
program.addCommand(useCommand);
|
|
program.addCommand(initCommand);
|
|
program.addCommand(smartSearchCommand);
|
|
program.addCommand(ssCommand);
|
|
program.addCommand(whatCommand);
|
|
program.addCommand(contextAwareCommand);
|
|
program.addCommand(tuiCommand);
|
|
program.addCommand(uiCommand);
|
|
program.addCommand(completionsCommand);
|
|
program.addCommand(getNodesCommand);
|
|
program.addCommand(getTagsCommand);
|
|
program.addCommand(getGraphsCommand);
|
|
|
|
// Check for old database migration
|
|
migrateOldDatabase();
|
|
|
|
program.hook('postAction', () => {
|
|
closeDb();
|
|
});
|
|
|
|
program.parseAsync(process.argv).catch((err) => {
|
|
console.error(err);
|
|
closeDb();
|
|
process.exit(1);
|
|
});
|