Coverage report:
86%
hide covered
Files
Functions
Classes
coverage.py v7.13.5
, created at 2026-04-14 22:12 +0000
File
function
statements
missing
excluded
coverage
src / ai_shell / __init__.py
(no function)
2
0
0
100%
src / ai_shell / config.py
AiShellConfig.full_image
1
0
0
100%
src / ai_shell / config.py
AiShellConfig.dev_ports
1
0
0
100%
src / ai_shell / config.py
load_config
21
0
0
100%
src / ai_shell / config.py
_load_config_file
6
0
0
100%
src / ai_shell / config.py
_apply_config
53
5
0
91%
src / ai_shell / config.py
_apply_env_vars
12
1
0
92%
src / ai_shell / config.py
(no function)
42
0
0
100%
src / ai_shell / container.py
_exec_docker
5
0
0
100%
src / ai_shell / container.py
_run_docker
7
0
0
100%
src / ai_shell / container.py
ContainerManager.__init__
6
0
0
100%
src / ai_shell / container.py
ContainerManager.resolve_dev_container
9
0
0
100%
src / ai_shell / container.py
ContainerManager.ensure_dev_container
10
0
0
100%
src / ai_shell / container.py
ContainerManager._create_dev_container
11
0
0
100%
src / ai_shell / container.py
ContainerManager.exec_interactive
11
0
0
100%
src / ai_shell / container.py
ContainerManager.run_interactive
11
2
0
82%
src / ai_shell / container.py
ContainerManager._ensure_llm_network
6
0
0
100%
src / ai_shell / container.py
ContainerManager.ensure_ollama
29
4
0
86%
src / ai_shell / container.py
ContainerManager.ensure_webui
12
0
0
100%
src / ai_shell / container.py
ContainerManager.exec_in_ollama
8
1
0
88%
src / ai_shell / container.py
ContainerManager.stop_container
6
0
0
100%
src / ai_shell / container.py
ContainerManager.remove_container
8
0
0
100%
src / ai_shell / container.py
ContainerManager.container_ports
11
0
0
100%
src / ai_shell / container.py
ContainerManager.container_status
4
0
0
100%
src / ai_shell / container.py
ContainerManager.container_logs
8
0
0
100%
src / ai_shell / container.py
ContainerManager._get_container
4
4
0
0%
src / ai_shell / container.py
ContainerManager._container_matches_project
6
0
0
100%
src / ai_shell / container.py
ContainerManager._pull_image_if_needed
10
2
0
80%
src / ai_shell / container.py
(no function)
35
0
3
100%
src / ai_shell / defaults.py
uv_venv_path
4
0
0
100%
src / ai_shell / defaults.py
_sanitize_name
3
0
0
100%
src / ai_shell / defaults.py
sanitize_project_name
1
0
0
100%
src / ai_shell / defaults.py
unique_project_name
3
0
0
100%
src / ai_shell / defaults.py
dev_container_name
3
0
0
100%
src / ai_shell / defaults.py
build_dev_mounts
19
0
0
100%
src / ai_shell / defaults.py
_find_gh_config_dir
11
5
0
55%
src / ai_shell / defaults.py
build_dev_environment
19
0
0
100%
src / ai_shell / defaults.py
build_dev_environment._resolve
4
0
0
100%
src / ai_shell / defaults.py
(no function)
38
0
2
100%
src / ai_shell / exceptions.py
ImagePullError.__init__
3
0
0
100%
src / ai_shell / exceptions.py
ContainerNotFoundError.__init__
2
0
0
100%
src / ai_shell / exceptions.py
(no function)
7
0
0
100%
src / ai_shell / gpu.py
detect_gpu
5
0
0
100%
src / ai_shell / gpu.py
_check_nvidia_smi
13
3
0
77%
src / ai_shell / gpu.py
get_vram_info
15
3
0
80%
src / ai_shell / gpu.py
get_vram_processes
19
5
0
74%
src / ai_shell / gpu.py
_check_docker_gpu_runtime
18
5
0
72%
src / ai_shell / gpu.py
(no function)
10
0
0
100%
src / ai_shell / interactive.py
_build_pane_options
9
0
0
100%
src / ai_shell / interactive.py
run_interactive_wizard
20
0
0
100%
src / ai_shell / interactive.py
build_interactive_panes
25
1
0
96%
src / ai_shell / interactive.py
(no function)
31
0
2
100%
src / ai_shell / local_chrome.py
find_chrome
11
11
0
0%
src / ai_shell / local_chrome.py
_chrome_profile_dir
4
4
0
0%
src / ai_shell / local_chrome.py
_find_free_port
4
4
0
0%
src / ai_shell / local_chrome.py
launch_chrome
11
11
0
0%
src / ai_shell / local_chrome.py
probe_chrome_port
8
0
0
100%
src / ai_shell / local_chrome.py
ensure_host_chrome
12
1
0
92%
src / ai_shell / local_chrome.py
start_chrome_proxy
6
0
0
100%
src / ai_shell / local_chrome.py
write_mcp_config
8
1
0
88%
src / ai_shell / local_chrome.py
(no function)
26
0
0
100%
src / ai_shell / scaffold.py
_read_template
3
0
0
100%
src / ai_shell / scaffold.py
_clean_paths
10
0
0
100%
src / ai_shell / scaffold.py
_deep_merge_settings
11
0
0
100%
src / ai_shell / scaffold.py
_merge_json_file
11
0
0
100%
src / ai_shell / scaffold.py
_write_file
8
0
0
100%
src / ai_shell / scaffold.py
scaffold_claude
9
0
0
100%
src / ai_shell / scaffold.py
scaffold_project
6
0
0
100%
src / ai_shell / scaffold.py
scaffold_opencode
8
0
0
100%
src / ai_shell / scaffold.py
scaffold_codex
6
0
0
100%
src / ai_shell / scaffold.py
scaffold_aider
7
0
0
100%
src / ai_shell / scaffold.py
(no function)
30
0
0
100%
src / ai_shell / selector.py
interactive_multi_select
6
2
0
67%
src / ai_shell / selector.py
_rich_multi_select
41
4
0
90%
src / ai_shell / selector.py
_curses_main
48
48
0
0%
src / ai_shell / selector.py
_safe_addstr
8
8
0
0%
src / ai_shell / selector.py
(no function)
21
3
2
86%
src / ai_shell / templates / __init__.py
(no function)
0
0
0
100%
src / ai_shell / templates / aider / __init__.py
(no function)
0
0
0
100%
src / ai_shell / templates / claude / __init__.py
(no function)
0
0
0
100%
src / ai_shell / templates / codex / __init__.py
(no function)
0
0
0
100%
src / ai_shell / templates / opencode / __init__.py
(no function)
0
0
0
100%
src / ai_shell / tmux.py
_build_dep_sync_prefix
1
0
0
100%
src / ai_shell / tmux.py
build_claude_pane_command
23
2
0
91%
src / ai_shell / tmux.py
build_check_session_command
1
0
0
100%
src / ai_shell / tmux.py
build_attach_command
1
0
0
100%
src / ai_shell / tmux.py
select_layout
2
0
0
100%
src / ai_shell / tmux.py
build_tmux_commands
26
0
0
100%
src / ai_shell / tmux.py
build_tmux_commands._exec
1
0
0
100%
src / ai_shell / tmux.py
(no function)
16
0
0
100%
Total
1031
140
9
86%
No items found using the specified filter.