diff --git a/package.json b/package.json index 057ad51..2fccdb1 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "license": "ISC", "scripts": { "test": "bun test test/**/*.test.js", - "setup": "pwsh -File scripts/setup-llama-server-vulkan.ps1 && pwsh -File scripts/setup-model.ps1", + "setup": "node scripts/init-env.js && pwsh -File scripts/setup-llama-server-vulkan.ps1 && pwsh -File scripts/setup-model.ps1", "dev": "tauri --config src/backend/tauri.conf.json dev", "build": "tauri --config src/backend/tauri.conf.json build", "tauri": "tauri --config src/backend/tauri.conf.json", diff --git a/scripts/init-env.js b/scripts/init-env.js new file mode 100644 index 0000000..2c51a7b --- /dev/null +++ b/scripts/init-env.js @@ -0,0 +1,26 @@ +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('--- Environment Initialization Complete ---\n');