Go to file
2026-06-07 16:03:12 +01:00
src finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
.env.example finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
.gitignore finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
index.html finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
index.tsx finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
metadata.json feat: Initialize Gemini V-Studio project setup 2025-11-20 20:45:25 +01:00
package.json Move to pnpm 2026-06-07 16:03:12 +01:00
pnpm-lock.yaml Move to pnpm 2026-06-07 16:03:12 +01:00
pnpm-workspace.yaml Move to pnpm 2026-06-07 16:03:12 +01:00
postcss.config.cjs finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
README.md finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
tailwind.config.cjs finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
tsconfig.json finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
types.ts finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00
vite.config.ts finally getting a dev version functioning locally... what a mess that was 2025-11-21 22:22:53 +00:00

Run locally

Prerequisites: Node.js (16+ recommended)

  1. Install dependencies:

    npm install

  2. Copy the example env and (optionally) add your Gemini API key:

    cp .env.example .env

    If you set GEMINI_API_KEY, the project can be wired to a real image generation backend. For local development, if the key is empty the app will show a placeholder generated image so the UI remains usable.

  3. Start the dev server:

    npm run dev

Run as an Electron app (local desktop)

  1. Install dev dependencies (if not already done):

    npm install

  2. Start the app in Electron (dev):

    npm run electron:dev

This runs Vite and then launches Electron pointed at the dev server. The renderer will use a preload bridge to ask the main process to perform avatar generation — you can extend the main process to call the @google/genai SDK safely.

Tailwind CSS and production

  • The app previously used the Tailwind CDN for convenience. For production we now build Tailwind locally using PostCSS (the project contains tailwind.config.cjs and postcss.config.cjs).

  • To build for production (or package with Electron), run:

    npm run build

  • If you need to customize Tailwind, edit tailwind.config.cjs and your global styles in src/styles.css.

Electron security note (CSP)

During development Electron warns about a permissive Content-Security-Policy (CSP). This is expected for dev, but before shipping an Electron app you must set a strict CSP and avoid unsafe-eval and unsafe-inline where possible. See: https://electronjs.org/docs/tutorial/security


Refactor notes

The repository was reorganized so renderer and electron-specific code live under src/:

  • src/renderer — React application and browser-only services/components
  • src/electron — main process, preload, and GenAI wrapper
  • src/shared — types and small shared artifacts

Vite alias @ now points to src/ so you can import shared files as @/shared/types.

Compatibility: root-level electron entry files were kept as small wrappers that forward to the src/electron files so existing scripts should still work.

If you want further adjustments (different folders or moving more files), tell me and I will apply them.