Coverage report: 99%

Files Functions Classes

coverage.py v7.13.5, created at 2026-04-02 07:04 +0000

File function   statements missing excluded   coverage
src / rhiza / __init__.py (no function)   6 0 0   100%
src / rhiza / __main__.py load_plugins   7 0 0   100%
src / rhiza / __main__.py (no function)   8 0 0   100%
src / rhiza / cli.py _exit_on_error   5 0 0   100%
src / rhiza / cli.py version_callback   3 0 0   100%
src / rhiza / cli.py main   0 0 0   100%
src / rhiza / cli.py init   5 0 0   100%
src / rhiza / cli.py sync   9 0 0   100%
src / rhiza / cli.py status   2 0 0   100%
src / rhiza / cli.py tree   2 0 0   100%
src / rhiza / cli.py validate   5 0 0   100%
src / rhiza / cli.py migrate   1 0 0   100%
src / rhiza / cli.py list_repos   2 0 0   100%
src / rhiza / cli.py uninstall   2 0 0   100%
src / rhiza / cli.py summarise   2 0 0   100%
src / rhiza / cli.py (no function)   41 0 0   100%
src / rhiza / commands / __init__.py (no function)   7 0 0   100%
src / rhiza / commands / _sync_helpers.py _load_lock_or_warn   7 0 0   100%
src / rhiza / commands / _sync_helpers.py _warn_about_workflow_files   4 0 0   100%
src / rhiza / commands / _sync_helpers.py _files_from_snapshot   1 0 0   100%
src / rhiza / commands / _sync_helpers.py _read_previously_tracked_files   28 0 0   100%
src / rhiza / commands / _sync_helpers.py _delete_orphaned_file   8 0 0   100%
src / rhiza / commands / _sync_helpers.py _clean_orphaned_files   19 0 0   100%
src / rhiza / commands / _sync_helpers.py _write_lock   20 0 0   100%
src / rhiza / commands / _sync_helpers.py (no function)   17 0 2   100%
src / rhiza / commands / init.py _normalize_package_name   6 0 0   100%
src / rhiza / commands / init.py _validate_git_host   7 0 0   100%
src / rhiza / commands / init.py _check_template_repository_reachable   20 0 0   100%
src / rhiza / commands / init.py _prompt_git_host   9 0 0   100%
src / rhiza / commands / init.py _prompt_template_repository   29 0 0   100%
src / rhiza / commands / init.py _get_default_templates_for_host   4 0 0   100%
src / rhiza / commands / init.py _display_path   1 0 0   100%
src / rhiza / commands / init.py _create_template_file   23 0 0   100%
src / rhiza / commands / init.py _create_python_package   30 0 0   100%
src / rhiza / commands / init.py _create_pyproject_toml   10 0 0   100%
src / rhiza / commands / init.py _create_readme   6 0 0   100%
src / rhiza / commands / init.py init   32 0 0   100%
src / rhiza / commands / init.py (no function)   25 0 0   100%
src / rhiza / commands / list_repos.py _fetch_repos   9 0 0   100%
src / rhiza / commands / list_repos.py _format_date   3 0 0   100%
src / rhiza / commands / list_repos.py _wrap_text   13 0 0   100%
src / rhiza / commands / list_repos.py _render_table   20 0 0   100%
src / rhiza / commands / list_repos.py _render_table.cell_row   1 0 0   100%
src / rhiza / commands / list_repos.py list_repos   10 0 0   100%
src / rhiza / commands / list_repos.py (no function)   22 0 0   100%
src / rhiza / commands / migrate.py _create_rhiza_directory   7 0 0   100%
src / rhiza / commands / migrate.py _migrate_template_file   24 0 0   100%
src / rhiza / commands / migrate.py _ensure_rhiza_in_include   11 0 0   100%
src / rhiza / commands / migrate.py _migrate_history_file   17 0 0   100%
src / rhiza / commands / migrate.py _print_migration_summary   8 0 0   100%
src / rhiza / commands / migrate.py migrate   11 0 0   100%
src / rhiza / commands / migrate.py (no function)   11 0 0   100%
src / rhiza / commands / status.py status   12 0 0   100%
src / rhiza / commands / status.py (no function)   4 0 0   100%
src / rhiza / commands / summarise.py run_git_command   6 0 0   100%
src / rhiza / commands / summarise.py get_staged_changes   18 0 0   100%
src / rhiza / commands / summarise.py _categorize_by_directory   16 0 0   100%
src / rhiza / commands / summarise.py _categorize_single_file   11 0 0   100%
src / rhiza / commands / summarise.py categorize_files   5 0 0   100%
src / rhiza / commands / summarise.py get_template_info   13 0 0   100%
src / rhiza / commands / summarise.py get_last_sync_date   8 0 0   100%
src / rhiza / commands / summarise.py _format_file_list   4 0 0   100%
src / rhiza / commands / summarise.py _add_category_section   9 0 0   100%
src / rhiza / commands / summarise.py _build_header   1 0 0   100%
src / rhiza / commands / summarise.py _build_summary   1 0 0   100%
src / rhiza / commands / summarise.py _build_footer   5 0 0   100%
src / rhiza / commands / summarise.py generate_pr_description   25 0 0   100%
src / rhiza / commands / summarise.py summarise   13 0 0   100%
src / rhiza / commands / summarise.py (no function)   20 0 0   100%
src / rhiza / commands / sync.py _log_list   4 0 0   100%
src / rhiza / commands / sync.py _load_template_from_project   28 0 0   100%
src / rhiza / commands / sync.py _clone_template   20 0 0   100%
src / rhiza / commands / sync.py sync   28 0 0   100%
src / rhiza / commands / sync.py (no function)   14 0 0   100%
src / rhiza / commands / tree.py _build_rich_tree   13 0 0   100%
src / rhiza / commands / tree.py tree   11 0 0   100%
src / rhiza / commands / tree.py (no function)   7 0 0   100%
src / rhiza / commands / uninstall.py _confirm_uninstall   15 0 0   100%
src / rhiza / commands / uninstall.py _remove_files   28 5 0   82%
src / rhiza / commands / uninstall.py _cleanup_empty_directories   16 0 0   100%
src / rhiza / commands / uninstall.py _remove_history_file   7 0 0   100%
src / rhiza / commands / uninstall.py _print_summary   9 0 0   100%
src / rhiza / commands / uninstall.py uninstall   31 0 0   100%
src / rhiza / commands / uninstall.py (no function)   8 0 0   100%
src / rhiza / commands / validate.py _check_git_repository   5 0 0   100%
src / rhiza / commands / validate.py _check_project_structure   9 0 0   100%
src / rhiza / commands / validate.py _check_template_file_exists   23 0 0   100%
src / rhiza / commands / validate.py _parse_yaml_file   14 0 0   100%
src / rhiza / commands / validate.py _validate_configuration_mode   21 0 0   100%
src / rhiza / commands / validate.py _validate_templates   18 0 0   100%
src / rhiza / commands / validate.py _validate_required_fields   16 0 0   100%
src / rhiza / commands / validate.py _validate_repository_format   18 0 0   100%
src / rhiza / commands / validate.py _validate_include_paths   18 0 0   100%
src / rhiza / commands / validate.py _validate_branch_field   11 0 0   100%
src / rhiza / commands / validate.py _validate_host_field   10 0 0   100%
src / rhiza / commands / validate.py _validate_language_field   12 0 0   100%
src / rhiza / commands / validate.py _validate_exclude_field   11 0 0   100%
src / rhiza / commands / validate.py _validate_optional_fields   5 0 0   100%
src / rhiza / commands / validate.py validate   31 0 0   100%
src / rhiza / commands / validate.py (no function)   21 0 0   100%
src / rhiza / language_validators.py LanguageValidator.validate_project_structure   0 0 1   100%
src / rhiza / language_validators.py LanguageValidator.get_language_name   0 0 1   100%
src / rhiza / language_validators.py PythonValidator.get_language_name   1 0 0   100%
src / rhiza / language_validators.py PythonValidator.validate_project_structure   19 0 0   100%
src / rhiza / language_validators.py GoValidator.get_language_name   1 0 0   100%
src / rhiza / language_validators.py GoValidator.validate_project_structure   23 0 0   100%
src / rhiza / language_validators.py LanguageValidatorRegistry.__init__   2 0 0   100%
src / rhiza / language_validators.py LanguageValidatorRegistry._register_defaults   2 0 0   100%
src / rhiza / language_validators.py LanguageValidatorRegistry.register   3 0 0   100%
src / rhiza / language_validators.py LanguageValidatorRegistry.get_validator   1 0 0   100%
src / rhiza / language_validators.py LanguageValidatorRegistry.get_supported_languages   1 0 0   100%
src / rhiza / language_validators.py get_validator_registry   1 0 0   100%
src / rhiza / language_validators.py (no function)   22 0 3   100%
src / rhiza / models / __init__.py (no function)   6 0 0   100%
src / rhiza / models / _base.py YamlSerializable.from_yaml   1 0 0   100%
src / rhiza / models / _base.py YamlSerializable.from_config   0 0 1   100%
src / rhiza / models / _base.py YamlSerializable.config   0 0 1   100%
src / rhiza / models / _base.py YamlSerializable.to_yaml   3 0 0   100%
src / rhiza / models / _base.py read_yaml   7 0 0   100%
src / rhiza / models / _base.py load_model   4 0 0   100%
src / rhiza / models / _base.py (no function)   15 0 2   100%
src / rhiza / models / _git_utils.py GitContext.default   3 0 0   100%
src / rhiza / models / _git_utils.py GitContext.assert_status_clean   7 0 0   100%
src / rhiza / models / _git_utils.py GitContext.handle_target_branch   15 0 0   100%
src / rhiza / models / _git_utils.py GitContext.get_diff   10 0 0   100%
src / rhiza / models / _git_utils.py GitContext.sync_diff   6 0 0   100%
src / rhiza / models / _git_utils.py GitContext._parse_diff_filenames   33 0 0   100%
src / rhiza / models / _git_utils.py GitContext._parse_diff_filenames._flush   3 0 0   100%
src / rhiza / models / _git_utils.py GitContext._merge_file_fallback   41 0 0   100%
src / rhiza / models / _git_utils.py GitContext._apply_diff   20 0 0   100%
src / rhiza / models / _git_utils.py GitContext._copy_files_to_target   6 0 0   100%
src / rhiza / models / _git_utils.py GitContext.sync_merge   18 0 0   100%
src / rhiza / models / _git_utils.py GitContext.update_sparse_checkout   9 0 0   100%
src / rhiza / models / _git_utils.py GitContext.get_head_sha   2 0 0   100%
src / rhiza / models / _git_utils.py GitContext.clone_repository   29 0 0   100%
src / rhiza / models / _git_utils.py GitContext.clone_at_sha   20 0 0   100%
src / rhiza / models / _git_utils.py GitContext._merge_with_base   20 0 0   100%
src / rhiza / models / _git_utils.py _normalize_to_list   8 0 0   100%
src / rhiza / models / _git_utils.py get_git_executable   5 0 0   100%
src / rhiza / models / _git_utils.py _log_git_stderr_errors   5 0 0   100%
src / rhiza / models / _git_utils.py _expand_paths   9 0 0   100%
src / rhiza / models / _git_utils.py _excluded_set   6 0 0   100%
src / rhiza / models / _git_utils.py _prepare_snapshot   9 0 0   100%
src / rhiza / models / _git_utils.py (no function)   35 0 3   100%
src / rhiza / models / bundle.py RhizaBundles.config   15 0 0   100%
src / rhiza / models / bundle.py RhizaBundles.from_config   14 0 0   100%
src / rhiza / models / bundle.py RhizaBundles.resolve_to_paths   14 0 0   100%
src / rhiza / models / bundle.py (no function)   19 0 0   100%
src / rhiza / models / lock.py TemplateLock.from_config   1 0 0   100%
src / rhiza / models / lock.py TemplateLock.config   6 0 0   100%
src / rhiza / models / lock.py (no function)   21 0 0   100%
src / rhiza / models / template.py RhizaTemplate.from_config   3 0 0   100%
src / rhiza / models / template.py RhizaTemplate.config   11 0 0   100%
src / rhiza / models / template.py RhizaTemplate.git_url   8 0 0   100%
src / rhiza / models / template.py (no function)   24 0 2   100%
Total     1800 5 16   99%

No items found using the specified filter.