Compare commits

...

13 Commits

Author SHA1 Message Date
gitea-actions[bot] 926142afa9 chore: promote changelog [Unreleased] → [09.43.00] 2026-07-05 20:31:09 +00:00
gitea-actions[bot] 6e5a3b902c chore(release): build 09.43.00 [skip ci]
Sync Workflows to Repos / sync (push) Failing after 3s
Publish to Composer / Publish Package (release) Successful in 59s
Platform: mokocli CI / Gate 1: Code Quality (push) Successful in 2m11s
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (push) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: mokocli CI / CI Summary (push) Has been cancelled
2026-07-05 20:31:03 +00:00
jmiller 08130d1bf3 Merge pull request 'chore: rename all mokoplatform → mokocli references' (#338) from feat/rename-mokoplatform into main
Platform: mokocli CI / Gate 1: Code Quality (push) Successful in 1m48s
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (push) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: mokocli CI / CI Summary (push) Has been cancelled
2026-07-05 20:30:38 +00:00
jmiller 4009d68a7a chore: rename all mokoplatform -> mokocli references
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Universal: PR Check / Validate PR (pull_request) Failing after 14s
Universal: PR Check / Secret Scan (pull_request) Successful in 15s
Generic: Project CI / Lint & Validate (pull_request) Successful in 57s
Platform: mokocli CI / Gate 1: Code Quality (pull_request) Successful in 2m4s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 35s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 28m16s
Generic: Project CI / Tests (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (pull_request) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (pull_request) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (pull_request) Has been cancelled
Platform: mokocli CI / CI Summary (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
The repo was renamed mokoplatform -> mokocli; this rewrites every stale
reference across the tree (case-sensitive):

  MokoPlatform  -> MokoCLI   (DEFGROUP/INGROUP doc tags)
  mokoplatform  -> mokocli   (repo URLs, /opt & /tmp paths, clone URLs,
                              EXCLUDE lists, XML xmlns + <root> namespace)
  moko-platform -> moko-cli  (marker files)

XML namespace URIs and ManifestParser::NAMESPACE_URI are changed in
lockstep so local manifest-vs-parser validation stays consistent. The
external standards.mokoconsulting.tech namespace endpoint must be updated
to match separately (tracked in #336).

Refs #336

Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 15:25:45 -05:00
jmiller 2312c95dba chore: sync notify.yml from Template-Generic [skip ci] 2026-07-05 00:04:08 +00:00
jmiller 7a06bcf403 chore: sync cleanup.yml from Template-Generic [skip ci] 2026-07-05 00:04:07 +00:00
gitea-actions[bot] a8baf355c4 chore: promote changelog [Unreleased] → [09.42.00] 2026-07-04 23:27:30 +00:00
gitea-actions[bot] 9520ce3bb8 chore(release): build 09.42.00 [skip ci]
Publish to Composer / Publish Package (release) Successful in 58s
2026-07-04 23:27:15 +00:00
jmiller 120dbe3be2 Merge pull request 'fix: branch_rename force-updates target ref instead of delete+recreate' (#335) from fix/promote-rc-force-update into main
Platform: mokocli CI / Gate 1: Code Quality (push) Successful in 2m0s
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (push) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: mokocli CI / CI Summary (push) Has been cancelled
2026-07-04 23:26:39 +00:00
jmiller 657e6013de chore: sync issue-branch.yml from Template-Generic [skip ci] 2026-07-04 23:25:48 +00:00
jmiller c7a26c1ce1 fix: promote-rc force-updates target ref instead of delete+recreate
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 9s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 13s
Universal: PR Check / Validate PR (pull_request) Successful in 9s
Generic: Repo Health / Access control (pull_request) Successful in 3s
Generic: Repo Health / Site Health (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 44s
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m7s
Platform: mokocli CI / Gate 1: Code Quality (pull_request) Successful in 1m52s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 8m27s
Generic: Project CI / Tests (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (pull_request) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (pull_request) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (pull_request) Has been cancelled
Platform: mokocli CI / CI Summary (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
branch_rename.php deleted the target branch then recreated it. When the target (rc) is a protected branch, the delete silently fails and the recreate returns HTTP 409 'branch already exists', breaking every PR-to-main promote-rc. Force-update the ref in place via PATCH git/refs/heads/{to} (sha+force) when the target exists; still create it when it doesn't. Requires the CI token to have force-push permission on the protected rc branch.
2026-07-04 18:25:43 -05:00
jmiller bdbabd9886 chore: sync auto-release.yml from Template-Generic [skip ci] 2026-07-04 23:25:41 +00:00
gitea-actions[bot] e061537404 chore: promote changelog [Unreleased] → [09.42.00] 2026-07-04 23:23:40 +00:00
182 changed files with 440 additions and 392 deletions
+35 -7
View File
@@ -95,7 +95,7 @@ jobs:
sudo apt-get update -qq && sudo apt-get install -y -qq php-cli php-mbstring php-xml php-zip php-curl composer > /dev/null 2>&1
fi
rm -rf /tmp/mokocli
CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/mokocli.git
CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/MokoCLI.git
git clone --depth 1 --branch main --quiet $CLONE_URL /tmp/mokocli
cd /tmp/mokocli
composer install --no-dev --no-interaction --quiet
@@ -104,11 +104,39 @@ jobs:
- name: Rename branch to rc
run: |
php ${MOKO_CLI}/branch_rename.php \
--from "${{ github.event.pull_request.head.ref || 'dev' }}" --to rc \
--token "${{ secrets.MOKOGITEA_TOKEN }}" \
--api-base "${MOKOGITEA_URL}/api/v1/repos/${GITEA_ORG}/${GITEA_REPO}" \
--pr "${{ github.event.pull_request.number }}"
API_BASE="${MOKOGITEA_URL}/api/v1/repos/${GITEA_ORG}/${GITEA_REPO}"
AUTH="Authorization: token ${{ secrets.MOKOGITEA_TOKEN }}"
FROM="${{ github.event.pull_request.head.ref || 'dev' }}"
PR="${{ github.event.pull_request.number }}"
# Resolve the source branch HEAD commit.
SRC_JSON=$(curl -sf -H "$AUTH" "${API_BASE}/branches/${FROM}") \
|| { echo "::error::Source branch ${FROM} not found"; exit 1; }
SRC_SHA=$(printf '%s' "$SRC_JSON" | python3 -c "import sys, json; print(json.load(sys.stdin)['commit']['id'])" 2>/dev/null || true)
[ -n "$SRC_SHA" ] || { echo "::error::Could not resolve HEAD of ${FROM}"; exit 1; }
# Point rc at the source commit. If rc already exists (a protected branch that
# cannot be deleted), force-update its ref in place instead of delete+recreate:
# deleting a protected branch fails, which then makes the recreate return HTTP 409.
if curl -sf -o /dev/null -H "$AUTH" "${API_BASE}/branches/rc"; then
echo "rc exists - force-updating to ${FROM} (${SRC_SHA})"
curl -sf -X PATCH -H "$AUTH" -H "Content-Type: application/json" \
"${API_BASE}/git/refs/heads/rc" -d "{\"sha\":\"${SRC_SHA}\",\"force\":true}" \
|| { echo "::error::Failed to force-update rc (CI token needs force-push on the protected rc branch)"; exit 1; }
else
echo "Creating rc from ${FROM}"
curl -sf -X POST -H "$AUTH" -H "Content-Type: application/json" \
"${API_BASE}/branches" -d "{\"new_branch_name\":\"rc\",\"old_branch_name\":\"${FROM}\"}" \
|| { echo "::error::Failed to create rc from ${FROM}"; exit 1; }
fi
# Repoint the PR at rc, then delete the old source branch (non-fatal).
if [ -n "$PR" ]; then
curl -s -X PATCH -H "$AUTH" -H "Content-Type: application/json" \
"${API_BASE}/pulls/${PR}" -d '{"head":"rc"}' >/dev/null || true
fi
curl -s -X DELETE -H "$AUTH" "${API_BASE}/branches/${FROM}" >/dev/null || true
echo "Renamed ${FROM} -> rc"
- name: Checkout rc and configure git
run: |
@@ -218,7 +246,7 @@ jobs:
sudo apt-get update -qq && sudo apt-get install -y -qq php-cli php-mbstring php-xml php-zip php-curl composer > /dev/null 2>&1
fi
rm -rf /tmp/mokocli
CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/mokocli.git
CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/MokoCLI.git
git clone --depth 1 --branch main --quiet $CLONE_URL /tmp/mokocli
cd /tmp/mokocli
composer install --no-dev --no-interaction --quiet
+1 -1
View File
@@ -50,7 +50,7 @@ jobs:
for BRANCH in $BRANCHES; do
# Skip protected branches
case "$BRANCH" in
main|master|develop|release/*|hotfix/*) continue ;;
main|master|dev|develop|rc|beta|alpha|release|release/*|production|stable|staging|hotfix/*|version/*) continue ;;
esac
# Check if branch is merged into main
+1 -1
View File
@@ -5,7 +5,7 @@
# FILE INFORMATION
# DEFGROUP: Gitea.Workflow
# INGROUP: mokocli.Automation
# VERSION: 09.42.00
# VERSION: 09.43.00
# BRIEF: Auto-create feature branch when an issue is opened
name: "Universal: Issue Branch"
+3 -3
View File
@@ -15,9 +15,9 @@ name: "Universal: Notifications"
on:
workflow_run:
workflows:
- "Joomla Build & Release"
- "Joomla Extension CI"
- "Deploy"
- "Universal: Build & Release"
- "Joomla: Extension CI"
- "Generic: Project CI"
types:
- completed
+9 -9
View File
@@ -4,7 +4,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
FILE INFORMATION
DEFGROUP: MokoCli.Root
INGROUP: MokoCli
REPO: https://git.mokoconsulting.tech/MokoConsulting/mokoplatform
REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
PATH: /CHANGELOG.md
BRIEF: Release changelog
-->
@@ -12,17 +12,17 @@ BRIEF: Release changelog
# Changelog
## [Unreleased]
## [09.43.00] --- 2026-07-05
## [09.43.00] --- 2026-07-05
## [09.42.00] --- 2026-07-04
## [09.41.00] --- 2026-07-04
## [09.41.00] --- 2026-07-04
## [09.42.00] --- 2026-07-04
### Fixed
- RecoverySuggestion.php: remove stray shebang and wrap an over-length line to satisfy PSR-12 (Gate 1 phpcs)
- phpstan-baseline.neon: baseline pre-existing PHPStan level-6 findings across `cli/`, `lib/`, and `validate/` so Gate 1 static analysis passes (type-annotation debt tracked, not silently ignored)
- client_provision.php: rename private `printSummary()` (and its dispatch entry) to `printProvisioningSummary()` to stop it colliding with `CliFramework::printSummary()` — a non-baselineable PHPStan override/covariance error
- branch_rename.php: force-update the target branch ref in place instead of delete+recreate, so `moko repo:rename-branch` works when the target (e.g. `rc`) is a protected branch that cannot be deleted — previously the delete silently failed and the recreate returned HTTP 409
## [09.41.00] --- 2026-07-04
## [09.42.00] --- 2026-07-04
## [09.41.00] --- 2026-07-04
## [09.42.00] --- 2026-07-04
+2 -2
View File
@@ -2,8 +2,8 @@
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
SPDX-License-Identifier: GPL-3.0-or-later
FILE INFORMATION
DEFGROUP: MokoPlatform.Root
INGROUP: MokoPlatform
DEFGROUP: MokoCLI.Root
INGROUP: MokoCLI
REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
PATH: /PLUGIN_SCRIPTS.md
BRIEF: Plugin system CLI documentation
+3 -3
View File
@@ -2,11 +2,11 @@
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
SPDX-License-Identifier: GPL-3.0-or-later
FILE INFORMATION
DEFGROUP: MokoPlatform.Root
INGROUP: MokoPlatform
DEFGROUP: MokoCLI.Root
INGROUP: MokoCLI
REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
PATH: /README.md
VERSION: 09.42.00
VERSION: 09.43.00
BRIEF: Project overview and documentation
-->
+2 -2
View File
@@ -2,8 +2,8 @@
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
SPDX-License-Identifier: GPL-3.0-or-later
FILE INFORMATION
DEFGROUP: MokoPlatform.Index
INGROUP: MokoPlatform.Analysis
DEFGROUP: MokoCLI.Index
INGROUP: MokoCLI.Analysis
REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
PATH: /analysis/index.md
BRIEF: Analysis directory index
+2 -2
View File
@@ -14,8 +14,8 @@
* (at your option) any later version.
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.CLI
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.CLI
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/audit_query.php
* BRIEF: Search, filter, and export audit logs
+37 -17
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/branch_rename.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Rename a git branch via Gitea API (create new, update PR, delete old)
*/
@@ -64,26 +64,46 @@ class BranchRenameCli extends CliFramework
return 1;
}
// Step 2: Delete target branch if it already exists
// Step 2: Point the target branch at the source commit.
// If the target already exists (e.g. a protected `rc` branch that cannot be
// deleted), force-update its ref in place instead of delete+recreate: deleting a
// protected branch fails, which then makes the recreate return HTTP 409.
$sourceSha = '';
if (isset($check['body']['commit']['id']) && is_string($check['body']['commit']['id'])) {
$sourceSha = $check['body']['commit']['id'];
}
$targetCheck = $this->apiRequest('GET', "{$apiBase}/branches/{$to}", $headers);
if ($targetCheck['code'] === 200) {
echo "Target branch '{$to}' already exists — deleting\n";
echo "Target branch '{$to}' already exists - force-updating to {$from}
";
if (!$this->dryRun) {
$this->apiRequest('DELETE', "{$apiBase}/branches/{$to}", $headers);
if ($sourceSha === '') {
$this->log('ERROR', "Cannot resolve HEAD commit of source '{$from}'");
return 1;
}
$ref = $this->apiRequest('PATCH', "{$apiBase}/git/refs/heads/{$to}", $headers, [
'sha' => $sourceSha,
'force' => true,
]);
if ($ref['code'] < 200 || $ref['code'] >= 300) {
$this->log('ERROR', "Failed to force-update '{$to}': HTTP {$ref['code']} (needs force-push perm)");
$this->log('ERROR', json_encode($ref['body']));
return 1;
}
}
}
// Step 3: Create new branch from source
echo "Creating branch: {$to} (from {$from})\n";
if (!$this->dryRun) {
$create = $this->apiRequest('POST', "{$apiBase}/branches", $headers, [
'new_branch_name' => $to,
'old_branch_name' => $from,
]);
if ($create['code'] < 200 || $create['code'] >= 300) {
$this->log('ERROR', "Failed to create branch '{$to}': HTTP {$create['code']}");
$this->log('ERROR', json_encode($create['body']));
return 1;
} else {
echo "Creating branch: {$to} (from {$from})
";
if (!$this->dryRun) {
$create = $this->apiRequest('POST', "{$apiBase}/branches", $headers, [
'new_branch_name' => $to,
'old_branch_name' => $from,
]);
if ($create['code'] < 200 || $create['code'] >= 300) {
$this->log('ERROR', "Failed to create branch '{$to}': HTTP {$create['code']}");
$this->log('ERROR', json_encode($create['body']));
return 1;
}
}
}
+1 -1
View File
@@ -12,7 +12,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/bulk_workflow_push.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Push a workflow file to all governed repos via the Gitea Contents API
*/
+1 -1
View File
@@ -12,7 +12,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/bulk_workflow_trigger.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Trigger a workflow across multiple repos at once
*/
+1 -1
View File
@@ -12,7 +12,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/client_dashboard.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Generate unified client dashboard HTML
*/
+1 -1
View File
@@ -12,7 +12,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/client_inventory.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Discover and list all client-waas repos with their server configuration status
*/
+1 -1
View File
@@ -12,7 +12,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/client_provision.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Provision a new client environment end-to-end
*/
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.CLI
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.CLI
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/deploy_joomla.php
* BRIEF: Smart Joomla deploy — routes files to correct server directories by extension type
+1 -1
View File
@@ -12,7 +12,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/grafana_dashboard.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Manage Grafana dashboards via API
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/joomla_build.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Build a Joomla extension ZIP from manifest — all types supported
* NOTE: Called by pre-release and auto-release workflows.
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/joomla_metadata_validate.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Validate MokoGitea repo metadata against Joomla extension manifest XML
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/manifest_detect.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Auto-detect manifest fields from source files and optionally push to API
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/manifest_integrity.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Cross-check manifest API fields against repo contents across the org
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/manifest_licensing.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Ensure licensing tags (updateservers, dlid) in Joomla extension manifests
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/manifest_read.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Read repo metadata from Gitea manifest API, auto-detect the rest
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/platform_detect.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Auto-detect repository platform type and optionally update manifest
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/release_cascade.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Cascade release zip to all lower stability channels
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/release_publish.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Publish a release and create copies for all lesser stability streams.
*/
+1 -1
View File
@@ -12,7 +12,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/scaffold_client.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Scaffold a new client-waas repo from Template-Client-WaaS with pre-configured settings
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/updates_xml_sync.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Sync updates.xml to target branches via Gitea API
* NOTE: Called by pre-release and auto-release workflows after updates.xml
* is modified on the current branch. Pushes the file to other branches
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/version_auto_bump.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Auto patch-bump, set stability suffix, and commit — single CLI replacing inline workflow bash
*/
+1 -1
View File
@@ -389,7 +389,7 @@ class VersionBumpCli extends CliFramework
/**
* Scan git release tags for the highest version across all channels.
*
* Checks release names like "MokoSuiteClient (VERSION: 09.42.00)" in
* Checks release names like "MokoSuiteClient (VERSION: 09.43.00)" in
* git tags (stable, release-candidate, development, etc.) to find the
* highest version that has been released on any channel.
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/version_check.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Validate version consistency across README, manifests, and sub-packages
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/wiki_sync.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Sync select wiki pages from mokocli to all template repos
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* INGROUP: mokocli
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/workflow_sync.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Sync workflows from Generic → platform templates → live repos based on manifest.platform
*/
+3 -3
View File
@@ -8,11 +8,11 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Deploy
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Deploy
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /deploy/backup-before-deploy.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Snapshot Joomla directories before deployment for rollback capability
*/
+2 -2
View File
@@ -4,8 +4,8 @@
/* Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
* SPDX-License-Identifier: GPL-3.0-or-later
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Deploy
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Deploy
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /deploy/deploy-and-verify.php
* BRIEF: Deploy with automatic health check and rollback on failure
+3 -3
View File
@@ -8,11 +8,11 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Deploy
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Deploy
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /deploy/deploy-dolibarr.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Deploy Dolibarr module files to a remote server via SFTP/rsync
*/
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Deploy
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Deploy
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /deploy/deploy-joomla.php
* BRIEF: Smart Joomla deploy — routes files to correct Joomla directories based on XML manifest
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Deploy
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Deploy
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /deploy/deploy-sftp.php
* BRIEF: Deploy a repository src/ directory to a remote web server via SFTP
+3 -3
View File
@@ -8,11 +8,11 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Deploy
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Deploy
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /deploy/health-check.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Post-deploy health check — verify a Joomla site is responding correctly
*/
+3 -3
View File
@@ -8,11 +8,11 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Deploy
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Deploy
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /deploy/rollback-joomla.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Rollback a Joomla deployment by restoring from a pre-deploy snapshot
*/
+3 -3
View File
@@ -8,11 +8,11 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Deploy
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Deploy
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /deploy/sync-joomla.php
* VERSION: 09.42.00
* VERSION: 09.43.00
* BRIEF: Sync Joomla site directories between two servers via rsync over SSH
*/
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Fix
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Fix
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /fix/fix_line_endings.php
* BRIEF: CLI script to normalise CRLF/CR to LF in tracked source files
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Fix
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Fix
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /fix/fix_permissions.php
* BRIEF: CLI script to normalise file permissions (dirs 755, files 644, scripts 755)
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Fix
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Fix
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /fix/fix_tabs.php
* BRIEF: CLI script to convert tabs to spaces in tracked source files
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Fix
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Fix
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /fix/fix_trailing_spaces.php
* BRIEF: CLI script to remove trailing whitespace from tracked source files
+2 -2
View File
@@ -2,8 +2,8 @@
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
SPDX-License-Identifier: GPL-3.0-or-later
FILE INFORMATION
DEFGROUP: MokoPlatform.Index
INGROUP: MokoPlatform.Fix
DEFGROUP: MokoCLI.Index
INGROUP: MokoCLI.Fix
REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
PATH: /fix/index.md
BRIEF: Fix directory index
+2 -2
View File
@@ -2,8 +2,8 @@
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
SPDX-License-Identifier: GPL-3.0-or-later
FILE INFORMATION
DEFGROUP: MokoPlatform.Root
INGROUP: MokoPlatform
DEFGROUP: MokoCLI.Root
INGROUP: MokoCLI
REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
PATH: /index.md
BRIEF: Scripts directory index
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Lib
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Lib
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/CliBase.php
* BRIEF: Standalone base CLI class for scripts that do not use CliFramework
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Lib
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Lib
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Common.php
* BRIEF: Common utility functions for scripts
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/AbstractProjectPlugin.php
* BRIEF: Abstract base class for project plugins
@@ -23,7 +23,7 @@ namespace MokoCli;
*
* Provides common functionality for all project type plugins
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 1.0.0
*/
abstract class AbstractProjectPlugin implements ProjectPluginInterface
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.API
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.API
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/ApiClient.php
* BRIEF: HTTP API client library
@@ -31,7 +31,7 @@ declare(strict_types=1);
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+3 -3
View File
@@ -22,13 +22,13 @@ declare(strict_types=1);
* (at your option) any later version.
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Audit
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Audit
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/AuditLogger.php
* BRIEF: Enterprise audit logging
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+3 -3
View File
@@ -10,13 +10,13 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Checkpoint
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Checkpoint
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/CheckpointManager.php
* BRIEF: Checkpoint manager for resumable operations
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.CLI
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.CLI
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/CliFramework.php
* BRIEF: CliFramework — unified base class for all mokocli CLI scripts
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Config
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Config
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Config.php
* BRIEF: Configuration manager
@@ -32,7 +32,7 @@ declare(strict_types=1);
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/ConfigValidator.php
* BRIEF: Validate project config against plugin JSON schema
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/EnterpriseReadinessValidator.php
* BRIEF: Enterprise readiness validation library
+3 -3
View File
@@ -17,13 +17,13 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Recovery
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Recovery
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/ErrorRecovery.php
* BRIEF: Error recovery framework
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform.Lib
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI.Lib
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/FileFixUtility.php
* BRIEF: Utility class for fixing file formatting issues (line endings, permissions, tabs, trailing spaces)
+3 -3
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Platform
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Platform
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/GitHubAdapter.php
* BRIEF: GitHub implementation of GitPlatformAdapter
@@ -31,7 +31,7 @@ use RuntimeException;
* - Topics: PUT with {"names": [...]}
* - Workflow dir: .github/workflows
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @since 04.06.10
* @see GitPlatformAdapter
*/
+3 -3
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Platform
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Platform
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/GitPlatformAdapter.php
* BRIEF: Interface defining all git platform operations for GitHub/Gitea abstraction
@@ -25,7 +25,7 @@ namespace MokoCli;
* Implementations exist for GitHub (GitHubAdapter) and Gitea (MokoGiteaAdapter),
* allowing scripts to work against either platform transparently.
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.06.10
*/
interface GitPlatformAdapter
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Validation
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Validation
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/InputValidator.php
* BRIEF: Input validation library
@@ -31,7 +31,7 @@ declare(strict_types=1);
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+3 -3
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/ManifestParser.php
* BRIEF: Parser for the XML-based manifest.xml repository manifest
@@ -28,7 +28,7 @@ use SimpleXMLElement;
* Reads, writes, and validates the manifest.xml repository manifest.
* The file uses XML format (no file extension) and lives at .mokogitea/manifest.xml.
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.07.00
*/
class ManifestParser
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Metrics
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Metrics
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/MetricsCollector.php
* BRIEF: Metrics collection framework
@@ -46,7 +46,7 @@ declare(strict_types=1);
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+3 -3
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Platform
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Platform
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/MokoGiteaAdapter.php
* BRIEF: Gitea implementation of GitPlatformAdapter
@@ -33,7 +33,7 @@ use RuntimeException;
* - Branch protection: flat API (not rulesets)
* - Workflow dir: .mokogitea/workflows
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @since 04.06.10
* @see GitPlatformAdapter
*/
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform.Lib
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI.Lib
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/PackageBuilder.php
* BRIEF: Builds release packages for generic, Dolibarr module, and Joomla component projects
+3 -3
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Platform
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Platform
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/PlatformAdapterFactory.php
* BRIEF: Factory for creating platform-specific GitPlatformAdapter instances
@@ -33,7 +33,7 @@ use RuntimeException;
* $repos = $adapter->listOrgRepos('mokoconsulting-tech');
* ```
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.06.10
*
* @since 04.00.00
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/PluginFactory.php
* BRIEF: Plugin factory for project type detection
@@ -23,7 +23,7 @@ namespace MokoCli;
*
* Provides convenient methods for plugin instantiation with dependency injection
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 1.0.0
*/
class PluginFactory
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/PluginRegistry.php
* BRIEF: Plugin registry for available project plugins
@@ -35,7 +35,7 @@ use MokoCli\Plugins\McpServerPlugin;
*
* Manages plugin discovery, registration, and lifecycle
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 1.0.0
*/
class PluginRegistry
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/ApiPlugin.php
* BRIEF: Enterprise plugin for API/Microservices projects
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/DocumentationPlugin.php
* BRIEF: Enterprise plugin for documentation projects
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/DolibarrPlugin.php
* BRIEF: Enterprise plugin for Dolibarr modules
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/GenericPlugin.php
* BRIEF: Enterprise plugin for generic projects
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/JoomlaPlugin.php
* BRIEF: Enterprise plugin for Joomla projects
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/McpServerPlugin.php
* BRIEF: Enterprise plugin for MCP (Model Context Protocol) server projects
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/MobilePlugin.php
* BRIEF: Enterprise plugin for mobile app projects
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/NodeJsPlugin.php
* BRIEF: Enterprise plugin for Node.js/TypeScript projects
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/PythonPlugin.php
* BRIEF: Enterprise plugin for Python projects
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/TerraformPlugin.php
* BRIEF: Enterprise plugin for Terraform projects
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/Plugins/WordPressPlugin.php
* BRIEF: Enterprise plugin for WordPress projects
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.ProjectTypes
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.ProjectTypes
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/ProjectConfigValidator.php
* BRIEF: Enterprise library for validating project configurations
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.ProjectTypes
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.ProjectTypes
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/ProjectMetricsCollector.php
* BRIEF: Enterprise library for collecting project-specific metrics
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Plugins
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Plugins
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/ProjectPluginInterface.php
* BRIEF: Interface for project type plugins
@@ -24,7 +24,7 @@ namespace MokoCli;
* Each project type (Joomla, Node.js, Python, etc.) implements this interface
* to provide type-specific validation, metrics, and management capabilities.
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 1.0.0
*/
interface ProjectPluginInterface
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.ProjectTypes
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise.ProjectTypes
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/ProjectTypeDetector.php
* BRIEF: Enterprise library for detecting project types
+3 -3
View File
@@ -10,13 +10,13 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Recovery
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Recovery
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/RecoveryError.php
* BRIEF: Recovery error exception class
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+3 -3
View File
@@ -10,13 +10,13 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Recovery
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Recovery
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/RecoveryManager.php
* BRIEF: Recovery manager for failed operations
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+2 -2
View File
@@ -3,8 +3,8 @@
/* Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
* SPDX-License-Identifier: GPL-3.0-or-later
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform.Lib
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI.Lib
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/RecoverySuggestion.php
* BRIEF: Smart error recovery suggestions for validators
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/RepositoryHealthChecker.php
* BRIEF: Repository health checking enterprise library
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/RepositorySynchronizer.php
* BRIEF: Repository synchronization enterprise library
+3 -3
View File
@@ -10,13 +10,13 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Recovery
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Recovery
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/RetryHelper.php
* BRIEF: Retry helper with exponential backoff
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Security
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Security
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/SecurityValidator.php
* BRIEF: Security validation library
@@ -45,7 +45,7 @@ declare(strict_types=1);
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+2 -2
View File
@@ -7,8 +7,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform.Lib
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI.Lib
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/SourceResolver.php
* BRIEF: Resolve the root-level source directory across repos (source/, src/, htdocs/)
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Enterprise
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/SynchronizationException.php
* BRIEF: Custom exception for repository synchronization errors
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Transaction
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Transaction
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/TransactionManager.php
* BRIEF: Transaction manager for atomic operations
@@ -52,7 +52,7 @@ declare(strict_types=1);
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+3 -3
View File
@@ -9,8 +9,8 @@ declare(strict_types=1);
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Enterprise.Validation
* INGROUP: MokoPlatform.Enterprise
* DEFGROUP: MokoCLI.Enterprise.Validation
* INGROUP: MokoCLI.Enterprise
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/Enterprise/UnifiedValidation.php
* BRIEF: Unified validation framework
@@ -51,7 +51,7 @@ declare(strict_types=1);
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* @package MokoPlatform\Enterprise
* @package MokoCLI\Enterprise
* @version 04.00.04
* @author mokocli Team
* @license GPL-3.0-or-later
+2 -2
View File
@@ -2,8 +2,8 @@
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
SPDX-License-Identifier: GPL-3.0-or-later
FILE INFORMATION
DEFGROUP: MokoPlatform.Index
INGROUP: MokoPlatform.Lib
DEFGROUP: MokoCLI.Index
INGROUP: MokoCLI.Lib
REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
PATH: /lib/index.md
BRIEF: Library directory index
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Joomla
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Joomla
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /lib/plugins/Joomla/UpdateXmlGenerator.php
* BRIEF: Generates and updates Joomla extension updates.xml files
+2 -2
View File
@@ -2,8 +2,8 @@
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
SPDX-License-Identifier: GPL-3.0-or-later
FILE INFORMATION
DEFGROUP: MokoPlatform.Index
INGROUP: MokoPlatform.Maintenance
DEFGROUP: MokoCLI.Index
INGROUP: MokoCLI.Maintenance
REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
PATH: /maintenance/index.md
BRIEF: Maintenance directory index
+2 -2
View File
@@ -9,8 +9,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Scripts.Maintenance
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Scripts.Maintenance
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /maintenance/pin_action_shas.php
* BRIEF: Pin GitHub Actions to immutable commit SHAs in workflow files
+2 -2
View File
@@ -8,8 +8,8 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*
* FILE INFORMATION
* DEFGROUP: MokoPlatform.Maintenance
* INGROUP: MokoPlatform
* DEFGROUP: MokoCLI.Maintenance
* INGROUP: MokoCLI
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /maintenance/repo_inventory.php
* BRIEF: Generate a live inventory dashboard of all governed repos as a GitHub issue

Some files were not shown because too many files have changed in this diff Show More