chalilulz 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,259 @@
1
+ Metadata-Version: 2.4
2
+ Name: chalilulz
3
+ Version: 1.0.0
4
+ Summary: Agentic coding CLI with multi-provider LLM support
5
+ Author-email: Chalilulz <chalilulz@example.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/ForgedInFiles/chalilulz
8
+ Project-URL: Repository, https://github.com/ForgedInFiles/chalilulz
9
+ Keywords: cli,llm,ai,coding,openrouter,ollama,mistral,groq,gemini
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Software Development :: Interpreters
21
+ Requires-Python: >=3.8
22
+ Description-Content-Type: text/markdown
23
+ Provides-Extra: dev
24
+ Requires-Dist: ruff; extra == "dev"
25
+ Dynamic: requires-python
26
+
27
+ # chalilulz
28
+
29
+ <p align="center">
30
+ <img src="https://img.shields.io/badge/python-3.8+-blue.svg" alt="Python 3.8+">
31
+ <img src="https://img.shields.io/badge/LLM-Cli-orange.svg" alt="LLM CLI">
32
+ <img src="https://img.shields.io/badge/Open-Source-green.svg" alt="Open Source">
33
+ <img src="https://img.shields.io/badge/Platform-Cross--Platform-yellow.svg" alt="Cross Platform">
34
+ </p>
35
+
36
+ <p align="center">
37
+ <strong>Agentic coding CLI with multi-provider LLM support</strong><br>
38
+ <em>OpenRouter · Ollama · Mistral · Groq · Gemini</em>
39
+ </p>
40
+
41
+ ---
42
+
43
+ ## Features
44
+
45
+ - **Multi-Provider Support** — Seamlessly switch between OpenRouter, Ollama, Mistral, Groq, and Gemini
46
+ - **Built-in Tools** — File operations, grep search, glob patterns, bash execution, and more
47
+ - **Agent Skills** — Load custom skill sets from `.skills/` directory
48
+ - **Cross-Platform** — Works on Linux, macOS, and Windows with ANSI color support
49
+ - **Zero Dependencies** — Pure Python standard library — no external packages required
50
+
51
+ ---
52
+
53
+ ## Installation
54
+
55
+ ### Quick Install (pip)
56
+
57
+ ```bash
58
+ # Install globally from PyPI (coming soon)
59
+ pip install chalilulz
60
+
61
+ # Or install from source
62
+ pip install git+https://github.com/ForgedInFiles/chalilulz.git
63
+
64
+ # Or install locally (editable mode)
65
+ git clone https://github.com/ForgedInFiles/chalilulz.git
66
+ cd chalilulz
67
+ pip install -e .
68
+ ```
69
+
70
+ ### Manual Install
71
+
72
+ ```bash
73
+ # Clone the repository
74
+ git clone https://github.com/ForgedInFiles/chalilulz.git
75
+ cd chalilulz
76
+
77
+ # Make executable and add to PATH
78
+ chmod +x chalilulz.py
79
+
80
+ # Option 1: Add to your PATH (Linux/macOS)
81
+ sudo ln -s "$(pwd)/chalilulz.py" /usr/local/bin/chalilulz
82
+
83
+ # Option 2: Add to PATH on Windows (PowerShell)
84
+ # Add the folder to your PATH environment variable
85
+
86
+ # Option 3: Use directly
87
+ ./chalilulz.py
88
+ python chalilulz.py
89
+ ```
90
+
91
+ ### Requirements
92
+
93
+ - Python 3.8 or higher
94
+ - API keys for your chosen provider (optional for local Ollama)
95
+
96
+ ---
97
+
98
+ ## Quick Start
99
+
100
+ ```bash
101
+ # After installation, run from anywhere
102
+ chalilulz
103
+
104
+ # Or set a specific model
105
+ chalilulz --model openrouter:arcee-ai/trinity-large-preview:free
106
+
107
+ # Run with Ollama (default)
108
+ chalilulz --model ollama:llama2
109
+
110
+ # Run with Mistral
111
+ chalilulz --model mistral:mistral-small-latest --mistral-key $MISTRAL_API_KEY
112
+
113
+ # Run with Groq
114
+ chalilulz --model groq:llama-3.1-70b-versatile --groq-key $GROQ_API_KEY
115
+
116
+ # Run with Gemini
117
+ chalilulz --model gemini:gemini-2.0-flash --gemini-key $GOOGLE_API_KEY
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Environment Variables
123
+
124
+ | Variable | Description |
125
+ |----------|-------------|
126
+ | `OPENROUTER_API_KEY` | API key for OpenRouter |
127
+ | `MISTRAL_API_KEY` | API key for Mistral AI |
128
+ | `GROQ_API_KEY` | API key for Groq |
129
+ | `GOOGLE_API_KEY` | API key for Gemini |
130
+ | `CHALILULZ_MODEL` | Default model (e.g., `openrouter:arcee-ai/trinity-large-preview:free`) |
131
+ | `CHALILULZ_OLLAMA_HOST` | Ollama host (default: `http://localhost:11434`) |
132
+
133
+ ---
134
+
135
+ ## Available Tools
136
+
137
+ | Tool | Description |
138
+ |------|-------------|
139
+ | `read` | Read files with line numbers |
140
+ | `write` | Write/create files (auto mkdir) |
141
+ | `edit` | Replace unique string in files |
142
+ | `glob` | Find files by glob pattern sorted by mtime |
143
+ | `grep` | Search files by regex |
144
+ | `bash` | Execute shell commands |
145
+ | `ls` | List directory contents |
146
+ | `mkdir` | Create directories recursively |
147
+ | `rm` | Delete files or directories |
148
+ | `mv` | Move/rename files |
149
+ | `cp` | Copy files or directories |
150
+ | `find` | Recursive find by name pattern |
151
+ | `load_skill` | Load full skill instructions by name |
152
+
153
+ ---
154
+
155
+ ## Project Structure
156
+
157
+ ```
158
+ chalilulz.py # Main application
159
+ setup.py # Installation script
160
+ pyproject.toml # Package configuration
161
+ tests/ # Comprehensive test suite
162
+ test_tools.py # Tool function tests
163
+ test_parsing.py # Model parsing tests
164
+ test_api.py # API call tests
165
+ test_skills.py # Skills loading tests
166
+ test_schema.py # Schema generation tests
167
+ test_main.py # Main loop tests
168
+ test_utils.py # Utility function tests
169
+ test_do_tool_calls.py # Tool call execution tests
170
+ AGENTS.md # Development guidelines
171
+ ```
172
+
173
+ ---
174
+
175
+ ## Testing
176
+
177
+ ```bash
178
+ # Run all tests
179
+ python -m unittest discover -s tests -p 'test_*.py' -v
180
+
181
+ # Run specific test module
182
+ python -m unittest tests.test_tools -v
183
+ python -m unittest tests.test_parsing -v
184
+ python -m unittest tests.test_api -v
185
+
186
+ # Run single test method
187
+ python -m unittest tests.test_tools.TestReadTool.test_read_basic -v
188
+
189
+ # Syntax check
190
+ python -m py_compile chalilulz.py
191
+
192
+ # Lint (requires ruff)
193
+ pip install ruff
194
+ ruff check chalilulz.py tests/
195
+ ```
196
+
197
+ ---
198
+
199
+ ## Usage Examples
200
+
201
+ ### Interactive Chat
202
+
203
+ ```bash
204
+ $ chalilulz
205
+ > Write a hello world program in Python
206
+ ```
207
+
208
+ ### With Custom Skills
209
+
210
+ Place skill files in `.skills/` directory:
211
+
212
+ ```
213
+ .skills/
214
+ ├── code-review/
215
+ │ └── SKILL.md
216
+ └── refactor/
217
+ └── SKILL.md
218
+ ```
219
+
220
+ ### Model Switching
221
+
222
+ During runtime, use `/model` command to switch providers:
223
+
224
+ ```
225
+ /model ollama:codellama
226
+ /model groq:llama-3.1-70b-versatile
227
+ ```
228
+
229
+ ---
230
+
231
+ ## Configuration
232
+
233
+ ### Model Syntax
234
+
235
+ ```
236
+ provider:model-id
237
+ ```
238
+
239
+ ### Supported Providers
240
+
241
+ | Prefix | Endpoint |
242
+ |--------|----------|
243
+ | `ollama:` | `http://localhost:11434` |
244
+ | `mistral:` | `https://api.mistral.ai/v1` |
245
+ | `groq:` | `https://api.groq.com/openai/v1` |
246
+ | `gemini:` | `https://generativelanguage.googleapis.com/v1beta/openai` |
247
+ | `openrouter:` | `https://openrouter.ai/api/v1` |
248
+
249
+ ---
250
+
251
+ ## License
252
+
253
+ MIT License — Feel free to use, modify, and distribute.
254
+
255
+ ---
256
+
257
+ <p align="center">
258
+ Built with love for developers who love CLI tools
259
+ </p>
@@ -0,0 +1,233 @@
1
+ # chalilulz
2
+
3
+ <p align="center">
4
+ <img src="https://img.shields.io/badge/python-3.8+-blue.svg" alt="Python 3.8+">
5
+ <img src="https://img.shields.io/badge/LLM-Cli-orange.svg" alt="LLM CLI">
6
+ <img src="https://img.shields.io/badge/Open-Source-green.svg" alt="Open Source">
7
+ <img src="https://img.shields.io/badge/Platform-Cross--Platform-yellow.svg" alt="Cross Platform">
8
+ </p>
9
+
10
+ <p align="center">
11
+ <strong>Agentic coding CLI with multi-provider LLM support</strong><br>
12
+ <em>OpenRouter · Ollama · Mistral · Groq · Gemini</em>
13
+ </p>
14
+
15
+ ---
16
+
17
+ ## Features
18
+
19
+ - **Multi-Provider Support** — Seamlessly switch between OpenRouter, Ollama, Mistral, Groq, and Gemini
20
+ - **Built-in Tools** — File operations, grep search, glob patterns, bash execution, and more
21
+ - **Agent Skills** — Load custom skill sets from `.skills/` directory
22
+ - **Cross-Platform** — Works on Linux, macOS, and Windows with ANSI color support
23
+ - **Zero Dependencies** — Pure Python standard library — no external packages required
24
+
25
+ ---
26
+
27
+ ## Installation
28
+
29
+ ### Quick Install (pip)
30
+
31
+ ```bash
32
+ # Install globally from PyPI (coming soon)
33
+ pip install chalilulz
34
+
35
+ # Or install from source
36
+ pip install git+https://github.com/ForgedInFiles/chalilulz.git
37
+
38
+ # Or install locally (editable mode)
39
+ git clone https://github.com/ForgedInFiles/chalilulz.git
40
+ cd chalilulz
41
+ pip install -e .
42
+ ```
43
+
44
+ ### Manual Install
45
+
46
+ ```bash
47
+ # Clone the repository
48
+ git clone https://github.com/ForgedInFiles/chalilulz.git
49
+ cd chalilulz
50
+
51
+ # Make executable and add to PATH
52
+ chmod +x chalilulz.py
53
+
54
+ # Option 1: Add to your PATH (Linux/macOS)
55
+ sudo ln -s "$(pwd)/chalilulz.py" /usr/local/bin/chalilulz
56
+
57
+ # Option 2: Add to PATH on Windows (PowerShell)
58
+ # Add the folder to your PATH environment variable
59
+
60
+ # Option 3: Use directly
61
+ ./chalilulz.py
62
+ python chalilulz.py
63
+ ```
64
+
65
+ ### Requirements
66
+
67
+ - Python 3.8 or higher
68
+ - API keys for your chosen provider (optional for local Ollama)
69
+
70
+ ---
71
+
72
+ ## Quick Start
73
+
74
+ ```bash
75
+ # After installation, run from anywhere
76
+ chalilulz
77
+
78
+ # Or set a specific model
79
+ chalilulz --model openrouter:arcee-ai/trinity-large-preview:free
80
+
81
+ # Run with Ollama (default)
82
+ chalilulz --model ollama:llama2
83
+
84
+ # Run with Mistral
85
+ chalilulz --model mistral:mistral-small-latest --mistral-key $MISTRAL_API_KEY
86
+
87
+ # Run with Groq
88
+ chalilulz --model groq:llama-3.1-70b-versatile --groq-key $GROQ_API_KEY
89
+
90
+ # Run with Gemini
91
+ chalilulz --model gemini:gemini-2.0-flash --gemini-key $GOOGLE_API_KEY
92
+ ```
93
+
94
+ ---
95
+
96
+ ## Environment Variables
97
+
98
+ | Variable | Description |
99
+ |----------|-------------|
100
+ | `OPENROUTER_API_KEY` | API key for OpenRouter |
101
+ | `MISTRAL_API_KEY` | API key for Mistral AI |
102
+ | `GROQ_API_KEY` | API key for Groq |
103
+ | `GOOGLE_API_KEY` | API key for Gemini |
104
+ | `CHALILULZ_MODEL` | Default model (e.g., `openrouter:arcee-ai/trinity-large-preview:free`) |
105
+ | `CHALILULZ_OLLAMA_HOST` | Ollama host (default: `http://localhost:11434`) |
106
+
107
+ ---
108
+
109
+ ## Available Tools
110
+
111
+ | Tool | Description |
112
+ |------|-------------|
113
+ | `read` | Read files with line numbers |
114
+ | `write` | Write/create files (auto mkdir) |
115
+ | `edit` | Replace unique string in files |
116
+ | `glob` | Find files by glob pattern sorted by mtime |
117
+ | `grep` | Search files by regex |
118
+ | `bash` | Execute shell commands |
119
+ | `ls` | List directory contents |
120
+ | `mkdir` | Create directories recursively |
121
+ | `rm` | Delete files or directories |
122
+ | `mv` | Move/rename files |
123
+ | `cp` | Copy files or directories |
124
+ | `find` | Recursive find by name pattern |
125
+ | `load_skill` | Load full skill instructions by name |
126
+
127
+ ---
128
+
129
+ ## Project Structure
130
+
131
+ ```
132
+ chalilulz.py # Main application
133
+ setup.py # Installation script
134
+ pyproject.toml # Package configuration
135
+ tests/ # Comprehensive test suite
136
+ test_tools.py # Tool function tests
137
+ test_parsing.py # Model parsing tests
138
+ test_api.py # API call tests
139
+ test_skills.py # Skills loading tests
140
+ test_schema.py # Schema generation tests
141
+ test_main.py # Main loop tests
142
+ test_utils.py # Utility function tests
143
+ test_do_tool_calls.py # Tool call execution tests
144
+ AGENTS.md # Development guidelines
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Testing
150
+
151
+ ```bash
152
+ # Run all tests
153
+ python -m unittest discover -s tests -p 'test_*.py' -v
154
+
155
+ # Run specific test module
156
+ python -m unittest tests.test_tools -v
157
+ python -m unittest tests.test_parsing -v
158
+ python -m unittest tests.test_api -v
159
+
160
+ # Run single test method
161
+ python -m unittest tests.test_tools.TestReadTool.test_read_basic -v
162
+
163
+ # Syntax check
164
+ python -m py_compile chalilulz.py
165
+
166
+ # Lint (requires ruff)
167
+ pip install ruff
168
+ ruff check chalilulz.py tests/
169
+ ```
170
+
171
+ ---
172
+
173
+ ## Usage Examples
174
+
175
+ ### Interactive Chat
176
+
177
+ ```bash
178
+ $ chalilulz
179
+ > Write a hello world program in Python
180
+ ```
181
+
182
+ ### With Custom Skills
183
+
184
+ Place skill files in `.skills/` directory:
185
+
186
+ ```
187
+ .skills/
188
+ ├── code-review/
189
+ │ └── SKILL.md
190
+ └── refactor/
191
+ └── SKILL.md
192
+ ```
193
+
194
+ ### Model Switching
195
+
196
+ During runtime, use `/model` command to switch providers:
197
+
198
+ ```
199
+ /model ollama:codellama
200
+ /model groq:llama-3.1-70b-versatile
201
+ ```
202
+
203
+ ---
204
+
205
+ ## Configuration
206
+
207
+ ### Model Syntax
208
+
209
+ ```
210
+ provider:model-id
211
+ ```
212
+
213
+ ### Supported Providers
214
+
215
+ | Prefix | Endpoint |
216
+ |--------|----------|
217
+ | `ollama:` | `http://localhost:11434` |
218
+ | `mistral:` | `https://api.mistral.ai/v1` |
219
+ | `groq:` | `https://api.groq.com/openai/v1` |
220
+ | `gemini:` | `https://generativelanguage.googleapis.com/v1beta/openai` |
221
+ | `openrouter:` | `https://openrouter.ai/api/v1` |
222
+
223
+ ---
224
+
225
+ ## License
226
+
227
+ MIT License — Feel free to use, modify, and distribute.
228
+
229
+ ---
230
+
231
+ <p align="center">
232
+ Built with love for developers who love CLI tools
233
+ </p>