From 3d24f8f59efa441574a673233925646283692afd Mon Sep 17 00:00:00 2001 From: AndyMik90 Date: Thu, 18 Dec 2025 20:03:46 +0100 Subject: [PATCH] fix: correct path resolution in runners for module imports and .env loading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The runners in auto-claude/runners/ were using incorrect relative paths that only went up one directory level instead of two, causing: - ModuleNotFoundError for 'debug' module - Missing .env file (CLAUDE_CODE_OAUTH_TOKEN not found) - Script not found errors for analyzer.py - Prompt files not found for agent execution Fixed paths in: - roadmap_runner.py: sys.path and .env now resolve to auto-claude/ - ideation_runner.py: sys.path and .env now resolve to auto-claude/ - roadmap/executor.py: scripts_base_dir and prompts_dir now resolve correctly from the nested roadmap/ subdirectory 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- auto-claude/runners/ideation_runner.py | 6 +++--- auto-claude/runners/roadmap/executor.py | 6 ++++-- auto-claude/runners/roadmap_runner.py | 6 +++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/auto-claude/runners/ideation_runner.py b/auto-claude/runners/ideation_runner.py index 2ae3390c..01bb37de 100644 --- a/auto-claude/runners/ideation_runner.py +++ b/auto-claude/runners/ideation_runner.py @@ -24,12 +24,12 @@ import sys from pathlib import Path # Add auto-claude to path -sys.path.insert(0, str(Path(__file__).parent)) +sys.path.insert(0, str(Path(__file__).parent.parent)) -# Load .env file +# Load .env file from auto-claude/ directory from dotenv import load_dotenv -env_file = Path(__file__).parent / ".env" +env_file = Path(__file__).parent.parent / ".env" if env_file.exists(): load_dotenv(env_file) diff --git a/auto-claude/runners/roadmap/executor.py b/auto-claude/runners/roadmap/executor.py index 2561b97b..ca89c3db 100644 --- a/auto-claude/runners/roadmap/executor.py +++ b/auto-claude/runners/roadmap/executor.py @@ -14,7 +14,8 @@ class ScriptExecutor: def __init__(self, project_dir: Path): self.project_dir = project_dir - self.scripts_base_dir = Path(__file__).parent.parent + # Go up from roadmap/ -> runners/ -> auto-claude/ + self.scripts_base_dir = Path(__file__).parent.parent.parent def run_script(self, script: str, args: list[str]) -> tuple[bool, str]: """Run a Python script and return (success, output).""" @@ -76,7 +77,8 @@ class AgentExecutor: self.output_dir = output_dir self.model = model self.create_client = create_client_func - self.prompts_dir = Path(__file__).parent.parent / "prompts" + # Go up from roadmap/ -> runners/ -> auto-claude/prompts/ + self.prompts_dir = Path(__file__).parent.parent.parent / "prompts" async def run_agent( self, diff --git a/auto-claude/runners/roadmap_runner.py b/auto-claude/runners/roadmap_runner.py index f2bbad12..2b1f74cc 100644 --- a/auto-claude/runners/roadmap_runner.py +++ b/auto-claude/runners/roadmap_runner.py @@ -18,12 +18,12 @@ import sys from pathlib import Path # Add auto-claude to path -sys.path.insert(0, str(Path(__file__).parent)) +sys.path.insert(0, str(Path(__file__).parent.parent)) -# Load .env file +# Load .env file from auto-claude/ directory from dotenv import load_dotenv -env_file = Path(__file__).parent / ".env" +env_file = Path(__file__).parent.parent / ".env" if env_file.exists(): load_dotenv(env_file)