A natural-language to shell/Python CLI assistant using local Ollama models.
Project description
llamaline v1.0.0
MIT License
Author: Luke Steuber
Web: actuallyusefulai.com, lukesteuber.com
๐ฆ llamaline
A natural-language to shell/Python CLI assistant using local Ollama models.
Transform your everyday tasks into simple English commands! llamaline bridges the gap between natural language and code execution, making command-line operations accessible to everyone.
โจ Features
- ๐ฃ๏ธ Natural Language Processing: Type commands in plain English
- ๐ก๏ธ Safety First: Confirmation prompts and unsafe operation blocking
- ๐จ Rich Interface: Colorized output with syntax highlighting
- โก Quick Commands: Built-in cheat sheets for common tasks
- ๐ Model Flexibility: Switch between Ollama models on-the-fly
- ๐ฏ Accessibility: Full keyboard navigation, screen reader compatible
- ๐ง Developer Friendly: Easy installation and configuration
Installation
Via Conda (Recommended)
conda install -c conda-forge llamaline
Via Pip
git clone https://github.com/lukeslp/llamaline.git
cd llamaline
pip install .
Development Installation
git clone https://github.com/lukeslp/llamaline.git
cd llamaline
pip install -e .
๐ Quick Start
Single Command Execution
llamaline "Show me disk usage"
llamaline "List all Python files in this directory"
llamaline "What's my current memory usage?"
Interactive Mode
llamaline
Then type natural language commands:
disk usageโdf -hrunning processesโps auxsay helloโprint('Hello, world!')list filesโls -al
Built-in Commands
help- Show available commandscheats- List all cheat sheet shortcutsmodel- Show current Ollama modelmodel llama2- Switch to different modelquit- Exit the application
๐ฏ Example Sessions
System Administration:
> memory usage
Code to execute: vm_stat
Execute this? [Y/n]: y
=== Bash Output ===
Pages free: 123456.
Pages active: 234567.
...
File Management:
> show me all log files larger than 1MB
Code to execute: find . -name "*.log" -size +1M -ls
Execute this? [Y/n]: y
=== Bash Output ===
drwxr-xr-x 1 user staff 2048 Dec 19 10:30 ./app.log
...
Accessibility
- The CLI uses colorized output for clarity, but all prompts are also readable as plain text.
- All commands are available via keyboard navigation.
- No mouse interaction is required.
๐ Requirements
- Python 3.7+
- Local Ollama server running with at least one model installed
- Install Ollama: https://ollama.com
- Recommended model:
ollama pull gemma3:4b - Or any compatible model you prefer
โ๏ธ Configuration
Environment Variables
export OLLAMA_ENDPOINT="http://localhost:11434" # Default
export OLLAMA_MODEL="gemma3:4b" # Default
Command Line Options
llamaline -e http://localhost:11434 -m llama2 "your command"
๐ Development
Development Installation
git clone https://github.com/lukeslp/llamaline.git
cd llamaline
pip install -e .
Development Scripts
The scripts/ folder contains helpful automation scripts:
# Test package build and functionality
./scripts/test_package.sh
# Create GitHub release (requires git tag)
./scripts/release.sh
# Build conda package (requires conda-build)
./scripts/build_conda.sh
Project Structure
llamaline/
โโโ llamaline/
โ โโโ __init__.py
โ โโโ llamaline.py # Main CLI module
โโโ scripts/
โ โโโ build_conda.sh # Conda package building
โ โโโ release.sh # GitHub release automation
โ โโโ test_package.sh # Package validation testing
โโโ conda-recipe/
โ โโโ meta.yaml # Traditional conda recipe
โ โโโ recipe.yaml # Modern conda-forge recipe
โโโ pyproject.toml # Package configuration
โโโ requirements.txt # Dependencies
โโโ PROJECT_PLAN.md # Roadmap and architecture
โโโ README.md # This file
Contributing
- See
PROJECT_PLAN.mdfor roadmap and contribution guidelines - Follow accessibility best practices
- Include tests for new features
- Update documentation as needed
๐ Safety & Security
llamaline includes several safety features:
- Command confirmation before execution
- Unsafe operation blocking (prevents
sudo,rm -rf, etc.) - Temporary file execution for Python code
- No persistent state between commands
๐ Community & Support
Having fun with llamaline? We'd love to hear from you!
| Connect With Us | Link |
|---|---|
| ๐ Issues & Features | GitHub Issues |
| ๐ ๏ธ Source Code | GitHub Repository |
| ๐ง Email | luke@lukesteuber.com |
| ๐ฆ Bluesky | @lukesteuber.com |
| ๐ผ LinkedIn | lukesteuber |
| โ๏ธ Newsletter | Substack |
| โ Support | Tip Jar |
๐ License
Licensed under the MIT License by Luke Steuber. See LICENSE for details.
Made with โค๏ธ for the accessibility community
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 llamaline-1.0.2.tar.gz.
File metadata
- Download URL: llamaline-1.0.2.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ba8d961750215fcefba7e9fd749afd7406e94fa01054810eb4986591671cf48
|
|
| MD5 |
6085c397daf041ebf9404067ace52f37
|
|
| BLAKE2b-256 |
6e43acb06730e7c004a40268fe7de4bf9c70f866996bbbf3c4b96ea80f0c86a5
|
File details
Details for the file llamaline-1.0.2-py3-none-any.whl.
File metadata
- Download URL: llamaline-1.0.2-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0676e97505e220609d5e7671121f880e838537402ca3a575b7f656b731888e9b
|
|
| MD5 |
0bd7972d27272ccbcbe00d66306244e7
|
|
| BLAKE2b-256 |
edc97295b7fe0cd9d4c436c6cdfed691344b5d7a871bd35a0b662f6e4f49e303
|