Certify a plugin or skill (runs at deep depth).
(
path: Path = typer.Argument(..., help="Plugin or skill directory to certify"), # noqa: B008
output: str = typer.Option("markdown", help="Output format: json|markdown|html"), # noqa: B008
verbose: bool = typer.Option(False, "--verbose", "-v", help="Verbose output"), # noqa: B008
concurrency: int = typer.Option(4, help="Max concurrent LLM calls"), # noqa: B008
threshold: float | None = typer.Option(None, help="Minimum score threshold"), # noqa: B008
)
| 117 | |
| 118 | @app.command() |
| 119 | def certify( |
| 120 | path: Path = typer.Argument(..., help="Plugin or skill directory to certify"), # noqa: B008 |
| 121 | output: str = typer.Option("markdown", help="Output format: json|markdown|html"), # noqa: B008 |
| 122 | verbose: bool = typer.Option(False, "--verbose", "-v", help="Verbose output"), # noqa: B008 |
| 123 | concurrency: int = typer.Option(4, help="Max concurrent LLM calls"), # noqa: B008 |
| 124 | threshold: float | None = typer.Option(None, help="Minimum score threshold"), # noqa: B008 |
| 125 | ) -> None: |
| 126 | """Certify a plugin or skill (runs at deep depth).""" |
| 127 | exit_code = _run_score(path, Depth.DEEP, output, verbose, concurrency, threshold) |
| 128 | if exit_code != 0: |
| 129 | raise typer.Exit(code=exit_code) |
| 130 | |
| 131 | |
| 132 | @app.command() |
nothing calls this directly
no test coverage detected