diff --git a/src/skill_seekers/cli/adaptors/base.py b/src/skill_seekers/cli/adaptors/base.py index 95ecc94..77ea073 100644 --- a/src/skill_seekers/cli/adaptors/base.py +++ b/src/skill_seekers/cli/adaptors/base.py @@ -288,7 +288,7 @@ class SkillAdaptor(ABC): if not references_dir.exists(): return - for ref_file in sorted(references_dir.glob("*.md")): + for ref_file in sorted(references_dir.rglob("*.md")): if ref_file.is_file() and not ref_file.name.startswith("."): try: content = ref_file.read_text(encoding="utf-8") @@ -565,7 +565,7 @@ class SkillAdaptor(ABC): return "" toc_lines = [] - for ref_file in sorted(refs_dir.glob("*.md")): + for ref_file in sorted(refs_dir.rglob("*.md")): if ref_file.name == "index.md": continue title = ref_file.stem.replace("_", " ").title() diff --git a/src/skill_seekers/cli/adaptors/markdown.py b/src/skill_seekers/cli/adaptors/markdown.py index f280571..a5961fb 100644 --- a/src/skill_seekers/cli/adaptors/markdown.py +++ b/src/skill_seekers/cli/adaptors/markdown.py @@ -261,7 +261,7 @@ Browse the reference files for detailed information on each topic. All files are # Add all reference files if refs_dir.exists(): # Sort for consistent ordering - ref_files = sorted(refs_dir.glob("*.md")) + ref_files = sorted(refs_dir.rglob("*.md")) for ref_file in ref_files: if ref_file.name == "index.md": diff --git a/src/skill_seekers/cli/adaptors/openai_compatible.py b/src/skill_seekers/cli/adaptors/openai_compatible.py index 8f5ab3e..43f66ca 100644 --- a/src/skill_seekers/cli/adaptors/openai_compatible.py +++ b/src/skill_seekers/cli/adaptors/openai_compatible.py @@ -218,7 +218,7 @@ Always prioritize accuracy by consulting the attached documentation files before knowledge_dir = temp_path / "knowledge_files" knowledge_count = 0 if knowledge_dir.exists(): - knowledge_count = len(list(knowledge_dir.glob("*.md"))) + knowledge_count = len(list(knowledge_dir.rglob("*.md"))) client = OpenAI( api_key=api_key, @@ -364,7 +364,7 @@ Always prioritize accuracy by consulting the attached documentation files before references = {} total_chars = 0 - for ref_file in sorted(references_dir.glob("*.md")): + for ref_file in sorted(references_dir.rglob("*.md")): if total_chars >= max_chars: break diff --git a/src/skill_seekers/cli/adaptors/streaming_adaptor.py b/src/skill_seekers/cli/adaptors/streaming_adaptor.py index 7187f24..80a3a29 100644 --- a/src/skill_seekers/cli/adaptors/streaming_adaptor.py +++ b/src/skill_seekers/cli/adaptors/streaming_adaptor.py @@ -197,7 +197,7 @@ class StreamingAdaptorMixin: # Reference files refs_dir = skill_dir / "references" if refs_dir.exists(): - for ref_file in sorted(refs_dir.glob("*.md")): + for ref_file in sorted(refs_dir.rglob("*.md")): if ref_file.is_file() and not ref_file.name.startswith("."): content = ref_file.read_text(encoding="utf-8") char_count = len(content)