Skip to main content
When creating a Deskofy application, it is recommended to follow a structured directory layout to keep your project organized and maintainable. The proposed structure is as follows:
.
├── assets
   └── icons
       ├── linux.png
       ├── mac.icns
       └── windows.ico
├── html
   ├── not-allowed.html
   ├── offline.html
   └── splash-screen.html
├── src
   ├── mainPluginSample.ts
   └── rendererPluginSample.ts
├── .gitignore
├── .prettierrc
├── package.json
├── deskofy.config.json5
├── staging.deskofy.config.json5
├── production.deskofy.config.json5
├── eslint.config.mjs
└── tsconfig.json

Directory & File Description

  • assets/icons: Contains platform-specific icons for your application:
    • linux.png: Icon for Linux builds
    • mac.icns: Icon for macOS builds
    • windows.ico: Icon for Windows builds
  • html: Contains HTML pages used by the application in specific states:
    • not-allowed.html: Displayed when a page cannot be loaded or is disallowed
    • offline.html: Shown when the application is offline
    • splash-screen.html: Shown during the loading state of the application
  • src: Contains your custom Deskofy plugin code:
    • mainPluginSample.ts: Sample main process plugin
    • rendererPluginSample.ts: Sample renderer process plugin
  • .gitignore: Specifies files and directories to exclude from version control
  • .prettierrc: Configuration for Prettier code formatting
  • package.json: Node.js project configuration and dependencies
  • deskofy.config.json5: Default Deskofy configuration file for development
  • staging.deskofy.config.json5: Optional configuration for staging environment
  • production.deskofy.config.json5: Optional configuration for production environment
  • eslint.config.mjs: ESLint configuration file for linting rules
  • tsconfig.json: TypeScript configuration file
Following this structure ensures your Deskofy project is well-organized, scalable, and easy to maintain, making development and deployment more efficient.
I