A multi-personality, feature-rich companion CLI helper tool
Project description
Harshal CLI ๐
Harshal CLI is a highly interactive, customizable, and feature-rich terminal companion tool. From displaying system stats and system alerts to generating AI prompts and offering motivational quotes, Harshal adapts to your style with custom visual themes, interactive shells, and dynamic personalities.
Features โจ
- Multiple Personalities: Switch between
fun,serious,cyber, andcutemodes. - Interactive Prompts: Built on
prompt-toolkitand styled withrichfor elegant user feedback. - System Utilities: Copy output to clipboard, get performance statistics, and run system tasks.
- AI Engine Integration: Integrated with
litellmfor direct interaction with LLMs. - Curated Data Assets: Local stores of quotes, fortunes, dad jokes, and retro ASCII art.
Installation ๐ฆ
You can install Harshal CLI using pip or pipx:
# Basic installation (includes UI, Core, and CLI shell)
pip install .
# Install with AI features (litellm)
pip install ".[ai]"
# Install with System utilities (psutil, pyperclip)
pip install ".[system]"
# Install with Notification sounds (chime)
pip install ".[notifications]"
# Install all features
pip install ".[full]"
Commands and Usage ๐ ๏ธ
Once installed, use the CLI via the harshal entrypoint:
# Check version and verify install
harshal --version
# Run the main interactive prompt
harshal run
# Show a random curated quote
harshal quote
# Crack a hilarious dad joke
harshal joke
# Crack open a virtual fortune cookie
harshal fortune
# Print beautiful retro ASCII drawings
harshal ascii --name computer
Options
--personality(-p): Set the theme tofun,serious,cyber, orcute.--version: Show version and exit.
Personalities & Themes ๐จ
Harshal comes loaded with four pre-configured themes defined in src/harshal/data/personality.toml:
- ๐ Fun & Playful (
fun): Full of emojis, programmer jokes, and highly excited prompts. - ๐ผ Professional & Stoic (
serious): Direct, concise, objective, and stoic. - ๐ป Cyberpunk Hacker (
cyber): Neon-green cyberpunk theme talking in terminal nodes and decrypt payloads. - ๐ธ Cute & Cozy (
cute): Gentle, cozy, supportive text-emoticons(* ^ ฯ ^)and pastel magenta palettes.
Project Structure ๐
harshal/
โโโ pyproject.toml
โโโ LICENSE
โโโ README.md
โโโ src/
โโโ harshal/
โโโ __init__.py
โโโ cli.py # CLI entrypoint and commands
โโโ core/ # Core settings and state loaders
โโโ commands/ # Subcommand implementation modules
โโโ ui/ # Terminal styling and layout components
โโโ data/ # Local JSON & TOML static data files
โโโ ascii_art.json
โโโ dad_jokes.json
โโโ fortunes.json
โโโ personality.toml
โโโ quotes.json
License ๐
This project is licensed under the MIT License - see the LICENSE file for details.
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 harshal-0.1.0.tar.gz.
File metadata
- Download URL: harshal-0.1.0.tar.gz
- Upload date:
- Size: 110.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41f7487d96063d287f4b08de0ec21fabe3ec073c72487d2009e8178200f9e0a5
|
|
| MD5 |
a5e0065ac2f8aa0c83f189b22bcb46d0
|
|
| BLAKE2b-256 |
61211fded421781c1344dc6b10b047e3ae990851cc65048324b328856f89f3a6
|
File details
Details for the file harshal-0.1.0-py3-none-any.whl.
File metadata
- Download URL: harshal-0.1.0-py3-none-any.whl
- Upload date:
- Size: 136.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4ebe58c10da02773a4ab1b4b3232af062db973c22beca14c85beffbd6d5cca6
|
|
| MD5 |
bd19bf38f54299b78588a4ce718ae2f4
|
|
| BLAKE2b-256 |
a28f677226b439acc6489d23652df8218184397ffa2751fac24af637e49f9b16
|