v0.4 beta · Zsh · local by default

Your terminal already knows what comes next.

soon learns recurring command transitions, then places one complete prediction at an empty prompt. Accept it, edit it, or ignore it.

  • No model required
  • No network on the default path
  • No automatic execution
Animated terminal demo: soon repairs git psuh with git push, Control-F accepts it, and the user decides when to execute.
Repair → accept → next step

The local loop

A command trace, not a chat.

soon watches the lifecycle your shell already exposes. It keeps prediction in the prompt, where the next action actually happens.

  1. Observe the result

    A successful command asks for a next step. A failure asks for a repair.

    exit 0 / exit 1
  2. Recall a safe pattern

    Local command transitions produce one complete, filtered candidate.

    history → rank
  3. Leave the decision to you

    Ctrl-F copies the ghost text into the buffer. Enter is still yours.

    suggest ≠ execute

Three commands

Meet the next prompt.

Install the same v0.4 release from Cargo or PyPI, then opt in for the current Zsh session.

Cargo

Rust toolchain
cargo install soon

PyPI

Python 3.10+
python -m pip install soon-bin

Enable Zsh

Current session
eval "$(soon init zsh)"

Add the same eval line to ~/.zshrc to keep it enabled. Press Ctrl-F when a suggestion is visible.

Private memory

Your history stays useful without becoming a payload.

The default predictor and replay tools run locally. Likely secrets are rejected before storage, ranking, or display, and inspection reports aggregate counts instead of command text.

Read the privacy contract
01 Shell event local
02 Sensitive filter before storage
03 One suggestion editable text

Network boundary: not crossed by default.

The contract

soon proposes. You decide.

View the source Follow the adoption sprint