ShellSteward: AI-powered CLI assistant for shell command generation and retrieval
Project description
🧠 ShellSteward — Your AI-Powered Shell Companion
ShellSteward is a smart command-line assistant that translates natural language prompts into shell commands using semantic search. Whether you're navigating directories, inspecting files, or debugging your environment, ShellSteward helps you do it faster and smarter.
🚀 Features
- 🔍 Natural language to shell command retrieval
- 🧠 Semantic search using SentenceTransformers + FAISS
- 🛠️ Cross-shell support (bash, zsh, cmd, PowerShell)
- 🧪 Doctor command to verify setup and dependencies
- 📋 History tracking and clipboard support
- ⚙️ Configurable shell preferences and onboarding
📦 Installation
pip install shellsteward
Or from source:
git clone https://github.com/ABHIJEETRAI-AV/Catalyst.git
cd shellsteward
pip install -e .
🧑💻 CLI Usage
shellsteward init
Initializes the FAISS index from commands.json.
- Embeds all prompt-command pairs
- Saves the index to
index/faiss.index - Required before using
ask
shellsteward init
shellsteward ask "<your prompt>"
Retrieves the best matching shell command for your natural language query.
shellsteward ask "How do I list all files including hidden ones?"
Options:
--copy→ Copies the command to clipboard--explain→ Shows the explanation instead of the command--shell bash|zsh|cmd|powershell→ Tailors output to your shell
shellsteward doctor
Checks if your environment is ready.
- Verifies
commands.jsonis accessible - Confirms FAISS index exists
- Checks if SentenceTransformer model is loaded
shellsteward doctor
shellsteward history
Displays previously retrieved commands.
shellsteward history
Options:
--copy <index>→ Copies a specific command from history--explain <index>→ Shows explanation for a specific entry
shellsteward config (coming soon)
Manage persistent settings like default shell, verbosity, and model preferences.
🧠 How It Works
ShellSteward uses:
commands.json→ A curated list of prompt-command-explanation triplesSentenceTransformer→ Converts prompts into embeddingsFAISS→ Performs fast vector similarity searchTyper→ Powers the CLI interface
📄 License
This project is licensed under the MIT License. See LICENSE for details.
🤝 Contributing
Pull requests are welcome! For major changes, open an issue first to discuss what you'd like to improve.
Made with ❤️ by Abhijeet Rai
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shellsteward-0.2.0.tar.gz.
File metadata
- Download URL: shellsteward-0.2.0.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5c04abfb93d92e6f174b96704aed9433b5900aa38dc6d7c23bfecd8d751d889
|
|
| MD5 |
cacf37696f5b24856d1aec4975fc0b63
|
|
| BLAKE2b-256 |
16d36db9e0ee65c5d01ec9ccad80c6cbf2bc1f74ae2b668e3b5a690abf168395
|
File details
Details for the file shellsteward-0.2.0-py3-none-any.whl.
File metadata
- Download URL: shellsteward-0.2.0-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba2da6e1c7c18d2032c1dee107a8d5ba297a4f60d6f021c058586b9b91dcc009
|
|
| MD5 |
9b4a448b941086332c86b9f2e0c7030f
|
|
| BLAKE2b-256 |
5d0e962c5ae8a43b877b00d1c86c5a1a94493f94bd93adbec688e77b16082ad9
|