Skip to content

jevyoumean

CLI wrapper that, on an unknown subcommand, asks Jev which documented subcommand you meant by intent rather than spelling.

CLIprototypeMIT

Overview

jevyoumean, run as jym, wraps any CLI command. When you type a subcommand the CLI does not document, it reads the CLI's help output and asks Jev which documented subcommand you most likely meant, passing the candidate names and their help descriptions. This targets mistakes that edit distance misses because they are close in meaning but far in spelling, such as remove for rm, list for ps or undo for restore. It shows suggestions with probabilities and lets you run the top one, run as typed or cancel.

It is meant to be used through project-local shell aliases (for example with mise) or bash and zsh integration that wraps selected commands, preserving arguments, redirections and exit codes. An experimental mode wraps every executable on PATH, which the README warns can misread ordinary arguments as subcommands and add overhead. The author labels it experimental: suggestions can be wrong and it is not meant for production-critical workflows.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich documented subcommand did the user most likely mean?—

How it works

  1. User runs a wrapped command with an unknown subcommand
  2. jym reads the CLI's help output
  3. Jev picks the most likely documented subcommand given descriptions
  4. User confirms, runs as typed or cancels

Strengths

  • Catches meaning-based typos edit distance misses
  • Works with any CLI that has help output
  • Preserves arguments and exit codes

Caveats

  • Experimental; suggestions can be wrong
  • Wrapping everything on PATH can misfire
  • Requires a Jev key and a network call on misses

Getting started

go install github.com/syumai/jevyoumean/cmd/jym@latest, then jym -- git switch main or set up shell aliases.

At a glance

Type
CLI
Status
prototype
Language
Go
Runtime
CLI wrapper
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Unlike an edit-distance \`Did you mean?\`, \`jym\` matches on \*intent\*: it hands Jev the candidate subcommand names plus their help descriptions. \`remove → rm\`, \`list → ps\`, \`undo → restore\` are close in meaning but far in spelling — that is the gap this experiment targets.

    logicrw/awesome-jev-projects
  • Semantic "Did you mean?" for any CLI — wraps commands and uses TypeSafe's Jev to match subcommand typos by intent, not edit distance.

    hellogumbo/awesome-jev
  • Semantic "did you mean?" for any command: wraps a CLI and proposes the correction a typo was reaching for. Experimental, by its author's own note.

    MrJev/awesome-jev

Frequently asked questions

How is this different from git's 'did you mean'?

It matches by intent using help descriptions, not by spelling similarity.

When does it call Jev?

Only when you enter a subcommand the CLI does not document.

Is it safe to wrap all commands?

The README calls --all experimental and dangerous because it can misread arguments.

Related projects

  • Open-source AI email assistant; listed as using Jev as an optional classifier for email intent and triage.

    ProjectproductionTypeScript
  • Hermes Desktop plugin where Jev maps misspelled, shortened or meaning-based slash commands to real ones at ≥0.85 confidence.

    PluginbetaJavaScript
  • Neovim intent router: Jev classifies an AI command as read file, edit code, run command or general question and dispatches it.

    ServiceprototypeLua
  • Native macOS launcher and window manager that optionally uses Jev to match loose natural-language commands to known actions.

    DemobetaSwift
  • Ableton Live controller where a one-sentence command in English or Japanese is turned into mixer, transport, clip and device actions.

    Projectbeta
  • Local-first desktop and Android attention workbench that extracts deadlines from WeChat and campus notices; Jev optional.

    Projectbeta