Project Structure
/
├─ .github - GitHub files (only used for Vutron GitHub project contributions)
│ └─ ISSUE_TEMPLATE/
│ └─ resources/ - GitHub resources used for README.md, etc.
│ └─ workflows/ - GitHub workflows definition
│ └─ FUNDING.yml
├─ .vscode - Common project configuration files used by Visual Studio Code IDE
├─ buildAssets/ - Package resource (icon, logo, etc.) file used for Electron build
│ └─ builder/
│ │ │ └─ config.js - `electron-builder` dynamic configuration file
│ └─ icons/
├─ dist/ - Output directory used to build the package
├─ docs/ - Project documents (optionally enabled)
│ └─ src/
│ │ └─ .vitepress/
│ │ │ └─ config.mts - VitePress configuration file used for document hosting
│ │ └─ public/ - Root resource directory for VitePress documentation pages
├─ node_modules/
├─ src/
│ ├─ common/ - Code shared by the main and renderer processes
│ │ └─ ipc.ts - IPC channel names and payload types
│ │ └─ locales.ts - Supported languages and language tag matching
│ ├─ main/ - Main (Electron) process source code
│ │ ├─ utils/ - Main process utilities
│ │ │ └─ Constants.ts - Main global definition
│ │ │ └─ devTools.ts - When DevTools opens in a development build
│ │ │ └─ ipc.ts - IPC registration helpers typed against the channel contracts
│ │ │ └─ security.ts - Navigation and external link guards
│ │ └─ index.ts - Main process entry point
│ │ └─ index.dev.ts - Development-only setup, stripped from packaged builds
│ │ └─ IPCs.ts - Main process ipc handlers definition
│ │ └─ MainRunner.ts - Main process main window processing
│ │ └─ tray.ts - Tray icon and tray window handling
│ │ └─ WindowManager.ts - Windows opened on top of the main window
│ ├─ preload/ - Preload (Electron-Vue communication bridge) process source code
│ │ └─ index.ts
│ ├─ public/ - Main + Renderer static resources
│ │ └─ images/
│ ├─ renderer/ - Renderer (Vue) process source code
│ │ ├─ components/ - Vue components collection
│ │ │ └─ layout/ - Layout components
│ │ ├─ locales/ - Vue i18n language resource file
│ │ ├─ plugins/ - Vue plugin definition
│ │ ├─ router/ - Vue routing definition
│ │ ├─ screens/ - Vue screen component
│ │ │ └─ ErrorScreen.vue - Screen displayed when renderer process and routing errors occur
│ │ │ └─ MainScreen.vue
│ │ │ └─ SecondScreen.vue - Sample screen
│ │ ├─ store/ - Pinia store (Global state management) definition
│ │ ├─ utils/ - Renderer process utilities
│ │ ├─ App.vue - Vue app's root component
│ │ ├─ index.html - Root static index loaded by Electron renderer process
│ │ └─ main.ts - Renderer process entry point
│ ├─ mainApi.d.ts - Type of the `window.mainApi` bridge exposed by the preload
│ └─ vue-shim.d.ts - Type declaration for `*.vue` imports
├─ tests/ - Application test configuration
│ ├─ results/ - Where to save PlayWright test result files and screenshots
│ ├─ specs/ - PlayWright test spec file
│ ├─ fixtures.mts - Test common execution API
│ └─ testUtil.mts - Test utilities
├─ .editorconfig - Editor recommended configuration file for IDE
├─ .gitignore - List of files to not upload to Git
├─ .nvmrc - Node.js version used for development
├─ .prettierignore - List of files to disable Prettier file formatting
├─ .prettierrc - Prettier rule configurations
├─ CODE_OF_CONDUCT.md - Files used only on GitHub
├─ CONTRIBUTING.md - Contribution guide, used only on GitHub
├─ eslint.config.ts - ESLint rule configurations
├─ LICENSE - Project license file
├─ package.json - Node.js package configurations
├─ package-lock.json
├─ playwright.config.ts - Playwright test rules configurations
├─ pnpm-lock.yaml - PNPM Related Files
├─ pnpm-workspace.yaml - PNPM Related Files
├─ SECURITY.md - Security policy, used only on GitHub
├─ tsconfig.json - TypeScript configurations (renderer, common)
├─ tsconfig.node.json - TypeScript configurations (main, preload, common, tests)
├─ vite.config.mts - Vite compiler build configurations
└─ README.md - Files used only on GitHub