Show HN: Krate, AI-made apps as permissioned files for Mac, Windows, and Linux Krate, an open-source tool in pre-alpha, lets users create AI-generated apps packaged as single .krate files that run on Mac, Windows, and Linux with user-permissioned access. The tool, built by developer Incy Yash Raj, aims to simplify sharing small AI-made apps by bundling the app and its requested system access into one cross-platform file that shows permissions before execution. Make apps with AI. Share them like documents. One app file that opens on Mac, Windows, and Linux. The user sees what it wants to access before it runs. Website https://incyashraj.github.io/krate/ · Try Notes https://incyashraj.github.io/krate/docs/try-krate-notes.html · Make an app https://incyashraj.github.io/krate/docs/pages/make-an-app-with-ai.html · Docs https://incyashraj.github.io/krate/docs/quickstart.html · Releases https://github.com/incyashraj/krate/releases · Discussions https://github.com/incyashraj/krate/discussions AI can make useful small apps for one person or one team. Sharing those apps is still hard. A browser link cannot handle every local use case. A normal desktop app can, but it is tied to an operating system and may reach more of the computer than the user expects. Krate uses a simpler app format: - The app and the access it requests go into one .krate file. - The same file opens on Mac, Windows, and Linux. - Krate shows the requested access before the app runs. - The app receives only the access the user allows. request ↓ checklist.krate ↓ review access ↓ open on Mac, Windows, or Linux Krate is open source and currently in pre-alpha. Install the command line tool on macOS or Linux: curl -fsSL https://raw.githubusercontent.com/incyashraj/krate/main/scripts/install.sh | sh Check the installation: krate --version Run the public Notes app: krate run \ https://github.com/incyashraj/krate/releases/download/notes-v0.1.0/notes.krate \ --native-window \ --prompt Krate fetches the file, shows what it requests, and runs it with the access you approve. For a guided walkthrough, use Try Krate Notes https://incyashraj.github.io/krate/docs/try-krate-notes.html . Download the krate-app zip for your Mac from the current release https://github.com/incyashraj/krate/releases/tag/v0.1.0-rc4 . Unzip Krate.app , then download notes.krate https://github.com/incyashraj/krate/releases/download/notes-v0.1.0/notes.krate . The current app is not signed. On first open: - Right-click Krate.app . - Choose Open . - Double-click notes.krate . The macOS permission window appears before the Notes app runs. Download the newest x86 64-pc-windows-msvc.zip from Releases https://github.com/incyashraj/krate/releases , extract krate.exe , and place its folder on your PATH . Then: krate --version krate run https://github.com/incyashraj/krate/releases/download/notes-v0.1.0/notes.krate --native-window --prompt Windows file association support is available through scripts/install-krate-desktop.ps1 /incyashraj/krate/blob/main/scripts/install-krate-desktop.ps1 . After installing krate , register .krate files for your current user: git clone https://github.com/incyashraj/krate cd krate scripts/install-krate-desktop.sh You can then open a .krate file from your file manager. The current release includes krate create . It turns a supported request into a complete .krate file: krate create \ "Make a checklist app that saves locally" \ --output checklist.krate Krate writes the app, builds it, checks what system features it uses, packages it, and confirms that denied access is blocked before writing the file. The public release has two built-in examples: - a checklist app with local saving; - a command line word-frequency app. Creating an app currently needs Rust, the wasm32-wasip1 target, and cargo-component . Check your machine with: krate doctor The full guide is Make and share a Krate app https://incyashraj.github.io/krate/docs/pages/make-an-app-with-ai.html . The built-in examples prove the complete path, but an AI coding agent can write the app from your request instead. With Claude Code installed and signed in: krate create \ "A grocery list app called My Groceries" \ --agent claude \ --output groceries.krate Krate hands the request to the agent, then builds, checks, packages, and verifies exactly as with the built-in path — a broken app is caught, not shipped. For any other tool, --author-cmd "