Skip to content

Releases: sderev/shellgenius

v0.2.1

Choose a tag to compare

@sderev sderev released this 14 Apr 20:22
v0.2.1
df864cd

Removed

  • Remove the unsupported alabaster-shellgenius theme name from ShellGenius config. The built-in theme surface is now just alabaster plus standard Pygments theme names.
  • Remove the hidden --plain, -p, and --command-only CLI aliases. Use --raw for plain text and --cmd for command-only output.

Changed

  • ~/.config/lmt/key.env is now parsed as a dedicated ShellGenius key file. ShellGenius still accepts OPENAI_API_KEY=..., quoted values, and export OPENAI_API_KEY=..., but no longer accepts a bare key line or unrelated env assignments in that file.

v0.2.0

Choose a tag to compare

@sderev sderev released this 09 Apr 20:51
v0.2.0
acbe4d7

Removed

  • -y/--yes and -x/--execute flags. Execution now requires the interactive confirmation prompt (Execute this command? [y/N]). Piped stdin is supported when stdout is a TTY (e.g., printf 'y\n' | shellgenius "task").

Added

  • Built-in alabaster code block theme (light palette derived from alabaster.vim). Set "code_block_theme": "alabaster" in ~/.config/lmt/config.json.

  • shellgenius key set and shellgenius key edit manage the OpenAI API key stored in ~/.config/lmt/key.env.

  • API key is now loaded from the OPENAI_API_KEY environment variable first, then from ~/.config/lmt/key.env. The key file accepts OPENAI_API_KEY=..., export OPENAI_API_KEY=..., or a bare key.

  • Key file writes use 0600 permissions.

  • Missing-key errors now print actionable guidance.

  • Rich output now honors code_block_theme and inline_code_theme from ~/.config/lmt/config.json (lmterminal compatibility).

  • shellgenius models lists supported models and their short aliases.

  • -m/--model now validates model names and resolves aliases (e.g., -m 4.1 maps to gpt-4.1). Invalid names are rejected with a pointer to shellgenius models.

  • Checked-in bash and zsh completion scripts for shellgenius, with README setup instructions for generated or static shell completion.

  • --tokens flag to print prompt token count and estimated cost, with colored output: token count in yellow, model name in blue, cost in yellow.

Changed

  • Rename --plain to --raw (-r), add --rich (-R), and promote --cmd as the primary command-only flag (--command-only remains as a hidden alias). Non-TTY stdout now defaults to bare command output after ShellGenius verifies the fenced shell can run on the current platform, while --rich falls back to plain-text output there.

  • shellgenius --help now shows the default prompt options alongside the models and key commands.

  • ShellGenius now defaults to gpt-5.4-mini.

  • shellgenius now prints the suggested command inside a fenced shell code block before the explanation, matching the format the CLI executes.

  • README installation section recommends uv tool install instead of pipx.

  • shellgenius --rich now falls back to plain-text output when stdout is not a TTY. --raw --rich is still rejected as a conflicting option pair.

  • shellgenius.theme now controls ShellGenius-specific command-block rendering separately from the shared top-level code_block_theme, so ShellGenius can use its alabaster command block without changing lmterminal's shared syntax theme.

  • Rich TTY output now keeps that ShellGenius command-block renderer during streaming, preserves one blank line above and below the command inside the block, and inline_code_theme now styles visible inline code instead of falling back to Rich's default inline-code palette.

  • The built-in alabaster preset now uses the upstream list-marker yellow for explanation bullets instead of the comments-and-errors red.

  • Rich output now supports a nested shellgenius theme block in ~/.config/lmt/config.json, with built-in presets and per-style Rich overrides on top of the legacy code_block_theme and inline_code_theme keys.

  • Built-in alabaster now uses its upstream #f8f8f8 background again. If you want the old highlighted block background, add it explicitly with shellgenius.styles, for example "markdown.code_block": "on #f0f0f0".

  • shellgenius now asks whether to run the generated command when stdout is a TTY and stdin can answer the prompt. There is no flag to bypass the prompt; execution still requires explicit confirmation, while EOF stdin such as </dev/null> skips prompting and leaves the command unexecuted.

  • Add a blank line before Rich-rendered markdown output for visual separation.

Fixed

  • shellgenius key set now exits non-zero when a key already exists.

  • Invalid --model errors now use clearer Click-styled copy and point to shellgenius models.

  • ShellGenius now exits cleanly without a Python traceback when interrupted with Ctrl+C very early during startup.

  • Raw TTY output now leaves a blank line before the execution prompt, matching the Rich path.

  • Malformed leaf subcommand calls such as shellgenius models for me and shellgenius key set sk-... now stay on the subcommand path and fail locally instead of falling back to prompt mode.

0.1.16

Choose a tag to compare

@sderev sderev released this 23 Aug 17:32
5f042b7

Full Changelog: 0.1.15...0.1.16

0.1.15

Choose a tag to compare

@sderev sderev released this 07 Nov 11:17

Full Changelog: 0.1.14...0.1.15

0.1.14

Choose a tag to compare

@sderev sderev released this 20 Jun 11:59
Add --version

0.1.13

Choose a tag to compare

@sderev sderev released this 19 Jun 15:14
Handle RateLimitError

0.1.12

Choose a tag to compare

@sderev sderev released this 18 Jun 21:08
Refactor color output when no command is executed

0.1.11

Choose a tag to compare

@sderev sderev released this 18 Jun 20:25
Added error handling for subprocess call

This commit adds error handling for subprocess calls in the shellgenius cli.py file. Specifically, when executing the generated command with subprocess.run(), if the command fails, a 'Command failed' message with the relevant error is printed to the console using click.echo(). This provides better feedback to users when a command execution fails.

0.1.10

Choose a tag to compare

@sderev sderev released this 18 Jun 20:03
Refactor prompt to improve multilingual reponses

0.1.9

Choose a tag to compare

@sderev sderev released this 17 Jun 19:05
Upgrade dependencies