gitarsenal-cli 1.9.91 → 1.9.93
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.
- package/.venv_status.json +1 -1
- package/README.md +9 -9
- package/bin/gitarsenal.js +1 -1
- package/kill_claude/README.md +4 -4
- package/kill_claude/TUI_IMPROVEMENTS.md +2 -2
- package/kill_claude/claude_code_agent.py +16 -16
- package/kill_claude/prompts/claude-code-agent-prompts.md +1 -1
- package/kill_claude/tools/__init__.py +1 -1
- package/kill_claude/tools/bash_tool.py +1 -0
- package/package.json +1 -1
package/.venv_status.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"created":"2025-08-
|
|
1
|
+
{"created":"2025-08-23T15:10:49.169Z","packages":["modal","gitingest","requests","anthropic"],"uv_version":"uv 0.8.4 (Homebrew 2025-07-30)"}
|
package/README.md
CHANGED
|
@@ -18,26 +18,26 @@ GitArsenal CLI makes it incredibly easy to run any GitHub repository without wor
|
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
# Basic usage - clone and run any repo
|
|
21
|
-
gitarsenal --repo
|
|
21
|
+
gitarsenal --repo https://github.com/username/awesome-project.git
|
|
22
22
|
|
|
23
23
|
# With GPU acceleration
|
|
24
|
-
gitarsenal --gpu A10G --repo
|
|
24
|
+
gitarsenal --gpu A10G --repo https://github.com/username/awesome-project.git
|
|
25
25
|
|
|
26
26
|
# With custom setup commands
|
|
27
|
-
gitarsenal --gpu A100 --repo
|
|
27
|
+
gitarsenal --gpu A100 --repo https://github.com/username/awesome-project.git --setup-commands "pip install -r requirements.txt" "python setup.py install"
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
### Examples
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
33
|
# Run a machine learning project
|
|
34
|
-
gitarsenal --gpu A100 --repo
|
|
34
|
+
gitarsenal --gpu A100 --repo https://github.com/username/transformer-project.git --setup-commands "pip install torch transformers" "wandb login"
|
|
35
35
|
|
|
36
36
|
# Run a web development project
|
|
37
|
-
gitarsenal --repo
|
|
37
|
+
gitarsenal --repo https://github.com/username/react-app.git --setup-commands "npm install" "npm start"
|
|
38
38
|
|
|
39
39
|
# Run a data science project with persistent storage
|
|
40
|
-
gitarsenal --gpu A10G --repo
|
|
40
|
+
gitarsenal --gpu A10G --repo https://github.com/username/data-analysis.git --volume-name my-data --setup-commands "pip install pandas numpy matplotlib"
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
## API Key Management
|
|
@@ -78,7 +78,7 @@ Keep your work safe with persistent volumes:
|
|
|
78
78
|
|
|
79
79
|
```bash
|
|
80
80
|
# Create a persistent environment
|
|
81
|
-
gitarsenal --repo
|
|
81
|
+
gitarsenal --repo https://github.com/username/project.git --volume-name my-work
|
|
82
82
|
|
|
83
83
|
# Your data, models, and work will persist between sessions
|
|
84
84
|
```
|
|
@@ -88,7 +88,7 @@ Connect directly to your running environment:
|
|
|
88
88
|
|
|
89
89
|
```bash
|
|
90
90
|
# Get SSH connection details
|
|
91
|
-
gitarsenal --repo
|
|
91
|
+
gitarsenal --repo https://github.com/username/project.git --ssh
|
|
92
92
|
|
|
93
93
|
# Connect via SSH to your environment
|
|
94
94
|
ssh user@your-environment-ip
|
|
@@ -113,7 +113,7 @@ ssh user@your-environment-ip
|
|
|
113
113
|
|
|
114
114
|
1. Install the CLI (see installation instructions)
|
|
115
115
|
2. Add your API keys: `gitarsenal keys add --service openai`
|
|
116
|
-
3. Run any repository: `gitarsenal --repo
|
|
116
|
+
3. Run any repository: `gitarsenal --repo https://github.com/username/project.git`
|
|
117
117
|
4. Start coding!
|
|
118
118
|
|
|
119
119
|
No more "works on my machine" - every environment is identical and ready to go.
|
package/bin/gitarsenal.js
CHANGED
|
@@ -1089,7 +1089,7 @@ keysCmd
|
|
|
1089
1089
|
program
|
|
1090
1090
|
.option('-r, --repo <url>', 'GitHub repository URL')
|
|
1091
1091
|
.option('-g, --gpu <type>', 'GPU type (A10G, A100, H100, T4, L4, L40S, V100)')
|
|
1092
|
-
.option('-c, --gpu-count <number>', 'Number of GPUs to use (1-8)'
|
|
1092
|
+
.option('-c, --gpu-count <number>', 'Number of GPUs to use (1-8)')
|
|
1093
1093
|
.option('-v, --volume <n>', 'Name of persistent volume')
|
|
1094
1094
|
.option('-y, --yes', 'Skip confirmation prompts')
|
|
1095
1095
|
.option('-m, --manual', 'Disable automatic setup command detection')
|
package/kill_claude/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Code Agent
|
|
2
2
|
|
|
3
3
|
A comprehensive Python implementation that replicates Claude Code's functionality by orchestrating all available tools to handle user queries intelligently.
|
|
4
4
|
|
|
@@ -86,12 +86,12 @@ python claude_code_agent.py
|
|
|
86
86
|
|
|
87
87
|
Example interaction:
|
|
88
88
|
```
|
|
89
|
-
🤖
|
|
89
|
+
🤖 Code Agent - Interactive Mode
|
|
90
90
|
Type 'help' for available commands, 'exit' to quit
|
|
91
91
|
--------------------------------------------------
|
|
92
92
|
|
|
93
93
|
👤 You: read main.py
|
|
94
|
-
🤖
|
|
94
|
+
🤖 Code Agent:
|
|
95
95
|
Processing query: read main.py
|
|
96
96
|
Detected intent: file_operation (confidence: 0.80)
|
|
97
97
|
Suggested tools: Read
|
|
@@ -100,7 +100,7 @@ Reading file: main.py
|
|
|
100
100
|
[file contents...]
|
|
101
101
|
|
|
102
102
|
👤 You: implement user authentication system
|
|
103
|
-
🤖
|
|
103
|
+
🤖 Code Agent:
|
|
104
104
|
Processing query: implement user authentication system
|
|
105
105
|
Detected intent: complex_task (confidence: 0.90)
|
|
106
106
|
Suggested tools: TodoWrite, Task
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# 🎨 TUI Improvements for
|
|
1
|
+
# 🎨 TUI Improvements for Code Agent
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
The
|
|
5
|
+
The Code Agent now features a beautiful Terminal User Interface (TUI) powered by [Typer](https://typer.tiangolo.com/) and [Rich](https://rich.readthedocs.io/), providing:
|
|
6
6
|
|
|
7
7
|
- **Beautiful colored output** with syntax highlighting
|
|
8
8
|
- **Professional command-line interface** with proper help system
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
"""
|
|
3
|
-
|
|
3
|
+
Code Agent - Anthropic API Integration
|
|
4
4
|
|
|
5
5
|
This is the main file that replicates Claude Code's functionality by using the Anthropic API
|
|
6
6
|
with proper tool orchestration and system prompt integration.
|
|
@@ -161,7 +161,7 @@ class ClaudeCodeAgent:
|
|
|
161
161
|
"""
|
|
162
162
|
|
|
163
163
|
def __init__(self, api_key: Optional[str] = None):
|
|
164
|
-
"""Initialize the
|
|
164
|
+
"""Initialize the Code Agent with Anthropic API integration."""
|
|
165
165
|
# Get API key from parameter or environment
|
|
166
166
|
self.api_key = api_key or os.getenv('ANTHROPIC_API_KEY')
|
|
167
167
|
if not self.api_key:
|
|
@@ -598,7 +598,7 @@ The following {len(TOOL_SCHEMAS)} tools are loaded and available:
|
|
|
598
598
|
tool_input.get("ignore", []))
|
|
599
599
|
elif tool_name == "Bash":
|
|
600
600
|
return self._execute_command(tool_input.get("command", ""),
|
|
601
|
-
tool_input.get("timeout",
|
|
601
|
+
tool_input.get("timeout", 60000))
|
|
602
602
|
elif tool_name == "TodoWrite":
|
|
603
603
|
return self._update_todos(tool_input.get("todos", []))
|
|
604
604
|
elif tool_name == "Write":
|
|
@@ -714,7 +714,7 @@ The following {len(TOOL_SCHEMAS)} tools are loaded and available:
|
|
|
714
714
|
except Exception as e:
|
|
715
715
|
return f"Error listing directory: {str(e)}"
|
|
716
716
|
|
|
717
|
-
def _execute_command(self, command: str, timeout_ms: int =
|
|
717
|
+
def _execute_command(self, command: str, timeout_ms: int = 60000) -> str:
|
|
718
718
|
"""Execute bash command."""
|
|
719
719
|
import subprocess
|
|
720
720
|
try:
|
|
@@ -934,7 +934,7 @@ Processing prompt: "{prompt}" """
|
|
|
934
934
|
|
|
935
935
|
# Welcome banner
|
|
936
936
|
welcome_panel = Panel(
|
|
937
|
-
"[bold blue]🤖
|
|
937
|
+
"[bold blue]🤖 Code Agent[/bold blue]\n" +
|
|
938
938
|
"[dim]Powered by Anthropic API with claude-sonnet-4-20250514[/dim]\n\n" +
|
|
939
939
|
"[yellow]Commands:[/yellow]\n" +
|
|
940
940
|
"• Type your request naturally\n" +
|
|
@@ -954,7 +954,7 @@ Processing prompt: "{prompt}" """
|
|
|
954
954
|
|
|
955
955
|
if user_input.lower() in ['exit', 'quit', 'bye']:
|
|
956
956
|
console.print(Panel(
|
|
957
|
-
"[bold yellow]👋 Thank you for using
|
|
957
|
+
"[bold yellow]👋 Thank you for using Code Agent![/bold yellow]",
|
|
958
958
|
border_style="yellow"
|
|
959
959
|
))
|
|
960
960
|
break
|
|
@@ -969,7 +969,7 @@ Processing prompt: "{prompt}" """
|
|
|
969
969
|
|
|
970
970
|
# Show that Claude is thinking
|
|
971
971
|
thinking_panel = Panel(
|
|
972
|
-
"[bold blue]🤖
|
|
972
|
+
"[bold blue]🤖 Code Agent[/bold blue] is processing your request...",
|
|
973
973
|
border_style="blue",
|
|
974
974
|
padding=(0, 1)
|
|
975
975
|
)
|
|
@@ -979,7 +979,7 @@ Processing prompt: "{prompt}" """
|
|
|
979
979
|
if response.strip():
|
|
980
980
|
response_panel = Panel(
|
|
981
981
|
response,
|
|
982
|
-
title="🤖
|
|
982
|
+
title="🤖 Code Agent Response",
|
|
983
983
|
border_style="bright_green",
|
|
984
984
|
padding=(0, 1)
|
|
985
985
|
)
|
|
@@ -1054,7 +1054,7 @@ Processing prompt: "{prompt}" """
|
|
|
1054
1054
|
# Display help in columns
|
|
1055
1055
|
console.print(Panel(
|
|
1056
1056
|
Columns(help_panels, equal=True, expand=True),
|
|
1057
|
-
title="🆘
|
|
1057
|
+
title="🆘 Code Agent Help",
|
|
1058
1058
|
subtitle="Powered by Anthropic API with claude-sonnet-4-20250514",
|
|
1059
1059
|
border_style="bright_blue",
|
|
1060
1060
|
padding=(1, 2)
|
|
@@ -1096,7 +1096,7 @@ Processing prompt: "{prompt}" """
|
|
|
1096
1096
|
|
|
1097
1097
|
console.print(Panel(
|
|
1098
1098
|
Columns(status_panels, equal=True),
|
|
1099
|
-
title="📊
|
|
1099
|
+
title="📊 Code Agent Status",
|
|
1100
1100
|
border_style="bright_blue",
|
|
1101
1101
|
padding=(1, 1)
|
|
1102
1102
|
))
|
|
@@ -1105,7 +1105,7 @@ Processing prompt: "{prompt}" """
|
|
|
1105
1105
|
# Create Typer app
|
|
1106
1106
|
app = typer.Typer(
|
|
1107
1107
|
name="claude-code-agent",
|
|
1108
|
-
help="🤖
|
|
1108
|
+
help="🤖 Code Agent - Anthropic API Integration with Beautiful TUI",
|
|
1109
1109
|
add_completion=False,
|
|
1110
1110
|
rich_markup_mode="rich"
|
|
1111
1111
|
)
|
|
@@ -1162,7 +1162,7 @@ def query(
|
|
|
1162
1162
|
if response.strip():
|
|
1163
1163
|
console.print(Panel(
|
|
1164
1164
|
response,
|
|
1165
|
-
title="🤖
|
|
1165
|
+
title="🤖 Code Agent Response",
|
|
1166
1166
|
border_style="bright_green"
|
|
1167
1167
|
))
|
|
1168
1168
|
else:
|
|
@@ -1223,7 +1223,7 @@ def setup():
|
|
|
1223
1223
|
Panel(system_info, title="🔍 System Info", border_style="blue"),
|
|
1224
1224
|
Panel(setup_instructions, title="📋 Setup Instructions", border_style="green")
|
|
1225
1225
|
], equal=True),
|
|
1226
|
-
title="⚙️
|
|
1226
|
+
title="⚙️ Code Agent Setup",
|
|
1227
1227
|
border_style="bright_blue",
|
|
1228
1228
|
padding=(1, 1)
|
|
1229
1229
|
))
|
|
@@ -1243,7 +1243,7 @@ def configure(
|
|
|
1243
1243
|
return
|
|
1244
1244
|
|
|
1245
1245
|
console.print(Panel(
|
|
1246
|
-
"[bold blue]🔧
|
|
1246
|
+
"[bold blue]🔧 Code Agent Configuration Wizard[/bold blue]\n" +
|
|
1247
1247
|
"This will help you set up your preferences and API credentials.",
|
|
1248
1248
|
title="Configuration Wizard",
|
|
1249
1249
|
border_style="blue"
|
|
@@ -1454,11 +1454,11 @@ def templates():
|
|
|
1454
1454
|
}
|
|
1455
1455
|
},
|
|
1456
1456
|
"claude-agent": {
|
|
1457
|
-
"description": "
|
|
1457
|
+
"description": "Code Agent project structure",
|
|
1458
1458
|
"files": {
|
|
1459
1459
|
"main.py": "#!/usr/bin/env python3\nfrom claude_code_agent import ClaudeCodeAgent\n\ndef main():\n agent = ClaudeCodeAgent()\n agent.interactive_mode()\n\nif __name__ == '__main__':\n main()\n",
|
|
1460
1460
|
"requirements.txt": "anthropic>=0.25.0\ntyper>=0.12.0\nrich>=13.0.0\n",
|
|
1461
|
-
"README.md": "# Claude Agent Project\n\nA project using
|
|
1461
|
+
"README.md": "# Claude Agent Project\n\nA project using Code Agent.\n",
|
|
1462
1462
|
".env.example": "ANTHROPIC_API_KEY=your_key_here\n"
|
|
1463
1463
|
}
|
|
1464
1464
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"""Tools package for
|
|
1
|
+
"""Tools package for Code Agent."""
|
|
@@ -23,6 +23,7 @@ Before executing the command, please follow these steps:
|
|
|
23
23
|
Usage notes:
|
|
24
24
|
- The command argument is required.
|
|
25
25
|
- You can specify an optional timeout in milliseconds (up to 600000ms / 10 minutes). If not specified, commands will timeout after 120000ms (2 minutes).
|
|
26
|
+
- IMPORTANT: Always use longer timeouts (600000ms/10 minutes) for package installation commands like `uv pip install`, `npm install`, `pip install`, `cargo install`, `go install`, etc. as these commands typically take longer to download and install packages.
|
|
26
27
|
- It is very helpful if you write a clear, concise description of what this command does in 5-10 words.
|
|
27
28
|
- If the output exceeds 30000 characters, output will be truncated before being returned to you.
|
|
28
29
|
- You can use the `run_in_background` parameter to run the command in the background, which allows you to continue working while the command runs. You can monitor the output using the Bash tool as it becomes available. Never use `run_in_background` to run 'sleep' as it will return immediately. You do not need to use '&' at the end of the command when using this parameter.
|