# Plugin Scripts Scripts at `api/plugin_*.php` are the primary CLI entry points for the MokoStandards plugin system. Each script auto-detects the project type (Joomla, Dolibarr, Node.js, Python, WordPress, Terraform, mobile, API, generic, documentation) or accepts `--project-type` to override. All scripts share a common set of flags and exit-code conventions. --- ## Common Options | Option | Description | |--------|-------------| | `--project-path ` | **(required)** Path to the project directory | | `--project-type ` | Override auto-detection. Valid: `joomla`, `dolibarr`, `wordpress`, `nodejs`, `python`, `terraform`, `mobile`, `api`, `documentation`, `generic` | | `--config ` | Path to a project-specific configuration file | | `--json` | Output results in machine-readable JSON | | `--verbose` | Enable verbose logging | | `--help` / `-h` | Show help and exit | ## Common Exit Codes | Code | Meaning | |------|---------| | `0` | Success (check/collection passed) | | `1` | Completed with failures or warnings | | `2` | Script error (invalid arguments, plugin not found, etc.) | --- ## plugin_validate.php **Path:** `api/plugin_validate.php` Validates a project's structure, required files, and standards compliance. ```bash # Auto-detect project type and validate php api/plugin_validate.php --project-path /path/to/project # Validate a specific type php api/plugin_validate.php --project-path /path/to/project --project-type dolibarr # Machine-readable output php api/plugin_validate.php --project-path /path/to/project --json ``` --- ## plugin_health_check.php **Path:** `api/plugin_health_check.php` Runs health checks on a project and returns a health score (0–100). Additional options: | Option | Description | |--------|-------------| | `--json` | Output as JSON (default) | ```bash # Run health check php api/plugin_health_check.php --project-path /path/to/project # Explicit type, human-readable output php api/plugin_health_check.php --project-path /path/to/project --project-type joomla --verbose ``` **Exit Codes:** - `0` — Healthy - `1` — Unhealthy - `2` — Script error --- ## plugin_readiness.php **Path:** `api/plugin_readiness.php` Checks whether a project is ready for release or deployment by evaluating blockers vs. warnings. ```bash # Check release readiness php api/plugin_readiness.php --project-path /path/to/project # Pipe JSON output to jq php api/plugin_readiness.php --project-path /path/to/project --json | jq '.ready' ``` **Exit Codes:** - `0` — Ready for release (no blockers) - `1` — Not ready (has blockers) - `2` — Script error --- ## plugin_metrics.php **Path:** `api/plugin_metrics.php` Collects project metrics (file counts, code coverage, complexity indicators, dependency counts, etc.) as reported by the plugin. Additional options: | Option | Description | |--------|-------------| | `--format ` | Output format: `json` (default), `table`, `csv` | ```bash # JSON metrics (default) php api/plugin_metrics.php --project-path /path/to/project # Table output php api/plugin_metrics.php --project-path /path/to/project --format table # CSV for spreadsheet import php api/plugin_metrics.php --project-path /path/to/project --format csv ``` --- ## plugin_list.php **Path:** `api/plugin_list.php` Lists all registered project-type plugins and their capabilities. Does not require `--project-path`. Additional options: | Option | Description | |--------|-------------| | `--format ` | Output format: `table` (default), `json`, `simple` | | `--type ` | Show details for one specific plugin type | | `--details` | Include required files, features, and commands in output | ```bash # List all plugins (table) php api/plugin_list.php # JSON output of all plugins php api/plugin_list.php --format json # Details for a specific plugin php api/plugin_list.php --type dolibarr --details # Simple list of plugin type names only php api/plugin_list.php --format simple ``` --- **Location:** `docs/api/plugin/` **Mirrors:** `api/plugin_*.php` **Last Updated:** 2026-03-13