{
  "name": "desktop",
  "description": "Cross-platform desktop app using Electron with React",
  "type": "app",
  "variables": [
    {
      "name": "appName",
      "type": "string",
      "required": true,
      "description": "Name of the desktop app (e.g., admin-desktop, toolbox)"
    },
    {
      "name": "displayName",
      "type": "string",
      "required": true,
      "description": "Display name of the app as shown to users"
    },
    {
      "name": "appId",
      "type": "string",
      "required": true,
      "description": "Application ID (e.g., com.vibes.desktop)",
      "default": "com.vibes.{{appName}}"
    },
    {
      "name": "includeAutoUpdater",
      "type": "boolean",
      "default": true,
      "description": "Include auto-updater support"
    },
    {
      "name": "includeSystemTray",
      "type": "boolean",
      "default": false,
      "description": "Include system tray support"
    },
    {
      "name": "includeMenuBar",
      "type": "boolean",
      "default": true,
      "description": "Include custom menu bar"
    },
    {
      "name": "includeIpc",
      "type": "boolean",
      "default": true,
      "description": "Include IPC communication examples"
    },
    {
      "name": "includeDarkMode",
      "type": "boolean",
      "default": true,
      "description": "Include dark mode support"
    }
  ],
  "files": [
    {
      "source": "package.json.hbs",
      "destination": "package.json"
    },
    {
      "source": "tsconfig.json.hbs",
      "destination": "tsconfig.json"
    },
    {
      "source": "forge.config.ts.hbs",
      "destination": "forge.config.ts"
    },
    {
      "source": "webpack.main.config.ts.hbs",
      "destination": "webpack.main.config.ts"
    },
    {
      "source": "webpack.renderer.config.ts.hbs",
      "destination": "webpack.renderer.config.ts"
    },
    {
      "source": "webpack.plugins.ts.hbs",
      "destination": "webpack.plugins.ts"
    },
    {
      "source": "webpack.rules.ts.hbs",
      "destination": "webpack.rules.ts"
    },
    {
      "source": ".eslintrc.json.hbs",
      "destination": ".eslintrc.json"
    },
    {
      "source": "gitignore.hbs",
      "destination": ".gitignore"
    },
    {
      "source": "README.md.hbs",
      "destination": "README.md"
    },
    {
      "source": "src/main/index.ts.hbs",
      "destination": "src/main/index.ts"
    },
    {
      "source": "src/main/preload.ts.hbs",
      "destination": "src/main/preload.ts"
    },
    {
      "source": "src/main/window.ts.hbs",
      "destination": "src/main/window.ts"
    },
    {
      "source": "src/main/menu.ts.hbs",
      "destination": "src/main/menu.ts",
      "condition": "includeMenuBar"
    },
    {
      "source": "src/main/tray.ts.hbs",
      "destination": "src/main/tray.ts",
      "condition": "includeSystemTray"
    },
    {
      "source": "src/main/updater.ts.hbs",
      "destination": "src/main/updater.ts",
      "condition": "includeAutoUpdater"
    },
    {
      "source": "src/main/ipc.ts.hbs",
      "destination": "src/main/ipc.ts",
      "condition": "includeIpc"
    },
    {
      "source": "src/renderer/index.tsx.hbs",
      "destination": "src/renderer/index.tsx"
    },
    {
      "source": "src/renderer/App.tsx.hbs",
      "destination": "src/renderer/App.tsx"
    },
    {
      "source": "src/renderer/index.css.hbs",
      "destination": "src/renderer/index.css"
    },
    {
      "source": "src/renderer/preload.d.ts.hbs",
      "destination": "src/renderer/preload.d.ts"
    },
    {
      "source": "src/renderer/components/TitleBar.tsx.hbs",
      "destination": "src/renderer/components/TitleBar.tsx"
    },
    {
      "source": "src/renderer/hooks/useDarkMode.ts.hbs",
      "destination": "src/renderer/hooks/useDarkMode.ts",
      "condition": "includeDarkMode"
    },
    {
      "source": "src/renderer/hooks/useIpc.ts.hbs",
      "destination": "src/renderer/hooks/useIpc.ts",
      "condition": "includeIpc"
    },
    {
      "source": "src/shared/types.ts.hbs",
      "destination": "src/shared/types.ts"
    },
    {
      "source": "src/shared/constants.ts.hbs",
      "destination": "src/shared/constants.ts"
    },
    {
      "source": "src/index.html.hbs",
      "destination": "src/index.html"
    },
    {
      "source": "assets/icon.png",
      "destination": "assets/icon.png"
    },
    {
      "source": "assets/icon.icns",
      "destination": "assets/icon.icns"
    },
    {
      "source": "assets/icon.ico",
      "destination": "assets/icon.ico"
    }
  ]
}