Skip to content
/ nelson Public

small cli AI assistant that generates shell commands, explains errors, and answers programming questions.

License

Notifications You must be signed in to change notification settings

sawsent/nelson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crates.io Crates.io License Build Status Coverage Status

nelson

nelson is a local-first CLI AI assistant that generates shell commands, explains errors, and answers programming questions using a self-hosted LLM or an openai model.

It currently supports the following backends:

  • ollama
  • openai

Instalation

Install via cargo

cargo install nelson

Or build from source:

git clone https://github.com/sawsent/nelson
cd nelson
cargo build --release

Usage

nelson has one main query command and one special command.

Most of the time, you just ask nelson a question. The way it answers is controlled by modes, which can be switched using flags placed anywhere in the prompt.

If multiple mode flags are provided, the last one wins.


Modes

  • --cmd Generate a shell command
  • -n Neat (concise answer)
  • -l Long (detailed explanation)
  • --code Code-only output

A default mode is used if no flag is provided.

Examples

nelson how can I move files -l in unix
nelson --code implement binary search in python
nelson move current branch to new-branch --cmd

Configuration

nelson reads configuration from a file located at:

  • Linux: ~/.config/nelson/config.toml
  • macOS: ~/Library/Application Support/nelson/config.toml
  • Windows: %APPDATA%\nelson\config.toml

Example:

[backend]
provider = "ollama"
url = "http://localhost:11434/api/chat"

[llm]
model = "llama3.2"

[nelson]
default_mode = "cmd"

Initialize the config file

Run:

nelson init

This creates the default config file (if it doesn't exist) and prints the file path so you can edit it.


Roadmap

  • v0.1.0: Out of the box experience
    • wtf command
    • coverage

About

small cli AI assistant that generates shell commands, explains errors, and answers programming questions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages