Aglet

Build your own tools with AI — no native code. Use them, or share them.

macOSiOS (coming)Android (coming)Web (coming)

What is Aglet?

Aglet is an agent-first platform for building small, focused tools — aglets. You build them with AI: describe what you want, the agent writes it, and Aglet renders the result with native quality — SwiftUI on macOS, and on the web. No Swift, no Kotlin, no native code.

Keep an aglet for yourself, or share it. Every public aglet joins the catalog through a human-reviewed GitHub pull request. Everything runs on your device — data in a local SQLite database, no account, no telemetry.

Built with Aglet

A few tools already in the catalog — each built this way, shared in public.

HN ReaderHacker News, AI-translated
GitHub PRsyour review queue + open PRs
GitHub Actionswatch and run CI
AI Token UsageClaude + Codex, in the menu bar
…and moregrowing in public

Why Aglet

No native code

Describe the UI as data, plus optional sandboxed JavaScript. Aglet renders it natively — SwiftUI on macOS — so it feels like an Apple app without a line of Swift.

Agent-first

Aglets are small and declarative — exactly what an AI agent can author end to end. Most aglets are AI-written and human-reviewed.

Yours, or shared

Run an aglet privately, or publish it. Public aglets join the catalog via GitHub PR — author, source, and reviewer all visible.

Local-first & sandboxed

Everything runs on your device in local SQLite. Logic runs in a sandboxed interpreter; any network or system access is declared and visible before install.

Build your first tool

Paste this into Claude or Codex. It installs Aglet, learns the framework, and builds you a working hello-world tool:

Install Aglet and build me a hello-world tool.

1. Install the CLI:  brew install aglet-dev/tap/aglet
2. Load the authoring guide — run `aglet agents-md` and read it in full.
3. Check the setup:  aglet doctor
4. Scaffold a new tool:  aglet new hello
5. Rewrite hello/ui.tsx as a minimal "Hello, world" screen: a Page with a
   heading and a button that shows a toast.
6. Validate it:  aglet validate hello
7. Install the app (it hosts the live dev window):
     curl -fsSL https://cdn.aglet.dev/dist/Aglet.dmg -o /tmp/Aglet.dmg
     hdiutil attach /tmp/Aglet.dmg -nobrowse -quiet
     ditto "/Volumes/Aglet/Aglet.app" /Applications/Aglet.app
     hdiutil detach "/Volumes/Aglet" -quiet
     open -a Aglet
8. Run it live:  aglet dev hello

Keep it minimal and idiomatic. If a step fails, run `aglet doctor` and fix
what it reports.

Prefer to do it by hand?

Install the CLI (and grab the app above), then:

# Scaffold a new aglet (aglet.json + ui.tsx + locales)
aglet new hello

# Edit ui.tsx, then validate offline
aglet validate hello

# Run it live in the app, with hot reload
aglet dev hello

Full authoring reference: run aglet agents-md, or read the source.

Get it

Run aglets with the app, or build your own with the CLI:

# App — download the signed .dmg, drag to Applications:
# https://cdn.aglet.dev/dist/Aglet.dmg

# CLI — author, install and test your own aglets:
brew install aglet-dev/tap/aglet

The app self-updates via Sparkle. iOS / Android coming. Build from source: github.com/aglet-dev/aglet.