Skip to main content

Ninja CLI is a high-performance terminal assistant that bridges the gap between natural language and system execution. Powered by state-of-the-art LLMs, it allows you to build, manage, and automate your development workflow using simple conversational commands.

Project description

🥷 Ninja CLI

The Modern, AI-Powered Command Line Interface

Ninja CLI is a high-performance terminal assistant that bridges the gap between natural language and system execution. Powered by state-of-the-art LLMs, it allows you to build, manage, and automate your development workflow using simple conversational commands.


🚀 Key Features

  • Multi-Model Support: Seamlessly switch between OpenAI, Gemini, and OpenRouter.
  • Intelligent Execution: Translates your intent into safe, executable shell commands.
  • Advanced UI: Features a "Gemini-inspired" aesthetic with real-time status spinners, progress bars, and syntax-highlighted panels.
  • Permission Logic: Granular control over restricted commands with a session-wide "Always Allow" bypass for power users.
  • Custom Exit Logic: Clean shutdown sequence with automated interrupt signals.

🛠️ Installation

Prerequisites

  • Python 3.10+
  • uv (Recommended) or pip

Setup

  1. Clone the repository:
git clone https://github.com/your-username/ninja-cli.git
cd ninja-cli
  1. Install using uv: (Fastest):
uv add ninjacli
  1. Install using pip:
pip install ninjacli

📖 How to Use

1. Launching the AI

Simply type the following command from any directory:

ninjacli

2. Configuration

On the first run, Ninja CLI will guide you through:

  • Provider Selection: Choose between OpenAI, Gemini, or OpenRouter.
  • API Key Setup: Securely link your API key (stored in your local .env).

3. Interacting with the Agent

You can ask Ninja CLI to perform complex tasks such as:

  • "Create a new React project in a folder named 'dashboard' and install tailwind."
  • "Read the content of main.py and tell me if there are any security risks."
  • "Find all log files in this directory and delete those older than 7 days."

4. Handling Restricted Commands

For safety, commands like rm or sudo trigger a confirmation prompt:

  • [y] Yes: Execute this specific command once.
  • [n] No: Skip this command.
  • [always] Always Allow: Grants permission for all restricted commands for the remainder of the current session.

⌨️ Useful Shortcuts

Action Command / Key
New Line SHIFT + ENTER
Exit CLI Type exit, quit, or bye
Force Stop CTRL + C (Double press)
Select API Arrow Keys + ENTER

🛡️ Security Note

Ninja CLI performs a directory check on startup. It is highly recommended to run the CLI within a specific project directory rather than your system's root directory to prevent accidental file modifications.

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

ninjacli-0.2.3.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

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

ninjacli-0.2.3-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file ninjacli-0.2.3.tar.gz.

File metadata

  • Download URL: ninjacli-0.2.3.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ninjacli-0.2.3.tar.gz
Algorithm Hash digest
SHA256 a2b6b28037551ec5b74c90cd906e27a4470500ec7c24e0efab7c48aa23a66203
MD5 0c0906032f689df67f438d22d53fab94
BLAKE2b-256 a45053979396a51f6867c0781b2852f9722a1bc4637a1368b881ec6e348c80ce

See more details on using hashes here.

File details

Details for the file ninjacli-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: ninjacli-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for ninjacli-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c42d91ffb310ddb7770de5e39073f7b41a7d4021cbb397bb1b1fcd7aca08a812
MD5 8c226f450b43d60d7d80e5775d767385
BLAKE2b-256 4b3c1429ffaa95331da3969378460233c299077fca12324dd4c8317740a223a2

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