Skip to main content

Agentic coding CLI with multi-provider LLM support

Project description

chalilulz

Python 3.8+ LLM CLI Open Source Cross Platform

Agentic coding CLI with multi-provider LLM support
OpenRouter · Ollama · Mistral · Groq · Gemini


Features

  • Multi-Provider Support — Seamlessly switch between OpenRouter, Ollama, Mistral, Groq, and Gemini
  • Streaming Responses — Token-by-token output directly in the terminal
  • Agent Safety Guardrails — 25-round max agent loop guard and interactive [y/N] prompts before executing dangerous tools (like bash, rm, write)
  • Interactive REPL — Supports readline tab-completion for /commands and local file paths!
  • Context Window Truncation — Dynamic bounding up to ~60k tokens to prevent API capacity errors
  • Session Persistence — Use /save <name> and /load <name> to seamlessly pause and resume work
  • Gorgeous ANSI Rendering — Renders markdown blocks, bold headings (#), and list items (-) natively
  • Agent Skills — Load custom system instruction sets from .skills/ directory
  • Zero Dependencies — Pure Python standard library inside — no massive packages required

Installation

Quick Install (pip)

# Install globally via git
pip install git+https://github.com/ForgedInFiles/chalilulz.git

# Or install locally (editable mode)
git clone https://github.com/ForgedInFiles/chalilulz.git
cd chalilulz
pip install -e .

Requirements

  • Python 3.8 or higher
  • API keys for your chosen provider (optional for local Ollama)

Quick Start

# After installation, run from anywhere
chalilulz

# Or set a specific model
chalilulz --model openrouter:arcee-ai/trinity-large-preview:free

# Run with Ollama (default)
chalilulz --model ollama:llama2

# Run with Mistral
chalilulz --model mistral:mistral-small-latest --mistral-key $MISTRAL_API_KEY

# Run with Groq
chalilulz --model groq:llama-3.1-70b-versatile --groq-key $GROQ_API_KEY

# Auto-approve tool execution
chalilulz --yes

Configuration

You can configure persistent defaults by creating ~/.config/chalilulz/config.json:

{
  "model": "openrouter:anthropic/claude-3.5-sonnet",
  "ollama_host": "http://localhost:11434",
  "mistral_key": "YOUR_MISTRAL_KEY",
  "yes": false
}

Or you can use Environment Variables:

Variable Description
OPENROUTER_API_KEY API key for OpenRouter
MISTRAL_API_KEY API key for Mistral AI
GROQ_API_KEY API key for Groq
GOOGLE_API_KEY API key for Gemini
CHALILULZ_MODEL Default model (e.g., openrouter:arcee-ai/trinity-large-preview:free)
CHALILULZ_OLLAMA_HOST Ollama host (default: http://localhost:11434)

Available Tools

Tool Description
read Read files with line numbers
write Write/create files (auto mkdir)
edit Replace a unique string in files
multi_edit Apply large non-contiguous patches to files via JSON array
glob Find files by glob pattern sorted by mtime (ignores .git/, node_modules/, etc)
grep Search files by regex
bash Execute shell commands
ls List directory contents
mkdir Create directories recursively
rm Delete files or directories
mv Move/rename files
cp Copy files or directories
find Recursive find by name pattern
load_skill Load full skill instructions by name

REPL Commands

During an active session, you can use the following commands:

  • /model <slug> - Switch provider/model live (e.g., /model ollama:codellama)
  • /save <name> - Save the current session context to ~/.local/share/chalilulz/sessions/
  • /load <name> - Load a previously saved session context
  • /yes - Enable auto-approval for dangerous tool execution (bash, rm, write, edit)
  • /no - Disable auto-approval (default behavior)
  • /skills list - List available .skills/ bundles
  • /c - Clear the terminal
  • /q or exit - Quit application
  • /help - Show command help

License

MIT License — Feel free to use, modify, and distribute.


Built with love for developers who love CLI tools

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

chalilulz-0.0.1b6.tar.gz (42.4 kB view details)

Uploaded Source

Built Distribution

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

chalilulz-0.0.1b6-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

Details for the file chalilulz-0.0.1b6.tar.gz.

File metadata

  • Download URL: chalilulz-0.0.1b6.tar.gz
  • Upload date:
  • Size: 42.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for chalilulz-0.0.1b6.tar.gz
Algorithm Hash digest
SHA256 372f0b6cec84629bfc353a39d4b9972899c922aebf8dc40113624d524b526b09
MD5 048f31361c279bdec30956d0be78546d
BLAKE2b-256 e185faf60e3008dd3d6454cb3c0d0aaca4a40aaf12a17a97b9e037ef4098afbc

See more details on using hashes here.

File details

Details for the file chalilulz-0.0.1b6-py3-none-any.whl.

File metadata

  • Download URL: chalilulz-0.0.1b6-py3-none-any.whl
  • Upload date:
  • Size: 33.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for chalilulz-0.0.1b6-py3-none-any.whl
Algorithm Hash digest
SHA256 a4de20693f4a73e9db6509ad217f29361170df2a2a6eca6f24bc9c0d9d4f1151
MD5 503cca05faf9bd148d1452cc27170256
BLAKE2b-256 af5b7a7be6c14184dd5a96f5ea289505ae3dd3d4d1c1e856fe65826ed16dd6dc

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