diff --git a/src/skill_seekers/cli/config_manager.py b/src/skill_seekers/cli/config_manager.py index c775af4..b0f32dd 100644 --- a/src/skill_seekers/cli/config_manager.py +++ b/src/skill_seekers/cli/config_manager.py @@ -35,6 +35,7 @@ class ConfigManager: "resume": {"auto_save_interval_seconds": 60, "keep_progress_days": 7}, "api_keys": {"anthropic": None, "google": None, "openai": None}, "ai_enhancement": { + "default_enhance_level": 1, # Default AI enhancement level (0-3) "local_batch_size": 20, # Patterns per Claude CLI call (default was 5) "local_parallel_workers": 3, # Concurrent Claude CLI calls }, @@ -384,6 +385,19 @@ class ConfigManager: # AI Enhancement Settings + def get_default_enhance_level(self) -> int: + """Get default AI enhancement level (0-3).""" + return self.config.get("ai_enhancement", {}).get("default_enhance_level", 1) + + def set_default_enhance_level(self, level: int): + """Set default AI enhancement level (0-3).""" + if level not in [0, 1, 2, 3]: + raise ValueError("enhance_level must be 0, 1, 2, or 3") + if "ai_enhancement" not in self.config: + self.config["ai_enhancement"] = {} + self.config["ai_enhancement"]["default_enhance_level"] = level + self.save_config() + def get_local_batch_size(self) -> int: """Get batch size for LOCAL mode AI enhancement.""" return self.config.get("ai_enhancement", {}).get("local_batch_size", 20) @@ -472,7 +486,10 @@ class ConfigManager: print(f" • Keep progress for: {self.config['resume']['keep_progress_days']} days") # AI Enhancement settings - print("\nAI Enhancement (LOCAL mode):") + level_names = {0: "off", 1: "SKILL.md only", 2: "standard", 3: "full"} + default_level = self.get_default_enhance_level() + print("\nAI Enhancement:") + print(f" • Default level: {default_level} ({level_names.get(default_level, 'unknown')})") print(f" • Batch size: {self.get_local_batch_size()} patterns per call") print(f" • Parallel workers: {self.get_local_parallel_workers()} concurrent calls") diff --git a/src/skill_seekers/cli/main.py b/src/skill_seekers/cli/main.py index 735276f..72469a3 100644 --- a/src/skill_seekers/cli/main.py +++ b/src/skill_seekers/cli/main.py @@ -572,13 +572,19 @@ def main(argv: list[str] | None = None) -> int: sys.argv.extend(["--depth", args.depth]) # Determine enhance_level (independent of --comprehensive) - # Priority: explicit --enhance-level > --enhance (level 1) > --quick (level 0) > 0 + # Priority: explicit --enhance-level > --enhance (uses config default) > --quick (level 0) > 0 if args.enhance_level is not None: enhance_level = args.enhance_level elif args.quick: enhance_level = 0 # Quick mode disables AI elif args.enhance: - enhance_level = 1 # --enhance defaults to level 1 + # Use default from config (default: 1) + try: + from skill_seekers.cli.config_manager import get_config_manager + config = get_config_manager() + enhance_level = config.get_default_enhance_level() + except Exception: + enhance_level = 1 # Fallback to level 1 else: enhance_level = 0 # Default: no AI