Free & open source · MIT

The editor you can
read in an afternoon.

A small, beautiful code editor in the spirit of Atom. Every feature is a package, and you can change any of them while it runs.

macOS (Apple Silicon & Intel) · Windows · Linux · free and open source

curl -fsSL https://mikemich.github.io/minimide/install.sh | sh

Your editor should be yours.

Atom made hacking your tools feel fun. Editors have since grown into platforms nobody fully understands: you can configure them, but you can't really change them. Minimide is small enough to own.

~5k

Lines in the core

Plain JavaScript. No framework, no build magic. Every line that runs is one you can read.

42

Built-in packages

Tree view, git, terminal, language servers, Vim, themes, even settings: all on the same public API you get.

0s

Restarts to see a change

Save a package, your stylesheet or keymap and it reloads instantly. Tweak the editor while you use it.

A new feature is a few lines.

Packages are plain ES modules with access to commands, keybindings, settings, panels, the terminal, language servers and CodeMirror itself.

  1. Run Packages: Create New Package from the command palette.
  2. Write some code. The full API is documented in one page.
  3. Save. It's live, and everything cleans itself up when you turn it off.
// ~/.minimide/packages/word-goal/index.js
export function activate(mide) {
  const label = mide.ui.h('span');
  mide.statusBar.addItem({ element: label, align: 'right' });

  mide.workspace.onDidUpdateEditor((editor) => {
    const words = editor.getText().split(/\s+/).length;
    label.textContent = `✍️ ${words} / 500`;
  });

  mide.commands.add('word-goal:reset', 'Reset Goal', () =>
    mide.notify.success('Fresh start!'));
}

Small, not bare.

Simple by default, with power tools a keystroke away.

Language serversCompletions with auto-import, diagnostics, hover, go to definition, rename, code actions.
Real terminalTabs, your own shell, clickable file:line output.
One-key runF5 runs Python, JS/TS, Go, Rust, C/C++ and more. ⌘⇧B runs tasks.
Git panelStage, commit, push, pull, side-by-side diffs, blame and gutter markers.
Command paletteEvery action by name, plus a fuzzy file finder with file:42.
Vim modeMotions, registers, macros, :w and :q. Off until you want it.
SnippetsTab-expand built-ins, or paste your VS Code snippet files.
Big reposIndexes and searches 250,000 files without freezing the editor.
Updates itselfChecks GitHub once a day and verifies every download.
27 fontsJetBrains Mono, Fira Code, Iosevka, Monaspace, Geist and more, previewed live.
And moreSticky scroll, minimap, image viewer, Markdown preview, project-wide replace.

Beautiful by default.

19 themes, 27 fonts and any accent color, built in. A theme is one CSS file of variables: write your own in minutes.

Minimide's app icon in each of the 19 themes

Even the icon is yours. The Dock icon is drawn from your theme, accent color and editor font, and changes the moment you switch.

Safe to share.

Install other people's packages without handing them your computer. Atom's packages could do anything; Minimide's run in a sandbox.

Sandboxed by default

Installed packages run in an isolated worker with no access to your files, programs or the internet.

You approve permissions

A package that needs more asks for it, like “read files in this project” or “use the network”, and you see the list before installing.

Install from GitHub

Browse Settings → Packages → Discover or install any owner/repo. Publish yours with the minimide-package topic.

Make it yours.

Download it, read it, change it. Then show us what you built.

curl -fsSL https://mikemich.github.io/minimide/install.sh | sh