luv-cli 0.0.5__tar.gz → 0.0.6__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.
- {luv_cli-0.0.5 → luv_cli-0.0.6}/PKG-INFO +1 -1
- {luv_cli-0.0.5 → luv_cli-0.0.6}/luv/__init__.py +14 -7
- {luv_cli-0.0.5 → luv_cli-0.0.6}/pyproject.toml +1 -1
- {luv_cli-0.0.5 → luv_cli-0.0.6}/.claude/settings.json +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.6}/.failproofai/policies-config.json +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.6}/.github/workflows/publish.yml +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.6}/.gitignore +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.6}/LICENSE +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.6}/README.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: luv-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.6
|
|
4
4
|
Summary: Launch Claude Code agents on GitHub repos with isolated workspaces and optional Docker dev environments
|
|
5
5
|
Project-URL: Homepage, https://github.com/exospherehost/luv
|
|
6
6
|
Project-URL: Repository, https://github.com/exospherehost/luv
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import os
|
|
3
|
+
import random
|
|
3
4
|
import re
|
|
4
5
|
import shutil
|
|
5
6
|
import subprocess
|
|
@@ -13,6 +14,13 @@ PRS_DIR = Path.home() / "prs"
|
|
|
13
14
|
CLAUDE_JSON = Path.home() / ".claude.json"
|
|
14
15
|
CLAUDE_SETTINGS_JSON = Path.home() / ".claude" / "settings.json"
|
|
15
16
|
|
|
17
|
+
COLORS = ["red", "blue", "green", "yellow", "purple", "orange", "pink", "cyan", "default"]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def pick_color() -> str:
|
|
21
|
+
"""Pick a random /color value so each luv session is visually distinct."""
|
|
22
|
+
return random.choice(COLORS)
|
|
23
|
+
|
|
16
24
|
PR_RULES = """
|
|
17
25
|
# Pull Request Management
|
|
18
26
|
|
|
@@ -342,6 +350,9 @@ def launch(clone_dir: Path, prompt: str | None, extra_env: dict[str, str] = {})
|
|
|
342
350
|
settings = load_luv_settings(clone_dir)
|
|
343
351
|
compose_file = (settings or {}).get("compose_file")
|
|
344
352
|
|
|
353
|
+
color_cmd = f"/color {pick_color()}"
|
|
354
|
+
initial = f"{color_cmd}\n/plan {prompt}" if prompt else color_cmd
|
|
355
|
+
|
|
345
356
|
if compose_file:
|
|
346
357
|
project = docker_project_name(clone_dir)
|
|
347
358
|
start_docker(clone_dir, compose_file, project)
|
|
@@ -349,9 +360,8 @@ def launch(clone_dir: Path, prompt: str | None, extra_env: dict[str, str] = {})
|
|
|
349
360
|
base = docker_compose_base(clone_dir, compose_file, project)
|
|
350
361
|
claude_cmd = ["claude", "--dangerously-skip-permissions",
|
|
351
362
|
"--permission-mode", "bypassPermissions",
|
|
352
|
-
"--model", "claude-opus-4-7", "--effort", "max"
|
|
353
|
-
|
|
354
|
-
claude_cmd.append(f"/plan {prompt}")
|
|
363
|
+
"--model", "claude-opus-4-7", "--effort", "max",
|
|
364
|
+
initial]
|
|
355
365
|
r = subprocess.run(base + ["exec", "-it"] + docker_env_flags(extra_env) + ["dev-environment"] + claude_cmd)
|
|
356
366
|
sys.exit(r.returncode)
|
|
357
367
|
finally:
|
|
@@ -364,10 +374,7 @@ def launch(clone_dir: Path, prompt: str | None, extra_env: dict[str, str] = {})
|
|
|
364
374
|
"--permission-mode", "bypassPermissions",
|
|
365
375
|
"--model", "claude-opus-4-7", "--effort", "max"]
|
|
366
376
|
os.environ.update(extra_env)
|
|
367
|
-
|
|
368
|
-
os.execv(claude_bin, base_args + [f"/plan {prompt}"])
|
|
369
|
-
else:
|
|
370
|
-
os.execv(claude_bin, base_args)
|
|
377
|
+
os.execv(claude_bin, base_args + [initial])
|
|
371
378
|
|
|
372
379
|
|
|
373
380
|
def cmd_clean(force: bool = False) -> None:
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "luv-cli"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.6"
|
|
8
8
|
description = "Launch Claude Code agents on GitHub repos with isolated workspaces and optional Docker dev environments"
|
|
9
9
|
requires-python = ">=3.10"
|
|
10
10
|
license = "MIT"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|