finds.dev← search

// the find

f/omelette

★ 1,405 · CoffeeScript · MIT · updated Jan 2022

Omelette is a simple, template based autocompletion tool for Node and Deno projects with super easy API. (For Bash, Zsh and Fish)

Omelette is a small CLI library for generating Bash/Zsh/Fish autocompletion from a template-literal or tree-based spec, for Node and Deno programs. It's aimed at CLI tool authors who want tab-completion without hand-writing shell completion scripts.

The template-literal API is genuinely nice ergonomics — defining completion fragments inline next to the command structure beats most completion libraries' separate-config-file approach. It supports both sync and async reply handlers, a tree-based alternative for deeply nested commands, and ships Deno support alongside Node via a parallel .ts file. It's also battle-tested: office365-cli and appcenter-cli used it in production.

No push since January 2022 and only 40 forks against 1405 stars, so bug fixes or new shell support aren't coming. Source is CoffeeScript compiled to JS, which raises the bar for anyone wanting to actually read or patch src/omelette.js rather than just consume the npm package. setupShellInitFile() auto-appends to the user's .bashrc/.zshrc/config.fish, which is convenient but a surprising thing for a library to do without an obvious dry-run or diff step. CI is Travis, which is effectively dead, so there's no working signal that the test suite (if any) still passes.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →