import fs from 'fs';
import path from 'path';
/**
* 初回セットアップを補助するスクリプト
* .env.example があれば .env にコピーする (上書きはしない)
*/
const projectRoot = process.cwd();
const examplePath = path.join(projectRoot, '.env.example');
const envPath = path.join(projectRoot, '.env');
console.log('--- Initializing Environment ---');
if (fs.existsSync(examplePath)) {
if (!fs.existsSync(envPath)) {
fs.copyFileSync(examplePath, envPath);
console.log('✅ Created .env from .env.example');
} else {
console.log('ℹ️ .env already exists. Skipping copy.');
}
} else {
console.warn('⚠️ .env.example not found. Skipping initialization.');
}
console.log('\n--- Syncing Resources ---');
const resourceDir = path.join(projectRoot, 'resources');
if (!fs.existsSync(resourceDir)) {
fs.mkdirSync(resourceDir, { recursive: true });
}
// vec0.dll のコピー (インストーラー用同梱アセット)
const dllSrc = path.join(projectRoot, 'node_modules', 'sqlite-vec-windows-x64', 'vec0.dll');
const dllDest = path.join(resourceDir, 'vec0.dll');
if (fs.existsSync(dllSrc)) {
fs.copyFileSync(dllSrc, dllDest);
console.log('✅ Synced vec0.dll to resources/');
} else {
console.warn('⚠️ vec0.dll not found in node_modules. Make sure to run "bun install" first.');
}
console.log('--- Setup Script Complete ---\n');