Files
photoai/package.json
T
koriweb 8a8c10248c Initial commit: AI Photo Organizer (Electron + face-api)
Local-first photo organizer that auto-sorts images by face recognition
and EXIF capture date.

- Electron app with 3-process split: Main (Node) / UI Renderer (React) /
  hidden Inference Renderer (face-api + WebGL)
- Core pipeline: scan -> face match + EXIF -> path build -> atomic move/copy
- Move = copy -> verify -> delete; auto-rename on filename collision
- 1st-registered profile = move, others = copy; unmatched -> [미정]/YYYY/MM
- EXIF date with mtime fallback
- Vitest unit tests (pathBuilder / fileOps / concurrency) all green
- electron-builder config for Windows (nsis) + macOS (dmg)
- Docs: PRD / DECISIONS / ARCHITECTURE

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 13:36:40 +09:00

47 lines
1.5 KiB
JSON

{
"name": "ai-photo-organizer",
"version": "0.1.0",
"description": "Local-first AI photo organizer — face recognition + EXIF based auto archiving",
"author": "PhotoAI",
"license": "MIT",
"main": "./out/main/index.js",
"scripts": {
"dev": "electron-vite dev",
"build": "electron-vite build",
"start": "electron-vite preview",
"typecheck:node": "tsc --noEmit -p tsconfig.node.json",
"typecheck:web": "tsc --noEmit -p tsconfig.web.json",
"typecheck": "npm run typecheck:node && npm run typecheck:web",
"test": "vitest run",
"test:watch": "vitest",
"models:download": "node scripts/download-models.mjs",
"pack": "electron-vite build && electron-builder --dir",
"dist": "electron-vite build && electron-builder",
"dist:win": "electron-vite build && electron-builder --win",
"dist:mac": "electron-vite build && electron-builder --mac",
"dist:all": "electron-vite build && electron-builder --win --mac"
},
"dependencies": {
"@vladmandic/face-api": "^1.7.13",
"exifr": "^7.1.3",
"zustand": "^4.5.5"
},
"devDependencies": {
"@types/node": "^20.16.0",
"@types/react": "^18.3.5",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react": "^4.3.1",
"autoprefixer": "^10.4.20",
"electron": "^33.0.0",
"electron-builder": "^25.1.8",
"electron-vite": "^2.3.0",
"postcss": "^8.4.47",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"tailwindcss": "^3.4.13",
"typescript": "^5.5.4",
"vite": "^5.4.8",
"vitest": "^2.1.1"
}
}