Skip to main content
The retina run command is the primary analysis command that scans your PocketMine-MP plugin directory to detect errors, issues, and potential problems.

Basic usage

retina run
By default, this scans the current directory and generates a Markdown report.

Arguments

directory
string
default:"."
Path to the plugin directory to scan. If not specified, scans the current directory.
retina run /path/to/plugin

Options

Analysis options

--level
integer
default:"6"
Analysis strictness level ranging from 1 to 9, where higher values apply stricter analysis rules.
retina run --level 8
retina run -l 9
Level 6 is recommended for most plugins. Use higher levels for critical plugins that require stricter analysis.

Output format options

--format
string
default:"md"
Output format for the generated report. Available formats:
  • md - Markdown report (default)
  • json - JSON structured data
  • txt - Plain text report
  • html - HTML web-based report
retina run --format json
retina run -f html
--output
string
Custom output file path. If not specified, defaults to retina-report.<format> in the scanned directory.
retina run --output reports/analysis.md
retina run -o /tmp/report.json
--console-only
boolean
Output results to console only without generating a report file.
retina run --console-only
retina run -c
Useful for CI/CD pipelines where you only need exit codes and console output.
--simple
boolean
Generate a simplified report without code snippets and suggestions. Simple reports include only file paths, line numbers, categories, severity levels, and messages.
retina run --simple
retina run -s
--no-progress
boolean
Disable progress output during analysis.
retina run --no-progress

Filtering options

--exclude-categories
string
Comma-separated list of issue categories to exclude from the report.
retina run --exclude-categories unused,undefined
retina run --exclude-categories unused_variable,unused_import
See Filtering options for available categories and presets.
--exclude-analyzers
string
Comma-separated list of analyzers to disable during analysis.
retina run --exclude-analyzers DeprecatedApi,ThreadSafety
retina run --exclude-analyzers PHPStan
See Filtering options for available analyzers.
--exclude-severities
string
Comma-separated list of severity levels to exclude from the report.
retina run --exclude-severities info,hint
retina run --exclude-severities hint
Valid severity levels: error, warning, info, hint

Examples

retina run

Requirements

The scanned directory must contain a plugin.yml file. Retina will exit with an error if no plugin.yml is found.

Configuration file

CLI options override settings from retina.yml configuration files. If a retina.yml exists in the scanned directory, Retina will:
  1. Load default settings from retina.yml
  2. Override with any CLI options provided
  3. Use CLI filtering options if specified, otherwise fall back to config file filters
See the init command to generate a default configuration file.

Exit codes

  • 0 - Success, no issues found
  • 1 - Failure, issues found or scan error occurred

Build docs developers (and LLMs) love