Co-authored-by: Quentin Torroba <quentin.torroba@mistral.ai>
Co-authored-by: Michel Thomazo <michel.thomazo@mistral.ai>
Co-authored-by: Clément Drouin <clement.drouin@mistral.ai>
Co-authored-by: Vincent Guilloux <vincent.guilloux@mistral.ai>
Co-authored-by: Clément Siriex <clement.sirieix@mistral.ai>
Co-authored-by: Kim-Adeline Miguel <kimadeline.miguel@mistral.ai>
Co-authored-by: Nicolas Karolak <nicolas@karolak.fr>
This commit is contained in:
Mathias Gesbert 2026-02-11 18:17:30 +01:00 committed by GitHub
parent 9809cfc831
commit 51fecc67d9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
176 changed files with 8652 additions and 4451 deletions

View file

@ -4,17 +4,16 @@ from pathlib import Path
import pytest
from tests.conftest import build_test_vibe_config
from tests.skills.conftest import create_skill
from vibe.core.config import SessionLoggingConfig, VibeConfig
from vibe.core.config import VibeConfig
from vibe.core.skills.manager import SkillManager
@pytest.fixture
def config() -> VibeConfig:
return VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
system_prompt_id="tests",
include_project_context=False,
return build_test_vibe_config(
system_prompt_id="tests", include_project_context=False
)
@ -32,8 +31,7 @@ class TestSkillManagerDiscovery:
def test_discovers_skill_from_skill_paths(self, skills_dir: Path) -> None:
create_skill(skills_dir, "test-skill", "A test skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -48,8 +46,7 @@ class TestSkillManagerDiscovery:
create_skill(skills_dir, "skill-two", "Second skill")
create_skill(skills_dir, "skill-three", "Third skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -70,8 +67,7 @@ class TestSkillManagerDiscovery:
# Create a valid skill
create_skill(skills_dir, "valid-skill", "A valid skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -90,8 +86,7 @@ class TestSkillManagerDiscovery:
# Create a valid skill
create_skill(skills_dir, "valid-skill", "A valid skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -115,8 +110,7 @@ class TestSkillManagerParsing:
allowed_tools="bash read_file",
)
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -135,8 +129,7 @@ class TestSkillManagerParsing:
def test_sets_correct_skill_path(self, skills_dir: Path) -> None:
create_skill(skills_dir, "test-skill", "A test skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -157,8 +150,7 @@ class TestSkillManagerParsing:
# Create a valid skill
create_skill(skills_dir, "valid-skill", "A valid skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -179,8 +171,7 @@ class TestSkillManagerParsing:
# Create a valid skill
create_skill(skills_dir, "valid-skill", "A valid skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -203,8 +194,7 @@ class TestSkillManagerSearchPaths:
skills_dir_2.mkdir()
create_skill(skills_dir_2, "skill-from-dir2", "Skill from directory 2")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir_1, skills_dir_2],
@ -226,8 +216,7 @@ class TestSkillManagerSearchPaths:
skills_dir_2.mkdir()
create_skill(skills_dir_2, "duplicate-skill", "Second version")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir_1, skills_dir_2],
@ -243,8 +232,7 @@ class TestSkillManagerSearchPaths:
skills_dir.mkdir()
create_skill(skills_dir, "valid-skill", "A valid skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir, tmp_path / "nonexistent"],
@ -259,8 +247,7 @@ class TestSkillManagerGetSkill:
def test_returns_skill_by_name(self, skills_dir: Path) -> None:
create_skill(skills_dir, "test-skill", "A test skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -281,8 +268,7 @@ class TestSkillManagerFiltering:
create_skill(skills_dir, "skill-b", "Skill B")
create_skill(skills_dir, "skill-c", "Skill C")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -301,8 +287,7 @@ class TestSkillManagerFiltering:
create_skill(skills_dir, "skill-b", "Skill B")
create_skill(skills_dir, "skill-c", "Skill C")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -322,8 +307,7 @@ class TestSkillManagerFiltering:
create_skill(skills_dir, "skill-a", "Skill A")
create_skill(skills_dir, "skill-b", "Skill B")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -341,8 +325,7 @@ class TestSkillManagerFiltering:
create_skill(skills_dir, "search-docs", "Search docs")
create_skill(skills_dir, "other-skill", "Other skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -361,8 +344,7 @@ class TestSkillManagerFiltering:
create_skill(skills_dir, "skill-v2", "Skill v2")
create_skill(skills_dir, "other-skill", "Other skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -380,8 +362,7 @@ class TestSkillManagerFiltering:
create_skill(skills_dir, "enabled-skill", "Enabled")
create_skill(skills_dir, "disabled-skill", "Disabled")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -397,8 +378,7 @@ class TestSkillUserInvocable:
def test_user_invocable_defaults_to_true(self, skills_dir: Path) -> None:
create_skill(skills_dir, "default-skill", "A default skill")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -412,8 +392,7 @@ class TestSkillUserInvocable:
def test_user_invocable_can_be_set_to_false(self, skills_dir: Path) -> None:
create_skill(skills_dir, "hidden-skill", "A hidden skill", user_invocable=False)
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -431,8 +410,7 @@ class TestSkillUserInvocable:
skills_dir, "explicit-skill", "An explicit skill", user_invocable=True
)
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],
@ -448,8 +426,7 @@ class TestSkillUserInvocable:
create_skill(skills_dir, "hidden-skill", "Hidden", user_invocable=False)
create_skill(skills_dir, "default-skill", "Default")
config = VibeConfig(
session_logging=SessionLoggingConfig(enabled=False),
config = build_test_vibe_config(
system_prompt_id="tests",
include_project_context=False,
skill_paths=[skills_dir],