Skip to content

Commit 3806e2c

Browse files
authored
Updated --help option descriptions (#71)
This PR improves the --help output by making the scan command usage more explicit and updating individual flag descriptions. ## Changes - Clarified `scan` command help to describe `PATH` and remote repo usage - Added `metavar='[PATH]'` for the optional positional `path` argument - Improved help strings - Enabled `show_default=True` for `--format` and `--severity` Issue Number: #66
1 parent e8c814e commit 3806e2c

1 file changed

Lines changed: 18 additions & 12 deletions

File tree

src/pyspector/cli.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,10 @@ def run_wizard():
511511

512512

513513
@click.command(
514-
help="Scan a directory, file, or remote Git repository for vulnerabilities."
514+
help=(
515+
"Scan a file, directory, or remote Git repository for vulnerabilities.\n\n"
516+
"PATH: local file or directory to scan. Omit PATH and use --url to scan a remote repo."
517+
)
515518
)
516519
@click.argument(
517520
'path',
@@ -520,38 +523,41 @@ def run_wizard():
520523
readable=True, path_type=Path
521524
),
522525
required=False,
526+
metavar='[PATH]',
523527
)
524528
@click.option('-u', '--url', 'repo_url', type=str,
525-
help="URL of a public GitHub/GitLab repository to clone and scan.")
529+
help="URL of a public GitHub or GitLab repository to clone and scan.")
526530
@click.option('-c', '--config', 'config_path',
527531
type=click.Path(exists=True, path_type=Path),
528-
help="Path to a pyspector.toml config file.")
532+
help="Path to a pyspector.toml config file (overrides defaults).")
529533
@click.option('-o', '--output', 'output_file',
530534
type=click.Path(path_type=Path),
531-
help="Path to write the report to.")
535+
help="Path to write the report to (default: print to stdout).")
532536
@click.option('-f', '--format', 'report_format',
533537
type=click.Choice(['console', 'json', 'sarif', 'html']),
534538
default='console',
535-
help="Format of the report.")
539+
show_default=True,
540+
help="Output format: console, json, sarif, or html.")
536541
@click.option('-s', '--severity', 'severity_level',
537542
type=click.Choice(['LOW', 'MEDIUM', 'HIGH', 'CRITICAL']),
538543
default='LOW',
544+
show_default=True,
539545
help="Minimum severity level to report.")
540546
@click.option('--ai', 'ai_scan', is_flag=True, default=False,
541-
help="Enable specialized scanning for AI/LLM vulnerabilities.")
547+
help="Enable the specialized ruleset for AI/LLM vulnerability scanning.")
542548
@click.option('--plugin', 'plugins', multiple=True,
543-
help="Load and execute a plugin (can be specified multiple times)")
549+
help="Name of a trusted plugin to run after the scan (repeatable).")
544550
@click.option('--plugin-config', 'plugin_config_file',
545551
type=click.Path(exists=True, path_type=Path),
546-
help="Path to plugin configuration JSON file")
552+
help="Path to a JSON file containing per-plugin configuration.")
547553
@click.option('--list-plugins', 'list_plugins', is_flag=True,
548-
help="List available plugins and exit")
554+
help="List all available plugins and exit.")
549555
@click.option('--supply-chain', is_flag=True, default=False,
550-
help="Scan dependencies for known CVE vulnerabilities.")
556+
help="Check project dependencies against the OSV database for known CVEs.")
551557
@click.option('--syntax-warnings', is_flag=True, default=False,
552-
help="Treat SyntaxWarning as errors during parsing.")
558+
help="Treat Python SyntaxWarnings as errors and exclude affected files.")
553559
@click.option('--wizard', is_flag=True,
554-
help="Interactive guided scan for first-time users")
560+
help="Launch interactive guided scan mode — ideal for first-time users.")
555561
@click.option('--stats', 'show_stats', is_flag=True, default=False,
556562
help=(
557563
"Print a detailed performance and findings statistics table "

0 commit comments

Comments
 (0)