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)

PyPI version Downloads Build Status Python Version License Hacktoberfest

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

Contributing

We welcome contributions! Please read our CONTRIBUTING.md guide to get started. It covers setup, development, and how to submit changes.

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.6.tar.gz (10.2 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.6-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sassyshell-0.1.6.tar.gz
  • Upload date:
  • Size: 10.2 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.6.tar.gz
Algorithm Hash digest
SHA256 4d237250220e24d0ed1f01e5886135c7deccb10022ac9d9fad93e8e73258c8e8
MD5 77791bb4de0cd487b30fda8eb9f9e7b0
BLAKE2b-256 2c550b79db688954dd6889334cc492b4d83df0aa2c656e9bb9114838389978f0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sassyshell-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 9.9 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cd903dacac3ab458da1007506e5267b656342eb25f74c4613b2d9ae36ce3890d
MD5 14e8569fd7b714dc2cdde726c9949234
BLAKE2b-256 93c0e84c6fbe606f6ffcb2ae7ab3dc8359fe62e547bf86ca01c6e6601b605d14

See more details on using hashes here.

Provenance

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