Skip to main content

A multi-personality, feature-rich companion CLI helper tool

Project description

Harshal CLI ๐Ÿš€

License: MIT Python Support

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, and cute modes.
  • Interactive Prompts: Built on prompt-toolkit and styled with rich for elegant user feedback.
  • System Utilities: Copy output to clipboard, get performance statistics, and run system tasks.
  • AI Engine Integration: Integrated with litellm for 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 to fun, serious, cyber, or cute.
  • --version: Show version and exit.

Personalities & Themes ๐ŸŽจ

Harshal comes loaded with four pre-configured themes defined in src/harshal/data/personality.toml:

  1. ๐ŸŽ‰ Fun & Playful (fun): Full of emojis, programmer jokes, and highly excited prompts.
  2. ๐Ÿ’ผ Professional & Stoic (serious): Direct, concise, objective, and stoic.
  3. ๐Ÿ’ป Cyberpunk Hacker (cyber): Neon-green cyberpunk theme talking in terminal nodes and decrypt payloads.
  4. ๐ŸŒธ 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

harshal-0.1.0.tar.gz (110.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

harshal-0.1.0-py3-none-any.whl (136.7 kB view details)

Uploaded Python 3

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

Hashes for harshal-0.1.0.tar.gz
Algorithm Hash digest
SHA256 41f7487d96063d287f4b08de0ec21fabe3ec073c72487d2009e8178200f9e0a5
MD5 a5e0065ac2f8aa0c83f189b22bcb46d0
BLAKE2b-256 61211fded421781c1344dc6b10b047e3ae990851cc65048324b328856f89f3a6

See more details on using hashes here.

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

Hashes for harshal-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4ebe58c10da02773a4ab1b4b3232af062db973c22beca14c85beffbd6d5cca6
MD5 bd19bf38f54299b78588a4ce718ae2f4
BLAKE2b-256 a28f677226b439acc6489d23652df8218184397ffa2751fac24af637e49f9b16

See more details on using hashes here.

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