# -*- coding: utf-8 -*- """cwd 校验工具 — .kiro/scripts/ 下所有脚本共享。 用法: from _ensure_root import ensure_repo_root ensure_repo_root() 委托给 neozqyy_shared.repo_root(共享包),未安装时 fallback。 """ from __future__ import annotations import os import warnings from pathlib import Path def ensure_repo_root() -> Path: """校验 cwd 是否为仓库根目录,不是则自动切换。""" try: from neozqyy_shared.repo_root import ensure_repo_root as _shared return _shared() except ImportError: pass # fallback cwd = Path.cwd() if (cwd / "pyproject.toml").is_file() and (cwd / ".kiro").is_dir(): return cwd root = Path(__file__).resolve().parents[2] if (root / "pyproject.toml").is_file() and (root / ".kiro").is_dir(): os.chdir(root) warnings.warn( f"cwd 不是仓库根目录,已自动切换: {cwd} → {root}", stacklevel=2, ) return root raise RuntimeError( f"无法定位仓库根目录。当前 cwd={cwd},推断 root={root}。" f"请在仓库根目录下运行脚本。" )