Skip to main content

A sassy, AI-powered CLI sidekick that remembers the commands you forget and mocks you into getting better.

Project description

SassyShell (sassysh)

Your sassy, command-line tutor that remembers the commands you keep forgetting.


Why I Built This

Like a lot of developers, I found myself constantly switching contexts to ask an LLM for the same simple shell commands over and over. tar flags, find syntax, awk one-liners... I wasn't learning them, I was just outsourcing my memory. It felt like a bad habit.

Instead of just trying to memorize everything, I thought: what if a tool could track my bad habits and help me internalize the patterns?

So, I built SassyShell. It's not just another "GPT in the terminal." It's a CLI sidekick that:

  1. Uses a local TF-IDF search to find similar commands you've asked for in the past.
  2. Feeds that history to an LLM to provide context-aware answers.
  3. Gives you the command you need, along with a bit of sarcastic feedback based on how often you forget it.

It's a project born from turning my own laziness into data. It's designed to mock you into getting better.

Features

  • Personalized Memory: Remembers the types of commands you struggle with and uses that history to inform its responses.
  • Sassy Feedback: The more you ask for the same thing, the more it will gently (or not so gently) remind you.
  • Platform Aware: Automatically detects if you're on Linux, macOS, or Windows and asks the LLM for the correct shell syntax (bash/zsh vs. PowerShell).
  • Lightweight & Fast: Uses a fast local similarity search before ever calling an LLM.
Sassyshell Demo

Installation

The recommended way to install SassyShell is with uvx or pipx. This installs it in an isolated environment so it doesn't clutter your global packages.

uvx sassyshell

Or, if you use pipx:

pipx install sassyshell

Quickstart

1. One-Time Setup

Before you can use the tool, you need to run the setup wizard to configure your LLM provider and API key. Your credentials are saved locally in ~/.config/sassyshell/.env.

sassysh setup

You'll be guided through selecting a provider (OpenAI, Google, etc.) and entering your API key.

2. Ask a Question

Use the ask command to ask for help.

sassysh ask "how to find all files modified in the last 24 hours"

Example Interaction:

$ sassysh ask "how to add changes to my last git commit without a new one"

Looks like you're having trouble with your Git commits again! You can add your new changes using:

git commit --amend --no-edit

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sassyshell-0.1.1.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sassyshell-0.1.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file sassyshell-0.1.1.tar.gz.

File metadata

  • Download URL: sassyshell-0.1.1.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sassyshell-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b8cc38af8b178318324cd7abccc8c631196d12c3b8dd52b8bd1a88a35e154bf4
MD5 433362da90bcff43dda1f583bd8bb2c1
BLAKE2b-256 664db63de54c96c6278dfbd3331e501262ee725dc2afcf47d24925136d36afba

See more details on using hashes here.

Provenance

The following attestation bundles were made for sassyshell-0.1.1.tar.gz:

Publisher: publish.yml on ParthJain18/sassyshell

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sassyshell-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: sassyshell-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sassyshell-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 46e5870ae846ce62c01e4f3c428f3df059104383fecec2c10d55ed3afea08fe1
MD5 bcce03a2e0d4bb4dfb7d553abfbcb444
BLAKE2b-256 f62ed511433ed309e7ee5eae0cf0c3758fad843d9db2581dca1b8b66d82f3588

See more details on using hashes here.

Provenance

The following attestation bundles were made for sassyshell-0.1.1-py3-none-any.whl:

Publisher: publish.yml on ParthJain18/sassyshell

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page