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.1b7.tar.gz (43.0 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.1b7-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: chalilulz-0.0.1b7.tar.gz
  • Upload date:
  • Size: 43.0 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.1b7.tar.gz
Algorithm Hash digest
SHA256 87ada5c39ca3d75870e8b3d4ce919b723b0da35c79cd8b509e930fdab11351fd
MD5 09556f7017a43500ef0caf734178ec0a
BLAKE2b-256 830e88513564430b6a733014d9ee314111d718a53d2e797125d05d888f1c9486

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chalilulz-0.0.1b7-py3-none-any.whl
  • Upload date:
  • Size: 33.6 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.1b7-py3-none-any.whl
Algorithm Hash digest
SHA256 66b5ecd3b0736820ea601d585821f7490645825cfc7f3532dccb3e16265610e3
MD5 ac75522ba6ef37b6dacd81f36892e68c
BLAKE2b-256 15a76c5947c5c75bb6f7924f9f22a749a20b35eaa7e92986a292b59a8a1773d0

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