janito 0.15.0__py3-none-any.whl → 1.0.1__py3-none-any.whl
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.
- janito/__init__.py +1 -5
- janito/__main__.py +3 -5
- janito/agent/__init__.py +1 -0
- janito/agent/agent.py +96 -0
- janito/agent/config.py +113 -0
- janito/agent/config_defaults.py +10 -0
- janito/agent/conversation.py +107 -0
- janito/agent/queued_tool_handler.py +16 -0
- janito/agent/runtime_config.py +30 -0
- janito/agent/tool_handler.py +124 -0
- janito/agent/tools/__init__.py +11 -0
- janito/agent/tools/ask_user.py +63 -0
- janito/agent/tools/bash_exec.py +58 -0
- janito/agent/tools/create_directory.py +19 -0
- janito/agent/tools/create_file.py +43 -0
- janito/agent/tools/fetch_url.py +48 -0
- janito/agent/tools/file_str_replace.py +48 -0
- janito/agent/tools/find_files.py +37 -0
- janito/agent/tools/gitignore_utils.py +40 -0
- janito/agent/tools/move_file.py +37 -0
- janito/agent/tools/remove_file.py +19 -0
- janito/agent/tools/rich_live.py +37 -0
- janito/agent/tools/rich_utils.py +31 -0
- janito/agent/tools/search_text.py +41 -0
- janito/agent/tools/view_file.py +34 -0
- janito/cli/__init__.py +0 -6
- janito/cli/_print_config.py +68 -0
- janito/cli/_utils.py +8 -0
- janito/cli/arg_parser.py +26 -0
- janito/cli/config_commands.py +131 -0
- janito/cli/logging_setup.py +27 -0
- janito/cli/main.py +39 -0
- janito/cli/runner.py +138 -0
- janito/cli_chat_shell/__init__.py +1 -0
- janito/cli_chat_shell/chat_loop.py +148 -0
- janito/cli_chat_shell/commands.py +202 -0
- janito/cli_chat_shell/config_shell.py +75 -0
- janito/cli_chat_shell/load_prompt.py +15 -0
- janito/cli_chat_shell/session_manager.py +60 -0
- janito/cli_chat_shell/ui.py +136 -0
- janito/render_prompt.py +12 -0
- janito/templates/system_instructions.j2 +38 -0
- janito/web/__init__.py +0 -0
- janito/web/__main__.py +17 -0
- janito/web/app.py +132 -0
- janito-1.0.1.dist-info/METADATA +144 -0
- janito-1.0.1.dist-info/RECORD +51 -0
- {janito-0.15.0.dist-info → janito-1.0.1.dist-info}/WHEEL +2 -1
- janito-1.0.1.dist-info/entry_points.txt +2 -0
- {janito-0.15.0.dist-info → janito-1.0.1.dist-info}/licenses/LICENSE +2 -2
- janito-1.0.1.dist-info/top_level.txt +1 -0
- janito/callbacks.py +0 -34
- janito/cli/agent/__init__.py +0 -7
- janito/cli/agent/conversation.py +0 -149
- janito/cli/agent/initialization.py +0 -168
- janito/cli/agent/query.py +0 -112
- janito/cli/agent.py +0 -12
- janito/cli/app.py +0 -178
- janito/cli/commands/__init__.py +0 -12
- janito/cli/commands/config.py +0 -30
- janito/cli/commands/history.py +0 -119
- janito/cli/commands/profile.py +0 -93
- janito/cli/commands/validation.py +0 -24
- janito/cli/commands/workspace.py +0 -31
- janito/cli/commands.py +0 -12
- janito/cli/output.py +0 -29
- janito/cli/utils.py +0 -22
- janito/config/README.md +0 -104
- janito/config/__init__.py +0 -16
- janito/config/cli/__init__.py +0 -28
- janito/config/cli/commands.py +0 -397
- janito/config/cli/validators.py +0 -77
- janito/config/core/__init__.py +0 -23
- janito/config/core/file_operations.py +0 -90
- janito/config/core/properties.py +0 -316
- janito/config/core/singleton.py +0 -282
- janito/config/profiles/__init__.py +0 -8
- janito/config/profiles/definitions.py +0 -38
- janito/config/profiles/manager.py +0 -80
- janito/data/instructions_template.txt +0 -34
- janito/token_report.py +0 -154
- janito/tools/__init__.py +0 -44
- janito/tools/bash/bash.py +0 -157
- janito/tools/bash/unix_persistent_bash.py +0 -215
- janito/tools/bash/win_persistent_bash.py +0 -341
- janito/tools/decorators.py +0 -90
- janito/tools/delete_file.py +0 -65
- janito/tools/fetch_webpage/__init__.py +0 -23
- janito/tools/fetch_webpage/core.py +0 -182
- janito/tools/find_files.py +0 -220
- janito/tools/move_file.py +0 -72
- janito/tools/prompt_user.py +0 -57
- janito/tools/replace_file.py +0 -63
- janito/tools/rich_console.py +0 -176
- janito/tools/search_text.py +0 -226
- janito/tools/str_replace_editor/__init__.py +0 -6
- janito/tools/str_replace_editor/editor.py +0 -55
- janito/tools/str_replace_editor/handlers/__init__.py +0 -16
- janito/tools/str_replace_editor/handlers/create.py +0 -60
- janito/tools/str_replace_editor/handlers/insert.py +0 -100
- janito/tools/str_replace_editor/handlers/str_replace.py +0 -94
- janito/tools/str_replace_editor/handlers/undo.py +0 -64
- janito/tools/str_replace_editor/handlers/view.py +0 -165
- janito/tools/str_replace_editor/utils.py +0 -33
- janito/tools/think.py +0 -37
- janito/tools/usage_tracker.py +0 -137
- janito-0.15.0.dist-info/METADATA +0 -481
- janito-0.15.0.dist-info/RECORD +0 -64
- janito-0.15.0.dist-info/entry_points.txt +0 -2
janito-0.15.0.dist-info/METADATA
DELETED
@@ -1,481 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: janito
|
3
|
-
Version: 0.15.0
|
4
|
-
Summary: Janito CLI tool
|
5
|
-
Project-URL: Homepage, https://github.com/joaompinto/janito
|
6
|
-
Author-email: João Pinto <lamego.pinto@gmail.com>
|
7
|
-
License-File: LICENSE
|
8
|
-
Requires-Python: >=3.8
|
9
|
-
Requires-Dist: anthropic>=0.5.0
|
10
|
-
Requires-Dist: beautifulsoup4>=4.13.0
|
11
|
-
Requires-Dist: claudine>=0.1.0
|
12
|
-
Requires-Dist: jinja2>=3.0.0
|
13
|
-
Requires-Dist: lxml-html-clean>=0.4.1
|
14
|
-
Requires-Dist: newspaper3k>=0.2.8
|
15
|
-
Requires-Dist: requests>=2.32.0
|
16
|
-
Requires-Dist: rich>=13.0.0
|
17
|
-
Requires-Dist: trafilatura>=1.6.0
|
18
|
-
Requires-Dist: typer>=0.9.0
|
19
|
-
Description-Content-Type: text/markdown
|
20
|
-
|
21
|
-
# 🤖 Janito
|
22
|
-
|
23
|
-
Janito is a powerful AI-assisted command-line interface (CLI) tool built with Python, leveraging Anthropic's Claude for intelligent code and file management.
|
24
|
-
|
25
|
-
[](https://github.com/joaompinto/janito)
|
26
|
-
|
27
|
-
## ✨ Features
|
28
|
-
|
29
|
-
- 🧠 Intelligent AI assistant powered by Claude
|
30
|
-
- 📁 File management capabilities with real-time output
|
31
|
-
- 🔍 Smart code search and editing
|
32
|
-
- 💻 Interactive terminal interface with rich formatting
|
33
|
-
- 📊 Detailed token usage tracking and cost reporting with cache savings analysis
|
34
|
-
- 🌐 Web page fetching with content extraction capabilities
|
35
|
-
- 🔄 Parameter profiles for optimizing Claude's behavior for different tasks
|
36
|
-
- 📋 Line delta tracking to monitor net changes in files
|
37
|
-
- 💬 Enhanced conversation history with browsing and management
|
38
|
-
- 🔇 Trust mode for concise output without tool details
|
39
|
-
- 🚫 No-tools mode for pure AI interactions without file system access
|
40
|
-
- 📝 Custom system instructions for specialized assistant behavior
|
41
|
-
|
42
|
-
## 🛠️ System Requirements
|
43
|
-
|
44
|
-
- **Python 3.8+** - Janito requires Python 3.8 or higher
|
45
|
-
- **Operating Systems**:
|
46
|
-
- Linux/macOS: Native support
|
47
|
-
- Windows: Requires Git Bash for proper operation of CLI tools
|
48
|
-
- **Anthropic API Key** - Required for Claude AI integration
|
49
|
-
|
50
|
-
## 🛠️ Installation
|
51
|
-
|
52
|
-
```bash
|
53
|
-
# Install directly from PyPI
|
54
|
-
pip install janito
|
55
|
-
```
|
56
|
-
|
57
|
-
### Setting up your API Key
|
58
|
-
|
59
|
-
Janito requires an Anthropic API key to function. You can:
|
60
|
-
1. Set the API key: `janito --set-api-key your_api_key`
|
61
|
-
|
62
|
-
For development or installation from source, please see [README_DEV.md](README_DEV.md).
|
63
|
-
|
64
|
-
## 🚀 Usage Tutorial
|
65
|
-
|
66
|
-
After installation, you can start using Janito right away. Let's walk through a simple tutorial:
|
67
|
-
|
68
|
-
### Getting Started
|
69
|
-
|
70
|
-
First, let's check that everything is working:
|
71
|
-
|
72
|
-
```bash
|
73
|
-
# Get help and see available commands
|
74
|
-
janito --help
|
75
|
-
```
|
76
|
-
|
77
|
-
### Tutorial: Creating a Simple Project
|
78
|
-
|
79
|
-
Let's create a simple HTML project with Janito's help:
|
80
|
-
|
81
|
-
After installing Janito, using your prefered editor and/or terminal, go to a new empty folder.
|
82
|
-
|
83
|
-
Use the janito command to create a new project.
|
84
|
-
|
85
|
-
```bash
|
86
|
-
# Step 1: Create a new project structure
|
87
|
-
janito "Create a simple HTML page with a calculator and 3 columns with text for the 3 main activities of the Kazakh culture"
|
88
|
-
```
|
89
|
-
Browse the resulting html page.
|
90
|
-
|
91
|
-
### Tutorial: Adding Features
|
92
|
-
|
93
|
-
Now, let's enhance our example
|
94
|
-
|
95
|
-
```bash
|
96
|
-
# Step 2: Add multiplication and division features
|
97
|
-
janito "Add some svg icons and remove the calculator"
|
98
|
-
|
99
|
-
```
|
100
|
-
|
101
|
-
Refresh the page
|
102
|
-
|
103
|
-
### Exploring More Features
|
104
|
-
|
105
|
-
Janito offers many more capabilities:
|
106
|
-
|
107
|
-
```bash
|
108
|
-
# Show detailed token usage and cost information
|
109
|
-
janito --show-tokens "Explain what is in the project"
|
110
|
-
|
111
|
-
# Use a specific parameter profile for creative tasks
|
112
|
-
janito --profile creative "Write a fun description for our project"
|
113
|
-
|
114
|
-
# Use trust mode for concise output without tool details
|
115
|
-
janito --trust "Optimize the HTML code"
|
116
|
-
# Or use the short alias
|
117
|
-
janito -t "Optimize the HTML code"
|
118
|
-
|
119
|
-
# Disable all tools for pure AI interaction
|
120
|
-
janito --no-tools "Explain how HTML works"
|
121
|
-
|
122
|
-
# View your conversation history
|
123
|
-
janito --history
|
124
|
-
|
125
|
-
# View a specific number of recent conversations
|
126
|
-
janito --history 10
|
127
|
-
|
128
|
-
# Continue the most recent conversation
|
129
|
-
janito --continue "Please add one more line"
|
130
|
-
|
131
|
-
# Continue a specific conversation using its message ID
|
132
|
-
# (Janito displays the message ID after each conversation)
|
133
|
-
janito --continue "abc123def" "Let's refine that code"
|
134
|
-
|
135
|
-
# Alternative way to continue a specific conversation
|
136
|
-
janito --continue-id abc123def "Let's refine that code"
|
137
|
-
|
138
|
-
# Provide custom system instructions
|
139
|
-
janito --system "You are a poetry expert who speaks in rhymes" "Write about coding"
|
140
|
-
# Or use the short alias
|
141
|
-
janito -s "You are a poetry expert who speaks in rhymes" "Write about coding"
|
142
|
-
|
143
|
-
# Show current configuration and available profiles
|
144
|
-
janito --show-config
|
145
|
-
|
146
|
-
# Set a local configuration value (applies to current workspace only)
|
147
|
-
janito --set-local-config "temperature=0.7"
|
148
|
-
|
149
|
-
# Set a global configuration value (applies to all workspaces by default)
|
150
|
-
janito --set-global-config "profile=creative"
|
151
|
-
|
152
|
-
# Reset local configuration
|
153
|
-
janito --reset-local-config
|
154
|
-
|
155
|
-
# Reset global configuration
|
156
|
-
janito --reset-global-config
|
157
|
-
|
158
|
-
# You can press Ctrl+C at any time to interrupt a query
|
159
|
-
# Interrupted conversations can be continued with --continue
|
160
|
-
```
|
161
|
-
|
162
|
-
## 🔧 Available Tools
|
163
|
-
|
164
|
-
Janito comes with several built-in tools:
|
165
|
-
- 📄 `str_replace_editor` - View, create, and edit files with configurable display limits
|
166
|
-
- 🔎 `find_files` - Find files matching patterns
|
167
|
-
- 🗑️ `delete_file` - Delete files
|
168
|
-
- 🔍 `search_text` - Search for text patterns in files
|
169
|
-
- 🌐 `fetch_webpage` - Fetch and extract content from web pages
|
170
|
-
- 📋 `move_file` - Move files from one location to another
|
171
|
-
- 💻 `bash` - Execute bash commands with real-time output display
|
172
|
-
- 🧠 `think` - Tool to record thoughts for complex reasoning
|
173
|
-
|
174
|
-
## 📊 Usage Tracking
|
175
|
-
|
176
|
-
Janito includes a comprehensive token usage tracking system that helps you monitor API costs:
|
177
|
-
|
178
|
-
- **Basic tracking**: By default, Janito displays a summary of token usage and cost after each query
|
179
|
-
- **Detailed reporting**: Use the `--show-tokens` flag to see detailed breakdowns including:
|
180
|
-
- Input and output token counts
|
181
|
-
- Per-tool token usage statistics
|
182
|
-
- Precise cost calculations
|
183
|
-
- Cache performance metrics with savings analysis
|
184
|
-
- Line delta tracking for file modifications
|
185
|
-
|
186
|
-
## 📄 Enhanced File Viewing
|
187
|
-
|
188
|
-
The str_replace_editor tool now includes improved file viewing capabilities:
|
189
|
-
|
190
|
-
- **Configurable Display Limits**: Set the maximum number of lines to display before showing a warning
|
191
|
-
- **Warning Instead of Truncation**: When a file exceeds the configured line limit, a warning is shown but the full content is still displayed
|
192
|
-
- **Customizable Limits**: Configure the `max_view_lines` setting to adjust the threshold (default: 500 lines)
|
193
|
-
|
194
|
-
```bash
|
195
|
-
# Set a custom maximum view lines threshold globally
|
196
|
-
janito --set-global-config "max_view_lines=1000"
|
197
|
-
|
198
|
-
# Set a project-specific threshold
|
199
|
-
janito --set-local-config "max_view_lines=250"
|
200
|
-
```
|
201
|
-
|
202
|
-
This improvement ensures you always see the complete file content while still being warned about potentially large files.
|
203
|
-
|
204
|
-
```bash
|
205
|
-
# Show detailed token usage and cost information
|
206
|
-
janito --show-tokens "Write a Python function to sort a list"
|
207
|
-
|
208
|
-
# Basic usage (shows simplified token usage summary)
|
209
|
-
janito "Explain Docker containers"
|
210
|
-
|
211
|
-
# Use trust mode for concise output without tool details
|
212
|
-
janito --trust "Create a simple Python script"
|
213
|
-
# Or use the short alias
|
214
|
-
janito -t "Create a simple Python script"
|
215
|
-
```
|
216
|
-
|
217
|
-
The usage tracker automatically calculates cache savings, showing you how much you're saving by reusing previous responses.
|
218
|
-
|
219
|
-
## 📋 Parameter Profiles
|
220
|
-
|
221
|
-
Janito offers predefined parameter profiles to optimize Claude's behavior for different tasks:
|
222
|
-
|
223
|
-
- **precise**: Factual answers, documentation, structured data (temperature: 0.2)
|
224
|
-
- **balanced**: Professional writing, summarization, everyday tasks (temperature: 0.5)
|
225
|
-
- **conversational**: Natural dialogue, educational content (temperature: 0.7)
|
226
|
-
- **creative**: Storytelling, brainstorming, marketing copy (temperature: 0.9)
|
227
|
-
- **technical**: Code generation, debugging, technical problem-solving (temperature: 0.3)
|
228
|
-
|
229
|
-
```bash
|
230
|
-
# Use a specific profile
|
231
|
-
janito --profile creative "Write a poem about coding"
|
232
|
-
|
233
|
-
# View available profiles
|
234
|
-
janito --show-config
|
235
|
-
```
|
236
|
-
|
237
|
-
## 🔇 Trust Mode
|
238
|
-
|
239
|
-
Janito offers a trust mode that suppresses tool outputs for a more concise execution experience:
|
240
|
-
|
241
|
-
### How It Works
|
242
|
-
|
243
|
-
- When enabled with `--trust` or `-t`, Janito suppresses informational and success messages from tools
|
244
|
-
- Only essential output and error messages are displayed
|
245
|
-
- The final result from Claude is still shown in full
|
246
|
-
- Trust mode is a per-session setting and not saved to your configuration
|
247
|
-
|
248
|
-
### Using Trust Mode
|
249
|
-
|
250
|
-
```bash
|
251
|
-
# Enable trust mode with the full flag
|
252
|
-
janito --trust "Create a Python script that reads a CSV file"
|
253
|
-
|
254
|
-
# Or use the short alias
|
255
|
-
janito -t "Create a Python script that reads a CSV file"
|
256
|
-
```
|
257
|
-
|
258
|
-
This feature is particularly useful for:
|
259
|
-
- Experienced users who don't need to see every step of the process
|
260
|
-
- Batch processing or scripting where concise output is preferred
|
261
|
-
- Focusing on results rather than the process
|
262
|
-
- Creating cleaner output for documentation or sharing
|
263
|
-
|
264
|
-
## 🚫 No-Tools Mode
|
265
|
-
|
266
|
-
Janito provides a no-tools mode that disables all file system and external tools for pure AI interactions:
|
267
|
-
|
268
|
-
### How It Works
|
269
|
-
|
270
|
-
- When enabled with `--no-tools`, Janito disables all tools for the current session
|
271
|
-
- Claude will respond based purely on its knowledge without accessing or modifying files
|
272
|
-
- This mode is a per-session setting and not saved to your configuration
|
273
|
-
|
274
|
-
### Using No-Tools Mode
|
275
|
-
|
276
|
-
```bash
|
277
|
-
# Enable no-tools mode
|
278
|
-
janito --no-tools "Explain how Docker containers work"
|
279
|
-
```
|
280
|
-
|
281
|
-
This feature is particularly useful for:
|
282
|
-
- Getting general information or explanations without file system access
|
283
|
-
- Brainstorming sessions where you don't need file operations
|
284
|
-
- Safer operation in sensitive environments
|
285
|
-
- Faster responses for queries that don't require tools
|
286
|
-
|
287
|
-
## 📝 Custom System Instructions
|
288
|
-
|
289
|
-
Janito allows you to provide custom system instructions to change Claude's behavior:
|
290
|
-
|
291
|
-
### How It Works
|
292
|
-
|
293
|
-
- When provided with `--system` or `-s`, Janito uses your custom instructions instead of the default
|
294
|
-
- This allows you to create specialized assistant personalities or behaviors
|
295
|
-
- Custom instructions are a per-session setting and not saved to your configuration
|
296
|
-
|
297
|
-
### Using Custom System Instructions
|
298
|
-
|
299
|
-
```bash
|
300
|
-
# Provide custom system instructions
|
301
|
-
janito --system "You are a poetry expert who speaks in rhymes" "Write about coding"
|
302
|
-
|
303
|
-
# Or use the short alias
|
304
|
-
janito -s "You are a cybersecurity expert" "Review this authentication code"
|
305
|
-
```
|
306
|
-
|
307
|
-
This feature is particularly useful for:
|
308
|
-
- Creating specialized assistant personalities
|
309
|
-
- Focusing Claude on specific domains or expertise
|
310
|
-
- Setting up specific response formats or styles
|
311
|
-
- Educational scenarios where you need different expert perspectives
|
312
|
-
|
313
|
-
## 💬 Conversation History
|
314
|
-
|
315
|
-
Janito automatically saves your conversation history, allowing you to browse, manage, and continue previous discussions:
|
316
|
-
|
317
|
-
### How It Works
|
318
|
-
|
319
|
-
- Each conversation is saved with a unique message ID in `.janito/last_messages/`
|
320
|
-
- The most recent conversation is also saved as `.janito/last_message.json` for backward compatibility
|
321
|
-
- After each conversation, Janito displays the command to continue that specific conversation
|
322
|
-
|
323
|
-
### Browsing Your History
|
324
|
-
|
325
|
-
You can view your conversation history with the `--history` flag:
|
326
|
-
|
327
|
-
```bash
|
328
|
-
# Show the 20 most recent conversations (default)
|
329
|
-
janito --history
|
330
|
-
|
331
|
-
# Show a specific number of recent conversations
|
332
|
-
janito --history 10
|
333
|
-
```
|
334
|
-
|
335
|
-
This displays a table with:
|
336
|
-
- Conversation ID
|
337
|
-
- Date and time
|
338
|
-
- First query from each conversation
|
339
|
-
|
340
|
-
### Using the Continue Feature
|
341
|
-
|
342
|
-
```bash
|
343
|
-
# Continue the most recent conversation
|
344
|
-
janito --continue "Add more details to your previous response"
|
345
|
-
|
346
|
-
# Continue a specific conversation using its ID
|
347
|
-
janito --continue abc123def "Let's modify that code you suggested"
|
348
|
-
|
349
|
-
# Just use --continue without arguments to continue the most recent conversation
|
350
|
-
# and be prompted for your next query
|
351
|
-
janito --continue
|
352
|
-
|
353
|
-
# Alternative way to continue a specific conversation
|
354
|
-
janito --continue-id abc123def "Let's modify that code you suggested"
|
355
|
-
```
|
356
|
-
|
357
|
-
The `--continue` flag (or `-c` for short) allows you to:
|
358
|
-
- Resume the most recent conversation when used without an ID
|
359
|
-
- Resume a specific conversation when provided with a message ID
|
360
|
-
- Maintain context across multiple interactions for complex tasks
|
361
|
-
|
362
|
-
This feature is particularly useful for:
|
363
|
-
- Multi-step development tasks
|
364
|
-
- Iterative code improvements
|
365
|
-
- Continuing discussions after system interruptions
|
366
|
-
- Maintaining context when working on complex problems
|
367
|
-
|
368
|
-
## ⚙️ Dependencies
|
369
|
-
|
370
|
-
Janito automatically installs the following dependencies:
|
371
|
-
- typer (>=0.9.0) - For CLI interface
|
372
|
-
- rich (>=13.0.0) - For rich text formatting
|
373
|
-
- claudine - For Claude AI integration
|
374
|
-
- Additional packages for file handling and web content extraction
|
375
|
-
|
376
|
-
## 🛠️ Command-Line Options
|
377
|
-
|
378
|
-
Janito offers a variety of command-line options to customize its behavior:
|
379
|
-
|
380
|
-
```
|
381
|
-
Arguments:
|
382
|
-
[QUERY] Query to send to the claudine agent
|
383
|
-
|
384
|
-
Options:
|
385
|
-
--verbose, -v Enable verbose mode with detailed output
|
386
|
-
--show-tokens, --tokens Show detailed token usage and pricing information
|
387
|
-
--workspace, -w TEXT Set the workspace directory
|
388
|
-
--set-local-config TEXT Set a local configuration value in format 'key=value' (overrides global config)
|
389
|
-
--set-global-config TEXT Set a global configuration value in format 'key=value' (used as default)
|
390
|
-
--show-config Show current configuration
|
391
|
-
--reset-local-config Reset local configuration by removing the local config file
|
392
|
-
--reset-global-config Reset global configuration by removing the global config file
|
393
|
-
--set-api-key TEXT Set the Anthropic API key globally in the user's home directory
|
394
|
-
--ask Enable ask mode which disables tools that perform changes
|
395
|
-
--trust, -t Enable trust mode which suppresses tool outputs for concise execution
|
396
|
-
--no-tools Disable all tools for this session (pure AI interaction)
|
397
|
-
--temperature FLOAT Set the temperature for model generation (0.0 to 1.0)
|
398
|
-
--profile TEXT Use a predefined parameter profile (precise, balanced, conversational, creative, technical)
|
399
|
-
--role TEXT Set the assistant's role (default: 'software engineer')
|
400
|
-
--system, -s TEXT Provide custom system instructions, bypassing the default file load method
|
401
|
-
--version Show the version and exit
|
402
|
-
--continue, -c [TEXT] Continue a conversation. Can be used as: 1) --continue (to continue most recent),
|
403
|
-
2) --continue 123 (to continue conversation with ID 123), or
|
404
|
-
3) --continue "query" (to continue most recent with new query)
|
405
|
-
--history [N] Show a summary of conversations. Use --history for default (20) or --history n to specify count
|
406
|
-
--help Show the help message and exit
|
407
|
-
```
|
408
|
-
|
409
|
-
## ⚙️ Configuration System
|
410
|
-
|
411
|
-
Janito uses a two-level configuration system with local and global settings:
|
412
|
-
|
413
|
-
### Local vs Global Configuration
|
414
|
-
|
415
|
-
- **Local Configuration**: Stored in `.janito/config.json` in your current workspace directory
|
416
|
-
- **Global Configuration**: Stored in `~/.janito/config.json` in your home directory
|
417
|
-
- Local settings override global settings when both are present
|
418
|
-
- Use `--set-local-config` for project-specific settings and `--set-global-config` for user-wide defaults
|
419
|
-
|
420
|
-
### Setting Configuration Values
|
421
|
-
|
422
|
-
```bash
|
423
|
-
# Set a local configuration value (applies to current workspace only)
|
424
|
-
janito --set-local-config "temperature=0.7"
|
425
|
-
|
426
|
-
# Set a global configuration value (applies to all workspaces by default)
|
427
|
-
janito --set-global-config "profile=creative"
|
428
|
-
|
429
|
-
# Reset local configuration
|
430
|
-
janito --reset-local-config
|
431
|
-
|
432
|
-
# Reset global configuration
|
433
|
-
janito --reset-global-config
|
434
|
-
|
435
|
-
# View current configuration (shows both local and global settings)
|
436
|
-
janito --show-config
|
437
|
-
```
|
438
|
-
|
439
|
-
### Configurable Settings
|
440
|
-
|
441
|
-
You can configure various settings including:
|
442
|
-
- `profile`: Parameter profile (precise, balanced, conversational, creative, technical)
|
443
|
-
- `temperature`: Model temperature (0.0 to 1.0)
|
444
|
-
- `role`: Assistant's role (default: 'software engineer')
|
445
|
-
- `ask_mode`: Enable/disable ask mode (true/false)
|
446
|
-
- `max_view_lines`: Maximum number of lines to display before showing a warning (default: 500)
|
447
|
-
|
448
|
-
## 🔑 API Key Configuration
|
449
|
-
|
450
|
-
You can configure your Anthropic API key in several ways:
|
451
|
-
|
452
|
-
```bash
|
453
|
-
# Option 1: Set as environment variable
|
454
|
-
export ANTHROPIC_API_KEY=your_api_key
|
455
|
-
|
456
|
-
# Option 2: Configure globally within Janito
|
457
|
-
janito --set-api-key your_api_key
|
458
|
-
|
459
|
-
# Option 3: Let Janito prompt you on first use
|
460
|
-
janito "Hello, I'm new to Janito!"
|
461
|
-
```
|
462
|
-
|
463
|
-
Your API key is securely stored and used for all future sessions.
|
464
|
-
|
465
|
-
## 💻 Development
|
466
|
-
|
467
|
-
For development instructions, please refer to [README_DEV.md](README_DEV.md).
|
468
|
-
|
469
|
-
## 💡 Use Cases
|
470
|
-
|
471
|
-
### Debugging Code
|
472
|
-
|
473
|
-
Below is an example of using Janito to help fix a bug in your code:
|
474
|
-
|
475
|
-

|
476
|
-
|
477
|
-
Simply describe the bug to Janito, and it will help you identify and fix the issue in your code.
|
478
|
-
|
479
|
-
## 📜 License
|
480
|
-
|
481
|
-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
janito-0.15.0.dist-info/RECORD
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
janito/__init__.py,sha256=zsus-BGV8QuV6oDjBBKDMcceIgrr7KSYOcfkQBO657c,53
|
2
|
-
janito/__main__.py,sha256=Oy-Nc1tZkpyvTKuq1R8oHSuJTkvptN6H93kIHBu7DKY,107
|
3
|
-
janito/callbacks.py,sha256=E1FPXYHZUgiEGMabYuf999PSf_Su4ByHOWlc1-hMqWE,915
|
4
|
-
janito/token_report.py,sha256=Mks7o2yTxPChgQyBJNoQ5eMmrhSgEM4LKCKi2tHJbVo,9580
|
5
|
-
janito/cli/__init__.py,sha256=dVi9l3E86YyukjxQ-XSUnMZkghnNasXex-X5XAOBiwk,85
|
6
|
-
janito/cli/agent.py,sha256=gIkbQZHNcg8hH52ziqklhKY6EDSyl6URUbtRvQQHqyI,414
|
7
|
-
janito/cli/app.py,sha256=8YfBD0aiJIbKLyS1OtQW8lxDQQIEwDaVetLzRqsiqKg,9394
|
8
|
-
janito/cli/commands.py,sha256=M0DKCFZMS1mXA-s9Lm_4Ug7LJFlNg12fBdcDOhCnIWg,380
|
9
|
-
janito/cli/output.py,sha256=mo3hUokhrD4SWexUjCbLGGQeCDUf0369DA_i9BW7HjU,933
|
10
|
-
janito/cli/utils.py,sha256=gO4NtCNwtEzYDsQesrFlqB5FtYuw87yGwo4iG3nINgw,661
|
11
|
-
janito/cli/agent/__init__.py,sha256=3O3b_MnwX_-qApYlyXzXhdjT4-dHzfxpOAy1lK_ZAIE,250
|
12
|
-
janito/cli/agent/conversation.py,sha256=iif8ciIbsb_HZaZ6qvK40s0PyW3QmriZ1Q7PtUqKfI4,5644
|
13
|
-
janito/cli/agent/initialization.py,sha256=7EOdNAUvzx9SAwTaXSgl-qxzqwR_IsUJ475eLJdkY4M,6344
|
14
|
-
janito/cli/agent/query.py,sha256=zblUqyy6JjmA7d2JH8sjah4Kf4iNHBgrImb4d5joxLk,4920
|
15
|
-
janito/cli/commands/__init__.py,sha256=4zGGB0x-TeBetSArBV38SZQo0T1K59vJofhXhLiD3g0,331
|
16
|
-
janito/cli/commands/config.py,sha256=P-ScO3_PZvlny_nlTANNzLCbExAZejQIa2Zi9VJXyP4,827
|
17
|
-
janito/cli/commands/history.py,sha256=WzWgPRZ7mQwlbDCPw3Hapb-K_Ybk1uKLs-qLams6sO4,5409
|
18
|
-
janito/cli/commands/profile.py,sha256=_N2jaCe5sb5CbWkX5MK2tSbqkDMwDjY-g9barusVGCI,3679
|
19
|
-
janito/cli/commands/validation.py,sha256=ldtfk0vAOkrto1Ys6G0MDmUOQvYalHsTd_l_0fMVHcI,718
|
20
|
-
janito/cli/commands/workspace.py,sha256=D1kDnUmSYkItVJUj7TQEKstMlj9n4TW-7F6-DngACwY,867
|
21
|
-
janito/config/README.md,sha256=-O5yJ6S9-G34Gkr7leopYKwvn56wxApAsciQvzQ7M8U,3840
|
22
|
-
janito/config/__init__.py,sha256=6cgEQmhc3lmHU0onB_id4H_ToU570w3WNNUpqamZJm8,627
|
23
|
-
janito/config/cli/__init__.py,sha256=7NsEWbKFYyHurtLLTBsFsfSaeSiO7_RDlfzI6DGqbiE,785
|
24
|
-
janito/config/cli/commands.py,sha256=YucCvzsF0KuIb0JyfuER1y3-3qTL-4QCADZEtpKOIv0,16231
|
25
|
-
janito/config/cli/validators.py,sha256=Wl0-b_P3sKZoZG9wiFQTcU27x11lCTdz5wXLbwVc7RE,2766
|
26
|
-
janito/config/core/__init__.py,sha256=TgaRaJ_qeG5oK3aEBZlPjOmTaUv22a1onHPz_91csao,531
|
27
|
-
janito/config/core/file_operations.py,sha256=il_xwyY45EAxzo0rCil0Vj_3V6BHI93-z4CpK_xKIL8,2723
|
28
|
-
janito/config/core/properties.py,sha256=vaPTCXypsZ-RyAVgQCId4OY1kOLUhZffX3uaorG7ygY,12098
|
29
|
-
janito/config/core/singleton.py,sha256=m5dIcryOK9TPDFtAWyMCDDZRQCQ9-KXRRhQlPySy3Dw,10417
|
30
|
-
janito/config/profiles/__init__.py,sha256=69l2e2kgy0wPqzpXWNZFrtJOnwLq6_22EUJHJs_rsm4,281
|
31
|
-
janito/config/profiles/definitions.py,sha256=KJZQHvK6bvgnfttI7w6BqD5-477Rc7Xk3ZXAm6FPz18,1112
|
32
|
-
janito/config/profiles/manager.py,sha256=oLx1RqIJPkmxrOXVvqWjYDZGEkWtX70uZN62kYYSD7k,2321
|
33
|
-
janito/data/instructions_template.txt,sha256=JCH6LO_9Uo5r7yD2gRJRuCQRxpKrVY42L5jJivfo_CI,2307
|
34
|
-
janito/tools/__init__.py,sha256=mCtmWVFfgrk_SFWcwzw92O9Fb9P-5SYnO2rPMxkT5rM,1624
|
35
|
-
janito/tools/decorators.py,sha256=Tp48n5y4LKsjyV3HeOA9wk2dV413RrEG-23kRyQVlKs,2522
|
36
|
-
janito/tools/delete_file.py,sha256=UrZ5q59SIxWfuJcqgol6yPBqL-RhO9lFCF4MqAc6o00,2252
|
37
|
-
janito/tools/find_files.py,sha256=c_N9ETcRPprQeuZYanwFnl-9E05ZqUYhNVoCRS5uqQg,8300
|
38
|
-
janito/tools/move_file.py,sha256=EkSKFXY47HU7gNpLA4H4z7S3oD5iWkyb55iS2r6jB3E,2732
|
39
|
-
janito/tools/prompt_user.py,sha256=OnTiWVBCbL_2MYu7oThlKr8X_pnYdG-dzxXSOgJF41c,1942
|
40
|
-
janito/tools/replace_file.py,sha256=i4GoLtS14eKSU5lYI18mJ96S0_ekeHMwlQfazg-fxrM,2296
|
41
|
-
janito/tools/rich_console.py,sha256=0zWYRF8qk4N-upuwswUSEfYFAfkEYDYeCgxst-czWtY,6044
|
42
|
-
janito/tools/search_text.py,sha256=GXc8fuqKD6r0dEr2lMs5LrYYMM5RtTApvMXlvdt2ZiY,8839
|
43
|
-
janito/tools/think.py,sha256=VsfYzYSfdBz6ayUYE8aoeAsdeN2PFpHjwUkxtaw1YYQ,1204
|
44
|
-
janito/tools/usage_tracker.py,sha256=3qHXIs9rzm0oY2iaaFHqlLre6ZoWicZgOc46s6XyGc0,4681
|
45
|
-
janito/tools/bash/bash.py,sha256=lY6OX7EgxkkBHmQpTwoe53onxfaA-z4UCE1hdRhqYos,6522
|
46
|
-
janito/tools/bash/unix_persistent_bash.py,sha256=PxwYU-YNTBixp4RgecoVPGnfqVNjy8u3ScIkzfQfT18,8522
|
47
|
-
janito/tools/bash/win_persistent_bash.py,sha256=aglpYIF6JZJiER5c2IBPqM5ufo096y96qtuzA34TKX8,14339
|
48
|
-
janito/tools/fetch_webpage/__init__.py,sha256=Rnzni75VX1JfmGJ2LHckGWQqr7xC95wahh5Q-1PlncQ,514
|
49
|
-
janito/tools/fetch_webpage/core.py,sha256=3Q8dAlWYMU_Mg8DyrNCBaLuriAxItSYIyGAcPZFktcI,7555
|
50
|
-
janito/tools/str_replace_editor/__init__.py,sha256=kYmscmQgft3Jzt3oCNz7k2FiRbJvku6OFDDC3Q_zoAA,144
|
51
|
-
janito/tools/str_replace_editor/editor.py,sha256=BckYfiMRUYDfDrbu871qMt2AfZexth_02QhwYYOd53g,2489
|
52
|
-
janito/tools/str_replace_editor/utils.py,sha256=akiPqCHjky_RwL9OitHJJ7uQ-3fNaA8wt_K_YO1EP6I,954
|
53
|
-
janito/tools/str_replace_editor/handlers/__init__.py,sha256=RP6JCeDRIL4R-lTpGowIoOAi64gg6VxZvJGp8Q2UOVU,373
|
54
|
-
janito/tools/str_replace_editor/handlers/create.py,sha256=s8RQE04kDAL7OLZA8WxJkDqTmJlGmCNiit4tIHnmNMo,2470
|
55
|
-
janito/tools/str_replace_editor/handlers/insert.py,sha256=eKHodm2ozKUlRMxWMLAsu9ca6unUo1jfXWwHSld-pSU,4061
|
56
|
-
janito/tools/str_replace_editor/handlers/str_replace.py,sha256=RciLTlA7R2PGljeeyluLcBHUAje9c1OCxm-bFE7j6iY,4473
|
57
|
-
janito/tools/str_replace_editor/handlers/undo.py,sha256=3OIdAWkpXC2iDe94_sfx_WxEFh3a1cRzoP0NtPXq1Ks,2491
|
58
|
-
janito/tools/str_replace_editor/handlers/view.py,sha256=5NEdWM53oqofdbQNw3DU86icai2BWdf0WzeIAgZIzzg,7158
|
59
|
-
janito/data/instructions_template.txt,sha256=JCH6LO_9Uo5r7yD2gRJRuCQRxpKrVY42L5jJivfo_CI,2307
|
60
|
-
janito-0.15.0.dist-info/METADATA,sha256=9ZODZE5o2a45v78I2ptNveo8vAGr9l-_fK2d7ywkmaE,17212
|
61
|
-
janito-0.15.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
62
|
-
janito-0.15.0.dist-info/entry_points.txt,sha256=JMbF_1jg-xQddidpAYkzjOKdw70fy_ymJfcmerY2wIY,47
|
63
|
-
janito-0.15.0.dist-info/licenses/LICENSE,sha256=6-H8LXExbBIAuT4cyiE-Qy8Bad1K4pagQRVTWr6wkhk,1096
|
64
|
-
janito-0.15.0.dist-info/RECORD,,
|