# A Go editor for macOS, built light.
gopls in every surface, Bazel rules_go and nogo, a debugger, tests, a terminal and remote folders over SSH. On a small Go module it uses about a third of the memory VS Code does (perf.md).
## Install
brew install --cask s7i-labs/tap/aeroOr download the DMG (0.2.0) · Apple silicon · macOS 14 Sonoma or later
## Look around
This page is laid out like Aero. Open a file in the tree, or press ⌘K to jump between them. demo/shortlink runs the real app, right here.
# Measured against VS Code
Aero canary vs VS Code 1.144.0 + Go extension 0.58.0, both on gopls v0.24.0 and Go 1.27.2, on an Apple Silicon Mac (darwin arm64), 2026-11-02. Every row we measured is here, including the ones VS Code wins.
## Small module: the shortlink demo module, 7 Go files
| Lower is better | Aero | VS Code |
|---|---|---|
| Memory, all processes (steady) | 314 MB | 959 MB |
| Memory, all processes (peak) | 318 MB | 1337 MB |
| Idle CPU | 3.2 % | 7 % |
| Processes | 8 | 13 |
| Cold start → file shown | 772 ms | 811 ms |
| Keystroke → paint | 14 ms | 14 ms |
| ⌘P → first results | 15 ms | 22 ms |
| Find in files → first results | 41 ms | 23 ms |
## Large repo: kubernetes v1.37.1, ~18k Go files
| Lower is better | Aero | VS Code |
|---|---|---|
| Memory, all processes (steady)Mostly gopls: Aero runs fewer analyzers by default (staticcheck and modernize off) | 1293 MB | 2415 MB |
| Memory, all processes (peak) | 1492 MB | 4138 MB |
| Idle CPU | 4.4 % | 11 % |
| Processes | 8 | 13 |
| Cold start → file shown | 846 ms | 790 ms |
| Keystroke → paint | 11 ms | 4 ms |
| ⌘P → first results | 33 ms | 23 ms |
| Find in files → first results | 157 ms | 179 ms |
| Open a 9.4k-line file → painted | 94 ms | 74 ms |
## Download and load
| Lower is better | Aero | VS Code |
|---|---|---|
| App on diskVS Code: + 13 MB Go extension | 71 MB | 902 MB |
| UI code at startup, gzip | 0.31 MB | 5.5 MB |
## Method
Medians of 5 runs (kubernetes: 3). Memory is the macOS footprint of every process each app is responsible for, gopls included, sampled every 15 s for 4–5 minutes after the workspace loads: steady is the median of the last minute, peak the highest sample. Idle CPU averaged over the 60 s after that. Interactions: 250 keystrokes, 5 tries of the rest.

gopls hover and Problems. A screenshot of the real app on the demo module.

Stopped at a breakpoint. A screenshot of the real app on the demo module.

go test results. A screenshot of the real app on the demo module.

The terminal. A screenshot of the real app on the demo module.

Find in files. A screenshot of the real app on the demo module.