Skip to content

CryKitDesktop apps in Crystal.

Crystal state. HTML and CSS. Native macOS APIs.

Faceted teal crystal

CLI commands ​

CommandWhat it does
crykit init my_appGenerate an application with views, assets, config and a distribution recipe
crykit dev -wRun the app and watch for source changes
crykit build --releaseBuild an executable with embedded assets
crykit distPackage a macOS .app bundle
crykit --helpShow commands and options
crykit --versionPrint the CLI version

Install the CLI · All command options

Native APIs ​

ManagerAvailable features
app.windowsWindow creation, lookup, geometry, visibility, focus, events, file drops and drags
app.dialogsFile and directory pickers, messages, confirmations, custom-button questions
app.menusApplication menus, native roles, shortcuts, item state and action events
app.traysMenu-bar status items, icons, popup menus and click events
app.systemOS, screen information, accent color and file manager access

Application API · Full reference index

Guides ​

TaskRead
Create and run an applicationGetting started
Configure routes, assets and lifecycleApplication
Build interfaces and reactive stateViews · Templates
Run work outside the UI contextBackground jobs
Test and shipTesting · Distribution
Browse working applicationsExamples
Work on CryKitContributing · Architecture

Applications currently run on macOS. See prerequisites for Crystal and native build tools. Node.js is only needed for documentation or browser runtime development.

Built with Crystal. Documented with VitePress.