Releases: sderev/shellgenius
Release list
v0.2.1
Removed
- Remove the unsupported
alabaster-shellgeniustheme name from ShellGenius config. The built-in theme surface is now justalabasterplus standard Pygments theme names. - Remove the hidden
--plain,-p, and--command-onlyCLI aliases. Use--rawfor plain text and--cmdfor command-only output.
Changed
~/.config/lmt/key.envis now parsed as a dedicated ShellGenius key file. ShellGenius still acceptsOPENAI_API_KEY=..., quoted values, andexport OPENAI_API_KEY=..., but no longer accepts a bare key line or unrelated env assignments in that file.
v0.2.0
Removed
-y/--yesand-x/--executeflags. Execution now requires the interactive confirmation prompt (Execute this command? [y/N]). Piped stdin is supported whenstdoutis a TTY (e.g.,printf 'y\n' | shellgenius "task").
Added
-
Built-in
alabastercode block theme (light palette derived from alabaster.vim). Set"code_block_theme": "alabaster"in~/.config/lmt/config.json. -
shellgenius key setandshellgenius key editmanage the OpenAI API key stored in~/.config/lmt/key.env. -
API key is now loaded from the
OPENAI_API_KEYenvironment variable first, then from~/.config/lmt/key.env. The key file acceptsOPENAI_API_KEY=...,export OPENAI_API_KEY=..., or a bare key. -
Key file writes use
0600permissions. -
Missing-key errors now print actionable guidance.
-
Rich output now honors
code_block_themeandinline_code_themefrom~/.config/lmt/config.json(lmterminalcompatibility). -
shellgenius modelslists supported models and their short aliases. -
-m/--modelnow validates model names and resolves aliases (e.g.,-m 4.1maps togpt-4.1). Invalid names are rejected with a pointer toshellgenius models. -
Checked-in bash and zsh completion scripts for
shellgenius, with README setup instructions for generated or static shell completion. -
--tokensflag to print prompt token count and estimated cost, with colored output: token count in yellow, model name in blue, cost in yellow.
Changed
-
Rename
--plainto--raw(-r), add--rich(-R), and promote--cmdas the primary command-only flag (--command-onlyremains as a hidden alias). Non-TTYstdoutnow defaults to bare command output after ShellGenius verifies the fenced shell can run on the current platform, while--richfalls back to plain-text output there. -
shellgenius --helpnow shows the default prompt options alongside themodelsandkeycommands. -
ShellGenius now defaults to
gpt-5.4-mini. -
shellgeniusnow 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 installinstead ofpipx. -
shellgenius --richnow falls back to plain-text output whenstdoutis not a TTY.--raw --richis still rejected as a conflicting option pair. -
shellgenius.themenow controls ShellGenius-specific command-block rendering separately from the shared top-levelcode_block_theme, so ShellGenius can use itsalabastercommand block without changinglmterminal'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_themenow styles visible inline code instead of falling back to Rich's default inline-code palette. -
The built-in
alabasterpreset now uses the upstream list-marker yellow for explanation bullets instead of the comments-and-errors red. -
Rich output now supports a nested
shellgeniustheme block in~/.config/lmt/config.json, with built-in presets and per-style Rich overrides on top of the legacycode_block_themeandinline_code_themekeys. -
Built-in
alabasternow uses its upstream#f8f8f8background again. If you want the old highlighted block background, add it explicitly withshellgenius.styles, for example"markdown.code_block": "on #f0f0f0". -
shellgeniusnow asks whether to run the generated command whenstdoutis 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 setnow exits non-zero when a key already exists. -
Invalid
--modelerrors now use clearer Click-styled copy and point toshellgenius models. -
ShellGenius now exits cleanly without a Python traceback when interrupted with
Ctrl+Cvery 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 meandshellgenius key set sk-...now stay on the subcommand path and fail locally instead of falling back to prompt mode.
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
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.