luv-cli 0.0.5__tar.gz → 0.0.7__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.7}/PKG-INFO +1 -1
- {luv_cli-0.0.5 → luv_cli-0.0.7}/luv/__init__.py +16 -7
- {luv_cli-0.0.5 → luv_cli-0.0.7}/pyproject.toml +1 -1
- {luv_cli-0.0.5 → luv_cli-0.0.7}/.claude/settings.json +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.7}/.failproofai/policies-config.json +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.7}/.github/workflows/publish.yml +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.7}/.gitignore +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.7}/LICENSE +0 -0
- {luv_cli-0.0.5 → luv_cli-0.0.7}/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.7
|
|
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,11 @@ 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
|
+
remote_cmd = "/remote-control"
|
|
355
|
+
prefix = f"{color_cmd}\n{remote_cmd}"
|
|
356
|
+
initial = f"{prefix}\n/plan {prompt}" if prompt else prefix
|
|
357
|
+
|
|
345
358
|
if compose_file:
|
|
346
359
|
project = docker_project_name(clone_dir)
|
|
347
360
|
start_docker(clone_dir, compose_file, project)
|
|
@@ -349,9 +362,8 @@ def launch(clone_dir: Path, prompt: str | None, extra_env: dict[str, str] = {})
|
|
|
349
362
|
base = docker_compose_base(clone_dir, compose_file, project)
|
|
350
363
|
claude_cmd = ["claude", "--dangerously-skip-permissions",
|
|
351
364
|
"--permission-mode", "bypassPermissions",
|
|
352
|
-
"--model", "claude-opus-4-7", "--effort", "max"
|
|
353
|
-
|
|
354
|
-
claude_cmd.append(f"/plan {prompt}")
|
|
365
|
+
"--model", "claude-opus-4-7", "--effort", "max",
|
|
366
|
+
initial]
|
|
355
367
|
r = subprocess.run(base + ["exec", "-it"] + docker_env_flags(extra_env) + ["dev-environment"] + claude_cmd)
|
|
356
368
|
sys.exit(r.returncode)
|
|
357
369
|
finally:
|
|
@@ -364,10 +376,7 @@ def launch(clone_dir: Path, prompt: str | None, extra_env: dict[str, str] = {})
|
|
|
364
376
|
"--permission-mode", "bypassPermissions",
|
|
365
377
|
"--model", "claude-opus-4-7", "--effort", "max"]
|
|
366
378
|
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)
|
|
379
|
+
os.execv(claude_bin, base_args + [initial])
|
|
371
380
|
|
|
372
381
|
|
|
373
382
|
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.7"
|
|
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
|