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.2.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.2-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sassyshell-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 57718f9e94ae4d178370176e4559515d977631cab9d8341dcbfd50c35d30c50e
MD5 9a5278eaff51b6a9c7df40a68ff5f83e
BLAKE2b-256 29980193c7a63374248fa4a3f79ed0ba20ec77dae7e15361afdd76672c52c597

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: sassyshell-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b7e627788e16ef3425f1f9e4d28e60bc56cc02a729f820c238984348ee846934
MD5 dcff8580f9173e7bbb45808a1d4febfe
BLAKE2b-256 25dd567136f25ba7f27d2226c290b3e39e9f8faec8b7257814b38f639a1ababd

See more details on using hashes here.

Provenance

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