File Dialog Abstraction

Cross-platform file dialog implementation for open, save, and directory selection

a5c-ai Updated 1.7k repo stars

File contents

file-dialog-abstraction

Implement cross-platform file dialogs for open, save, and directory selection with consistent API across Windows, macOS, and Linux.

Capabilities

  • Open file dialogs
  • Save file dialogs
  • Directory selection dialogs
  • Multiple file selection
  • File type filters
  • Default paths and names
  • Recent locations support

Input Schema

{
  "type": "object",
  "properties": {
    "projectPath": { "type": "string" },
    "framework": { "enum": ["electron", "tauri", "qt", "wpf"] },
    "dialogTypes": { "type": "array" }
  },
  "required": ["projectPath"]
}

Electron Example

const { dialog } = require('electron');

async function openFile() {
    const result = await dialog.showOpenDialog({
        properties: ['openFile', 'multiSelections'],
        filters: [
            { name: 'Documents', extensions: ['pdf', 'docx'] },
            { name: 'All Files', extensions: ['*'] }
        ]
    });
    return result.filePaths;
}

Related Skills

  • file-watcher-setup
  • file-system-integration process

a5c-ai/babysitter/tree/main/library/specializations/desktop-development/skills/file-dialog-abstraction commit 1cee95250b

Frequently asked questions

npx skillmds@latest add a5c-ai/file-dialog-abstraction