devs-cli 2.0.7__tar.gz → 2.0.9__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.
- {devs_cli-2.0.7 → devs_cli-2.0.9}/PKG-INFO +1 -1
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs/cli.py +5 -4
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs/config.py +0 -28
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs_cli.egg-info/PKG-INFO +1 -1
- {devs_cli-2.0.7 → devs_cli-2.0.9}/pyproject.toml +1 -1
- {devs_cli-2.0.7 → devs_cli-2.0.9}/LICENSE +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/README.md +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs/__init__.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs/core/__init__.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs/core/integration.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs/exceptions.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs/utils/__init__.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs_cli.egg-info/SOURCES.txt +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs_cli.egg-info/dependency_links.txt +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs_cli.egg-info/entry_points.txt +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs_cli.egg-info/requires.txt +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/devs_cli.egg-info/top_level.txt +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/setup.cfg +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_cli.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_cli_clean.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_cli_misc.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_cli_start.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_cli_stop.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_cli_vscode.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_container_manager.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_e2e.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_error_parsing.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_integration.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_live_mode.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_project.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_repo_cache.py +0 -0
- {devs_cli-2.0.7 → devs_cli-2.0.9}/tests/test_workspace_manager.py +0 -0
|
@@ -819,7 +819,8 @@ def runtests(dev_name: str, reset_workspace: bool, live: bool, env: tuple, debug
|
|
|
819
819
|
|
|
820
820
|
@cli.command()
|
|
821
821
|
@click.argument('dev_name')
|
|
822
|
-
@click.option('--auth', is_flag=True, help='Set up tunnel authentication (
|
|
822
|
+
@click.option('--auth', is_flag=True, help='Set up tunnel authentication (per-container, persists across restarts)')
|
|
823
|
+
|
|
823
824
|
@click.option('--status', is_flag=True, help='Check tunnel status instead of starting')
|
|
824
825
|
@click.option('--kill', 'kill_tunnel', is_flag=True, help='Kill running tunnel')
|
|
825
826
|
@click.option('--live', is_flag=True, help='Start container with current directory mounted as workspace')
|
|
@@ -832,11 +833,11 @@ def tunnel(dev_name: str, auth: bool, status: bool, kill_tunnel: bool, live: boo
|
|
|
832
833
|
without SSH - the container initiates an outbound connection to Microsoft's
|
|
833
834
|
tunnel service, and your local VS Code connects through that.
|
|
834
835
|
|
|
835
|
-
First-time setup requires authentication:
|
|
836
|
+
First-time setup requires authentication per container:
|
|
836
837
|
devs tunnel <name> --auth
|
|
837
838
|
|
|
838
|
-
Auth is stored in
|
|
839
|
-
|
|
839
|
+
Auth is stored in the container and persists across stop/restart
|
|
840
|
+
cycles (but not container removal).
|
|
840
841
|
|
|
841
842
|
DEV_NAME: Development environment name
|
|
842
843
|
|
|
@@ -14,9 +14,6 @@ class Config(BaseConfig):
|
|
|
14
14
|
PROJECT_PREFIX = "dev"
|
|
15
15
|
WORKSPACES_DIR = Path.home() / ".devs" / "workspaces"
|
|
16
16
|
BRIDGE_DIR = Path.home() / ".devs" / "bridge"
|
|
17
|
-
CLAUDE_CONFIG_DIR = Path.home() / ".devs" / "claudeconfig"
|
|
18
|
-
CODEX_CONFIG_DIR = Path.home() / ".devs" / "codexconfig"
|
|
19
|
-
VSCODE_CLI_DIR = Path.home() / ".devs" / "vscode-cli"
|
|
20
17
|
REPO_CACHE_DIR = Path.home() / ".devs" / "repocache"
|
|
21
18
|
|
|
22
19
|
@property
|
|
@@ -31,24 +28,6 @@ class Config(BaseConfig):
|
|
|
31
28
|
super().__init__()
|
|
32
29
|
|
|
33
30
|
# CLI-specific configuration
|
|
34
|
-
claude_config_env = os.getenv("DEVS_CLAUDE_CONFIG_DIR")
|
|
35
|
-
if claude_config_env:
|
|
36
|
-
self.claude_config_dir = Path(claude_config_env)
|
|
37
|
-
else:
|
|
38
|
-
self.claude_config_dir = self.CLAUDE_CONFIG_DIR
|
|
39
|
-
|
|
40
|
-
codex_config_env = os.getenv("DEVS_CODEX_CONFIG_DIR")
|
|
41
|
-
if codex_config_env:
|
|
42
|
-
self.codex_config_dir = Path(codex_config_env)
|
|
43
|
-
else:
|
|
44
|
-
self.codex_config_dir = self.CODEX_CONFIG_DIR
|
|
45
|
-
|
|
46
|
-
vscode_cli_env = os.getenv("DEVS_VSCODE_CLI_DIR")
|
|
47
|
-
if vscode_cli_env:
|
|
48
|
-
self.vscode_cli_dir = Path(vscode_cli_env)
|
|
49
|
-
else:
|
|
50
|
-
self.vscode_cli_dir = self.VSCODE_CLI_DIR
|
|
51
|
-
|
|
52
31
|
repo_cache_env = os.getenv("DEVS_REPO_CACHE_DIR")
|
|
53
32
|
if repo_cache_env:
|
|
54
33
|
self.repo_cache_dir = Path(repo_cache_env)
|
|
@@ -67,13 +46,6 @@ class Config(BaseConfig):
|
|
|
67
46
|
"""Get default project prefix for CLI package."""
|
|
68
47
|
return self.PROJECT_PREFIX
|
|
69
48
|
|
|
70
|
-
def ensure_directories(self) -> None:
|
|
71
|
-
"""Ensure required directories exist."""
|
|
72
|
-
super().ensure_directories()
|
|
73
|
-
self.claude_config_dir.mkdir(parents=True, exist_ok=True)
|
|
74
|
-
self.codex_config_dir.mkdir(parents=True, exist_ok=True)
|
|
75
|
-
self.vscode_cli_dir.mkdir(parents=True, exist_ok=True)
|
|
76
|
-
|
|
77
49
|
|
|
78
50
|
# Global config instance
|
|
79
51
|
config = Config()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|