Repository navigation
Tell your shell what you mean. smartly 0.2.0 turns a plain
English sentence into one executable shell command.
Install
go install github.com/rizwanreza/smartly-cli/cmd/smartly@v0.2.0
Or download a binary below (macOS and Linux, amd64 and arm64 — verify
with checksums.txt).
Docs: https://smartlycli.com/
--learn shows how a command works, and claude-cli is several times faster.
brew install rizwanreza/tap/smartly
What changed
--learn breaks the command down, and never runs it. Also spelled
--explain and --teach. The command appears as soon as it is
generated, then a second call explains it piece by piece:
$ smartly --learn find files over 100mb changed this week
→ find . -type f -size +100M -mtime -7
Finds files over 100 MB changed in the last week, from here down.
find . search from the current directory down
-type f files only, skip directories
-size +100M larger than 100 MB
-mtime -7 modified in the last 7 days
In a color terminal each piece is tinted by what it is: the command
bold, flags blue, quoted text cyan, operators magenta. A piece has the
same color on the → line and in the breakdown, and the colors come from
your terminal's own palette. Nothing is executed and nothing is written
to stdout, so it is safe through the shell wrapper. Ctrl-C while it is
explaining exits quietly: you already have the command.
claude-cli is several times faster. Claude Code turns on extended
thinking by default, and smartly never turned it off for the claude
process it starts. A haiku request now typically lands in one to two
seconds rather than six or more, and a --learn explanation in about
three rather than up to a minute. smartly also skips Claude Code's
startup update and telemetry checks. Both settings apply to that one
process only: your shell and your own Claude Code sessions are untouched,
and your subscription login works as before.
Commands match the tools you actually have. A Mac with Homebrew's
coreutils has GNU date and stat next to BSD sed, and the right
flags differ for each. smartly now checks which variant sed, grep,
find, xargs, awk, date and stat are on your PATH (a few
milliseconds) and tells the model. This fixes commands like
sed -n '/x/{s/$/y/;p}', which BSD sed rejects, without breaking
date -d for people whose date is GNU. Only the variant names are
sent, e.g. sed=BSD date=GNU, at every context level.
Documentation
- The README and Getting started now say up front that you can use
smartly with a Claude or ChatGPT subscription, including a seat your
company provides, throughclaude-cliorcodex-cli. No API key
needed. context: nonewas documented as sending only your sentence. OS and
shell were always sent too; the
Context page now lists exactly
what goes, including the new tool variants.- Shell flags on smartlycli.com no longer render
--as a ligature that
swallowed the space before it.
Worth knowing
- The
--learnbreakdown is the model's reading of the command. Check
anything surprising againstman. - Auto-run is still the default, including for destructive commands.
--learnand--dry-runnever run anything.
Full diff: v0.1.3...v0.2.0