Themes
Map Aero's design tokens to your own palette. Pure JSON, applied by trusted core — no code, no risk.
Build a theme
Ship themes, commands, keybindings and snippets to Aero — packaged into one .aero-ext file, published to the marketplace, installed in a click.
Aero is a deliberately lightweight, AI-ready code editor built on Electron — small enough to run ~10 instances on a Mac, with everything under your control. The extension system keeps that promise: v1 (the Lean MVP) ships exactly four contribution types, all of them small and predictable.
| Contribution | Carries code? | What it does |
|---|---|---|
| Themes | No | Recolor the UI + Monaco from Aero's design tokens. |
| Commands | Optional | Add palette entries; optional sandboxed JS behaviour. |
| Keybindings | No | Bind chords to commands (your own or built-in). |
| Snippets | No | Register VS Code-style snippets with Monaco completions. |
Three of the four are pure JSON and need no code, no main, and no activation events. Only commands may carry JS — and that JS runs in a sandbox that can, at worst, misuse the small aero.* surface.
A .aero-ext is a ZIP with an aero.json manifest at its root:
my-extension.aero-ext (zip)
├── aero.json # manifest (required, at root)
├── themes/dracula-warm.json # referenced by contributes.themes[].path
├── snippets/javascript.json # referenced by contributes.snippets[].path
└── extension.js # optional; sandboxed command logic (manifest.main)Its canonical id is "<publisher>.<name>" — e.g. ramya.dracula-warm — derived from the manifest, used as the registry primary key and the on-disk folder name.
New here? Start with Getting started to install Aero, scaffold an extension, and sideload it. Then dive into the manifest reference.