diff --git a/src/napoln/commands/list_cmd.py b/src/napoln/commands/list_cmd.py index 1bcb562..142f63f 100644 --- a/src/napoln/commands/list_cmd.py +++ b/src/napoln/commands/list_cmd.py @@ -4,6 +4,7 @@ from pathlib import Path +import typer from napoln import output from napoln.core import manifest from napoln.core.home import NAPOLN_DIR, get_napoln_home @@ -95,8 +96,6 @@ def _print_skills( show_paths: bool = False, ) -> None: """Print skills from a manifest under a section label.""" - import typer - if not mf.skills: return @@ -227,8 +226,6 @@ def run_list( if project_mf and project_mf.skills: if has_any: - import typer - typer.echo() # blank line between sections cwd_short = _abbreviate_path(str(Path.cwd()), str(Path.home())) project_label = f"Project ({cwd_short})" diff --git a/src/napoln/output.py b/src/napoln/output.py index 544c0b0..2f673a4 100644 --- a/src/napoln/output.py +++ b/src/napoln/output.py @@ -73,6 +73,11 @@ def print_json(data: Any) -> None: typer.echo(json.dumps(data, indent=2, default=str)) +def styled(message: str, **kwargs: Any) -> str: + """Return a styled string (pass through to typer.style).""" + return typer.style(message, **kwargs) + + def install_summary( skills: list[str], agent_names: list[str],