9
ARCHITECTURE
Jonathan Miller edited this page 2026-06-10 04:31:25 +00:00

Architecture

System design and directory layout for mokoplatform.

Directory Structure

mokoplatform/
bin/moko                     # CLI entry point
cli/                         # 54 command scripts
lib/
  CliBase.php                # Simple base class
  Common.php                 # Shared utilities
  Enterprise/                # Full enterprise framework
validate/                    # 20+ validators
automation/                  # Bulk automation
deploy/                      # Deployment tools
fix/                         # Auto-fix scripts
maintenance/                 # Maintenance tools
release/                     # Release helpers
templates/                   # Boilerplate (joomla, makefiles, configs, schemas)
wrappers/                    # Thin wrappers for CI
mcp/servers/                 # Symlinks to local-only MCP repos (see below)
tests/                       # PHPUnit (19 tests)

Local-only MCP servers are symlinked into mcp/servers/ for fleet coordination. API servers that access remote infrastructure are NOT symlinked (security).

Symlinked (local-only):

mcp/servers/
  mokossh/       -> A:/mcp-mokossh/
  mokobackup/   -> A:/mcp-mokobackup/
  mokomonitor/  -> A:/mcp-mokomonitor/
  mokodreamhost/ -> A:/mcp-mokodreamhost/
  windows/      -> A:/mcp-windows/

NOT symlinked (security — remote API access, use npm build):

  • mcp-mokogitea-api — Gitea API (build: npm run build in own repo)
  • mcp-mokowaas-api — MokoSuite API (build: npm run build in own repo)

Two-Tier CLI Framework

CliBase (Simple)

For standalone scripts: argument parsing, --dry-run, --verbose, colored output, exit codes.

Enterprise/CliFramework (Full)

For complex tools: plugin system, checkpoint/resume, metrics, audit logging, error recovery, retry logic, transactions, config validation.

Plugin System

Plugins implement ProjectPluginInterface:

  • ManifestPlugin, MokoStandardsPlugin, SecurityPlugin, MetricsPlugin

Configuration

  • templates/configs/ - default config templates
  • governance.yml - org-level rules
  • Env vars: GA_TOKEN, GH_TOKEN, GRAFANA_URL, GRAFANA_TOKEN