Moko Consulting

Open-source software for Joomla, Gitea, and web platforms. Home of MokoSuite, MokoGitea, and MokoCLI.

Tennessee
cli/Overview

MokoCLI Overview

About

MokoCLI is the organization's PHP CLI framework for Joomla extension management, Gitea operations, and platform automation. It provides 97+ commands across 15 categories.

Package: mokoconsulting/mokocli (Composer/Packagist) Repository: MokoConsulting/mokocli Namespace: MokoCli\CliFramework

Architecture

mokocli/
├── src/
│   ├── Commands/           # CLI command classes (97+)
│   ├── Services/           # Business logic layer
│   ├── Providers/          # DI service providers
│   ├── Traits/             # Shared functionality
│   └── Exceptions/         # Custom exceptions
├── templates/              # Joomla manifest, config, and doc templates
├── .mokogitea/workflows/   # CI/CD (pr-check, pre-release, auto-release)
├── composer.json           # Package definition (no version field)
└── mokocli                 # Entry point script

Command Categories

Category Commands Purpose
Release release-create, release-publish, release-list Manage releases
Version version-bump, version-get, version-set Version management
Branch branch-create, branch-protect, branch-cleanup Branch operations
Joomla joomla-sync, joomla-package, joomla-manifest Joomla tooling
Template template-sync, template-apply, template-diff Template management
Validation validate-structure, validate-manifest, health-check Repo validation
Deploy deploy-sftp, deploy-backup, deploy-rollback Deployment ops
Standards standards-sync, standards-check, standards-apply Standards enforcement
Git git-status, git-log, git-diff Git helpers
Metadata metadata-get, metadata-set, metadata-sync Repo metadata
Label label-sync, label-create, label-apply Label management
Project project-create, project-sync, project-card Project boards
Wiki wiki-create, wiki-sync, wiki-list Wiki management
Bulk bulk-sync, bulk-branch, bulk-file-push Multi-repo operations
License license-create, license-validate, license-manage DLID licensing

Installation

# Via Composer (from Packagist)
composer require mokoconsulting/mokocli

# Via Git (from Gitea Composer registry)
composer config repositories.mokogitea composer https://git.mokoconsulting.tech/api/packages/MokoConsulting/composer
composer require mokoconsulting/mokocli

Common Options

Option Purpose
--dry-run Preview without making changes
--verbose / -v Increase output detail
--quiet / -q Suppress non-error output
--format=json Output in JSON format
--repo=owner/name Target a specific repository

Revision History

Date Author Changes
2026-06-21 jmiller Initial creation from mokocli wiki consolidation