Complete API documentation for voltkit.
| Module | Description |
|---|---|
| App | Application lifecycle (createApp, getApp, VoltApp) |
| Window | Window management (BrowserWindow) |
| IPC | Inter-process communication (ipcMain, invoke) |
| Dialog | Native file and message dialogs |
| Clipboard | System clipboard read/write |
| Data | Native-backed data query and profiling helpers |
| File System | Sandboxed file operations |
| Menu | Application and context menus |
| Notification | OS-level notifications |
| Shell | URL opening in default browser |
| Tray | System tray icons |
| Global Shortcut | Global keyboard shortcuts |
| Updater | Auto-update with signature verification |
| Workflow | Native-backed workflow pipeline execution |
| Backend Runtime Modules | Backend-only Boa modules (volt:db, volt:http, volt:secureStorage) |
| Code Signing | macOS and Windows code signing for distribution |
Most modules require a permission declared in volt.config.ts:
| Module | Permission |
|---|---|
| Clipboard | 'clipboard' |
| Notification | 'notification' |
| Dialog | 'dialog' |
| File System | 'fs' |
Database (volt:db) |
'db' |
| Menu | 'menu' |
| Shell | 'shell' |
HTTP (volt:http) |
'http' |
| Global Shortcut | 'globalShortcut' |
| Tray | 'tray' |
Secure Storage (volt:secureStorage) |
'secureStorage' |
volt:db, volt:http, and volt:secureStorage are backend runtime modules used from src/backend.ts (Boa), not renderer-only APIs.
Modules without a permission requirement (App, Window, IPC, Data, Workflow, Updater) are always available.
Most framework APIs are exported from the voltkit package:
import {
createApp,
BrowserWindow,
ipcMain,
dialog,
clipboard,
fs,
Menu,
MenuItem,
Notification,
shell,
data,
Tray,
workflow,
globalShortcut,
autoUpdater,
defineConfig,
} from 'voltkit';Renderer-only helpers can also be imported from voltkit/renderer:
import { data, workflow, invoke } from 'voltkit/renderer';