Skip to content

Aero ExtensionsExtend a lean, AI-ready editor.

Ship themes, commands, keybindings and snippets to Aero — packaged into one .aero-ext file, published to the marketplace, installed in a click.

Why extensions?

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.

ContributionCarries code?What it does
ThemesNoRecolor the UI + Monaco from Aero's design tokens.
CommandsOptionalAdd palette entries; optional sandboxed JS behaviour.
KeybindingsNoBind chords to commands (your own or built-in).
SnippetsNoRegister 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.

The shape of an extension

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.

Lean, AI-ready, under your control.