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 pipx or uvx. This installs it in an isolated environment so it doesn't clutter your global packages.

pipx install sassyshell

You can install pipx using:

pip install --user pipx

Or, if you use uvx:

uvx 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.4.tar.gz (9.5 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.4-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sassyshell-0.1.4.tar.gz
  • Upload date:
  • Size: 9.5 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.4.tar.gz
Algorithm Hash digest
SHA256 b0696621531c4fc9e78c43ffa56a7620ead690ab23be833e4469b221be4459ee
MD5 963ca6e7c7bcef9a716f182cf3018e5e
BLAKE2b-256 3145247dbb64f6b14c11c55c33cb0eed017e267ac29f5ad500384136d951c844

See more details on using hashes here.

Provenance

The following attestation bundles were made for sassyshell-0.1.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: sassyshell-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a3be18f46c7c08580286ceabd14c1a0924d6a184ecbe0d880804d4fb4bdacbfe
MD5 77f2dbc4394a7374b3baf191cfb39b7a
BLAKE2b-256 865332ba0fdd1641405ecbfa5c7f43e6cd0cc0836a71863518aa759182bd98c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for sassyshell-0.1.4-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