import 'dotenv/config'; import { ensureSpace } from './spaces.js'; import { importPlans } from './sources/plans.js'; import { importVoid1 } from './sources/void1.js'; import { importKarakeep } from './sources/karakeep.js'; import { importBookstack } from './sources/bookstack.js'; import { verify } from './verify.js'; const [, , cmd, ...rest] = process.argv; const dryRun = rest.includes('--dry-run'); const run = { async plans() { return importPlans({ dir: process.env.PLANS_DIR || '/root/.claude/plans', spaceId: await ensureSpace('plans', 'Plans'), dryRun }); }, async void1() { return importVoid1({ sqlitePath: process.env.VOID1_DB || '/tmp/void1.db', spaceId: await ensureSpace('void1', 'Void 1'), dryRun }); }, async karakeep() { return importKarakeep({ spaceId: await ensureSpace('bookmarks', 'Bookmarks'), dryRun }); }, async bookstack() { return importBookstack({ spaceId: await ensureSpace('wiki', 'Wiki'), dryRun }); }, async verify() { return verify(); } }; if (!run[cmd]) { console.error(`usage: node migrate/cli.js [--dry-run]`); process.exit(1); } run[cmd]().then(r => { console.log(JSON.stringify(r, null, 2)); process.exit(0); }) .catch(e => { console.error('migrate failed:', e.message); process.exit(1); });