#!/usr/bin/env node /** * AgentKits Memory — Unified CLI Router * * Routes subcommands to the appropriate handler module. * Enables clean `npx @aitytech/agentkits-memory ` usage. * * Subcommands: * setup Setup memory for your project (default) * server Start the MCP server * web Start the web viewer * viewer Terminal viewer * save Save a memory entry * hook Run a hook event (context, session-init, observation, summarize, etc.) * * Examples: * npx @aitytech/agentkits-memory # setup (default) * npx @aitytech/agentkits-memory setup --force # setup with options * npx @aitytech/agentkits-memory server # start MCP server * npx @aitytech/agentkits-memory web # start web viewer * npx @aitytech/agentkits-memory hook context # run hook * npx @aitytech/agentkits-memory save "..." --tags x # save entry * * @module @aitytech/agentkits-memory/cli/main */ const subcommand = process.argv[2]; const restArgs = process.argv.slice(3); // Rewrite process.argv so submodules see correct args via process.argv.slice(2) function rewriteArgv(args: string[]): void { process.argv = [process.argv[0], process.argv[1], ...args]; } // If no subcommand or subcommand starts with '--', treat as setup const isSetupDefault = !subcommand || subcommand.startsWith('--'); switch (isSetupDefault ? 'setup' : subcommand) { case 'setup': rewriteArgv(isSetupDefault && subcommand ? [subcommand, ...restArgs] : restArgs); await import('./setup.js'); break; case 'server': rewriteArgv(restArgs); await import('../mcp/server.js'); break; case 'web': rewriteArgv(restArgs); await import('./web-viewer.js'); break; case 'viewer': rewriteArgv(restArgs); await import('./viewer.js'); break; case 'save': rewriteArgv(restArgs); await import('./save.js'); break; case 'hook': rewriteArgv(restArgs); await import('../hooks/cli.js'); break; case 'help': case '--help': case '-h': console.log(` AgentKits Memory — Persistent memory for AI coding assistants Usage: npx @aitytech/agentkits-memory [options] Commands: setup Configure memory for your project (default) server Start the MCP server web Start the web viewer (port 1905) viewer Terminal viewer for memory database save Save a memory entry from CLI hook Run a hook event Examples: npx @aitytech/agentkits-memory # setup npx @aitytech/agentkits-memory setup --platform=all # setup all platforms npx @aitytech/agentkits-memory server # start MCP server npx @aitytech/agentkits-memory web # web viewer npx @aitytech/agentkits-memory hook context # run context hook npx @aitytech/agentkits-memory save "Use JWT" --tags auth Docs: https://agentkits.net/memory `); break; default: console.error(`Unknown command: ${subcommand}`); console.error('Run "npx @aitytech/agentkits-memory help" for usage.'); process.exit(1); }