diff --git a/.gitignore b/.gitignore index a654d71..6be2b44 100644 --- a/.gitignore +++ b/.gitignore @@ -46,6 +46,7 @@ Icon? .idea/ .settings/ .claude/ +.gemini/ .vscode/* !.vscode/tasks.json !.vscode/settings.json.example @@ -205,6 +206,13 @@ hypothesis/ profile.ps1 .mcp.json +# ============================================================ +# AI client instructions (not version controlled) +# ============================================================ +/GEMINI.md +/MOKOAI.md +.mokoai/ + # ============================================================ # Local wiki clone (not version controlled) # ============================================================ diff --git a/.mokogitea/GEMINI.md b/.mokogitea/GEMINI.md new file mode 100644 index 0000000..dedc400 --- /dev/null +++ b/.mokogitea/GEMINI.md @@ -0,0 +1,51 @@ +# {{REPO_NAME}} + +{{REPO_DESCRIPTION}} + +> AI-client instructions for **Gemini**. Mirrors `.mokogitea/CLAUDE.md` — keep CLAUDE.md, GEMINI.md, and MOKOAI.md in sync. + +## First-Run Setup + +> Before starting any work, complete these steps: +> +> 1. Replace all `{{REPO_NAME}}` placeholders with the actual repository name +> 2. Replace `{{REPO_DESCRIPTION}}` with a one-line project description +> 3. Replace `{{PLATFORM_TYPE}}` with the project type (e.g. `generic`, `nodejs`, `python`) +> 4. Replace `{{PRIMARY_LANGUAGE}}` with the dominant language +> 5. Set repository metadata via the MokoGitea **Metadata** field — repository **Settings → Metadata**, or the REST API `PUT /api/v1/repos/{owner}/{repo}/manifest` (identity, platform, language, package-type, entry-point). There is no metadata file in the repo. +> 6. Update the **Architecture** section for your project +> 7. Update the Commands section with actual build commands +> 8. Delete this setup block after completing all steps +> 9. Commit: `chore: initialize {{REPO_NAME}}` + +## Quick Reference + +| Field | Value | +|---|---| +| **Platform** | {{PLATFORM_TYPE}} | +| **Language** | {{PRIMARY_LANGUAGE}} | +| **Branch** | develop on `dev`, merge to `main` (protected) | +| **Wiki** | [Wiki](https://git.mokoconsulting.tech/MokoConsulting/{{REPO_NAME}}/wiki) | + +## Commands + +```bash +make build # Build the project +make lint # Run linters +make validate # Validate structure +make release # Full release pipeline +make clean # Clean build artifacts +``` + +## Architecture + + + +## Rules + +- **Never commit** `.gemini/`, `.mcp.json`, `TODO.md`, `*.min.css`/`*.min.js` +- **Attribution**: `Authored-by: Moko Consulting` +- **Workflow directory**: `.mokogitea/` (not `.gitea/` or `.github/`) +- **Metadata**: set via the MokoGitea **Metadata** field (API / Settings → Metadata), never a committed manifest file +- **Wiki**: documentation lives in the MokoGitea wiki, not `docs/` files +- **Standards**: [MokoCLI](https://git.mokoconsulting.tech/MokoConsulting/mokocli/wiki/Home) diff --git a/.mokogitea/ISSUE_TEMPLATE/config.yml b/.mokogitea/ISSUE_TEMPLATE/config.yml index ef3e244..c52380c 100644 --- a/.mokogitea/ISSUE_TEMPLATE/config.yml +++ b/.mokogitea/ISSUE_TEMPLATE/config.yml @@ -7,8 +7,8 @@ contact_links: - name: 💬 Ask a Question url: https://mokoconsulting.tech/ about: Get help or ask questions through our website - - name: 📚 MokoStandards Documentation - url: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI + - name: 📚 MokoCLI Documentation + url: https://git.mokoconsulting.tech/MokoConsulting/mokocli about: View our coding standards and best practices - name: 🔒 Report a Security Vulnerability url: https://git.mokoconsulting.tech/MokoConsulting/.github-private/security/advisories/new diff --git a/.mokogitea/ISSUE_TEMPLATE/documentation.md b/.mokogitea/ISSUE_TEMPLATE/documentation.md index ed4dabc..8156651 100644 --- a/.mokogitea/ISSUE_TEMPLATE/documentation.md +++ b/.mokogitea/ISSUE_TEMPLATE/documentation.md @@ -42,7 +42,7 @@ Suggested text here ## Standards Alignment -- [ ] Follows MokoStandards documentation guidelines +- [ ] Follows MokoCLI documentation guidelines - [ ] Uses en_US/en_GB localization - [ ] Includes proper SPDX headers where applicable diff --git a/.mokogitea/ISSUE_TEMPLATE/feature_request.md b/.mokogitea/ISSUE_TEMPLATE/feature_request.md index 7b76dc9..650523c 100644 --- a/.mokogitea/ISSUE_TEMPLATE/feature_request.md +++ b/.mokogitea/ISSUE_TEMPLATE/feature_request.md @@ -37,7 +37,7 @@ If you have ideas about how this could be implemented, share them here: Add any other context, mockups, or screenshots about the feature request here. ## Relevant Standards -Does this relate to any standards in [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoStandards)? +Does this relate to any standards in [MokoCLI](https://git.mokoconsulting.tech/MokoConsulting/mokocli)? - [ ] Accessibility (WCAG 2.1 AA) - [ ] Localization (en_US/en_GB) - [ ] Security best practices diff --git a/.mokogitea/ISSUE_TEMPLATE/security.md b/.mokogitea/ISSUE_TEMPLATE/security.md index f57b284..37a266d 100644 --- a/.mokogitea/ISSUE_TEMPLATE/security.md +++ b/.mokogitea/ISSUE_TEMPLATE/security.md @@ -35,7 +35,7 @@ Use this template only for: ## Standards Reference -Does this relate to security standards in [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoStandards)? +Does this relate to security standards in [MokoCLI](https://git.mokoconsulting.tech/MokoConsulting/mokocli)? - [ ] SPDX license identifiers - [ ] Secret management - [ ] Dependency security diff --git a/.mokogitea/MOKOAI.md b/.mokogitea/MOKOAI.md new file mode 100644 index 0000000..87c029e --- /dev/null +++ b/.mokogitea/MOKOAI.md @@ -0,0 +1,51 @@ +# {{REPO_NAME}} + +{{REPO_DESCRIPTION}} + +> AI-client instructions for **MokoAI**. Mirrors `.mokogitea/CLAUDE.md` — keep CLAUDE.md, GEMINI.md, and MOKOAI.md in sync. + +## First-Run Setup + +> Before starting any work, complete these steps: +> +> 1. Replace all `{{REPO_NAME}}` placeholders with the actual repository name +> 2. Replace `{{REPO_DESCRIPTION}}` with a one-line project description +> 3. Replace `{{PLATFORM_TYPE}}` with the project type (e.g. `generic`, `nodejs`, `python`) +> 4. Replace `{{PRIMARY_LANGUAGE}}` with the dominant language +> 5. Set repository metadata via the MokoGitea **Metadata** field — repository **Settings → Metadata**, or the REST API `PUT /api/v1/repos/{owner}/{repo}/manifest` (identity, platform, language, package-type, entry-point). There is no metadata file in the repo. +> 6. Update the **Architecture** section for your project +> 7. Update the Commands section with actual build commands +> 8. Delete this setup block after completing all steps +> 9. Commit: `chore: initialize {{REPO_NAME}}` + +## Quick Reference + +| Field | Value | +|---|---| +| **Platform** | {{PLATFORM_TYPE}} | +| **Language** | {{PRIMARY_LANGUAGE}} | +| **Branch** | develop on `dev`, merge to `main` (protected) | +| **Wiki** | [Wiki](https://git.mokoconsulting.tech/MokoConsulting/{{REPO_NAME}}/wiki) | + +## Commands + +```bash +make build # Build the project +make lint # Run linters +make validate # Validate structure +make release # Full release pipeline +make clean # Clean build artifacts +``` + +## Architecture + + + +## Rules + +- **Never commit** `.mokoai/`, `.mcp.json`, `TODO.md`, `*.min.css`/`*.min.js` +- **Attribution**: `Authored-by: Moko Consulting` +- **Workflow directory**: `.mokogitea/` (not `.gitea/` or `.github/`) +- **Metadata**: set via the MokoGitea **Metadata** field (API / Settings → Metadata), never a committed manifest file +- **Wiki**: documentation lives in the MokoGitea wiki, not `docs/` files +- **Standards**: [MokoCLI](https://git.mokoconsulting.tech/MokoConsulting/mokocli/wiki/Home) diff --git a/.mokogitea/branch-protection.yml b/.mokogitea/branch-protection.yml index 446fbfa..6abb324 100644 --- a/.mokogitea/branch-protection.yml +++ b/.mokogitea/branch-protection.yml @@ -2,9 +2,9 @@ # SPDX-License-Identifier: GPL-3.0-or-later # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Automation -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI -# PATH: /.gitea/workflows/branch-protection.yml +# INGROUP: MokoCLI.Automation +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli +# PATH: /.mokogitea/workflows/branch-protection.yml # BRIEF: Apply standardised branch protection rules to all governed repositories # # +========================================================================+ @@ -62,8 +62,8 @@ jobs: API="${GITEA_URL}/api/v1" # Platform/standards/infra repos to exclude - EXCLUDE="gitea-org-config org-profile gitea-private .mokogitea-private MokoStandards mokocli MokoTesting" - EXCLUDE="$EXCLUDE MokoStandards-Template-Client MokoStandards-Template-Dolibarr MokoStandards-Template-Generic MokoStandards-Template-Joomla MokoDoliProjTemplate" + EXCLUDE="gitea-org-config org-profile gitea-private .mokogitea-private mokocli MokoTesting" + EXCLUDE="$EXCLUDE Template-Client Template-Dolibarr Template-Generic Template-Joomla MokoDoliProjTemplate" if [ -n "${{ inputs.repos }}" ]; then # User-specified repos diff --git a/.mokogitea/workflows/auto-bump.yml b/.mokogitea/workflows/auto-bump.yml index c888f77..a47661a 100644 --- a/.mokogitea/workflows/auto-bump.yml +++ b/.mokogitea/workflows/auto-bump.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Release -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.Release +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /.mokogitea/workflows/auto-bump.yml # VERSION: 09.02.00 # BRIEF: Auto patch-bump version on every push to dev (skips merge commits) @@ -43,7 +43,7 @@ jobs: token: ${{ secrets.MOKOGITEA_TOKEN }} fetch-depth: 1 - - name: Setup mokocli tools + - name: Setup MokoCLI tools run: | if ! command -v composer &> /dev/null; then 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 @@ -52,7 +52,7 @@ jobs: echo "MOKO_CLI=/opt/mokocli/cli" >> "$GITHUB_ENV" else git clone --depth 1 --branch main --quiet \ - "https://x-access-token:${{ secrets.MOKOGITEA_TOKEN }}@git.mokoconsulting.tech/MokoConsulting/MokoCLI.git" \ + "https://x-access-token:${{ secrets.MOKOGITEA_TOKEN }}@git.mokoconsulting.tech/MokoConsulting/mokocli.git" \ /tmp/mokocli cd /tmp/mokocli && composer install --no-dev --no-interaction --quiet echo "MOKO_CLI=/tmp/mokocli/cli" >> "$GITHUB_ENV" diff --git a/.mokogitea/workflows/auto-release.yml b/.mokogitea/workflows/auto-release.yml index 39e53b9..ce7bc6c 100644 --- a/.mokogitea/workflows/auto-release.yml +++ b/.mokogitea/workflows/auto-release.yml @@ -4,17 +4,17 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Release -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.Release +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /templates/workflows/universal/auto-release.yml.template # VERSION: 05.01.00 -# BRIEF: Universal build & release � detects platform from manifest.xml +# BRIEF: Universal build & release � detects platform from MokoGitea repo metadata (API) # # +=======================================================================+ # | UNIVERSAL BUILD & RELEASE PIPELINE | # +=======================================================================+ # | | -# | Reads manifest.xml (joomla|dolibarr|generic) to branch logic. | +# | Reads MokoGitea repo metadata (joomla|dolibarr|generic) to branch logic. | # | | # | Platform-specific: | # | joomla: XML manifest, type-prefixed packages | @@ -81,7 +81,7 @@ jobs: fetch-depth: 1 submodules: recursive - - name: Setup mokocli tools + - name: Setup MokoCLI tools env: MOKO_CLONE_TOKEN: ${{ secrets.MOKOGITEA_TOKEN }} MOKO_CLONE_HOST: git.mokoconsulting.tech/MokoConsulting @@ -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 @@ -203,7 +203,7 @@ jobs: fi echo "No conflict markers found" - - name: Setup mokocli tools + - name: Setup MokoCLI tools env: MOKO_CLONE_TOKEN: ${{ secrets.MOKOGITEA_TOKEN }} MOKO_CLONE_HOST: git.mokoconsulting.tech/MokoConsulting @@ -218,7 +218,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 diff --git a/.mokogitea/workflows/branch-cleanup.yml b/.mokogitea/workflows/branch-cleanup.yml index 1c6d6c6..aca4a9d 100644 --- a/.mokogitea/workflows/branch-cleanup.yml +++ b/.mokogitea/workflows/branch-cleanup.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: MokoStandards.Universal -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.Universal +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /.mokogitea/workflows/branch-cleanup.yml # VERSION: 01.00.00 # BRIEF: Delete feature branches after PR merge diff --git a/.mokogitea/workflows/cascade-dev.yml b/.mokogitea/workflows/cascade-dev.yml index deb1eb9..1b9f8a6 100644 --- a/.mokogitea/workflows/cascade-dev.yml +++ b/.mokogitea/workflows/cascade-dev.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Release +# INGROUP: MokoCLI.Release # BRIEF: Reset dev to main after each release (cascade). Moved out of auto-release Step 11. # # +========================================================================+ diff --git a/.mokogitea/workflows/ci-generic.yml b/.mokogitea/workflows/ci-generic.yml index f01cfbc..330e6f9 100644 --- a/.mokogitea/workflows/ci-generic.yml +++ b/.mokogitea/workflows/ci-generic.yml @@ -4,9 +4,9 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: MokoStandards.CI +# INGROUP: MokoCLI.CI # REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Generic -# PATH: /.gitea/workflows/ci-generic.yml +# PATH: /.mokogitea/workflows/ci-generic.yml # VERSION: 01.00.00 # BRIEF: CI pipeline — lint, validate, and test for generic projects (PHP + Node.js) diff --git a/.mokogitea/workflows/ci-issue-reporter.yml b/.mokogitea/workflows/ci-issue-reporter.yml index 4a5198f..335e92f 100644 --- a/.mokogitea/workflows/ci-issue-reporter.yml +++ b/.mokogitea/workflows/ci-issue-reporter.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Universal -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.Universal +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /.mokogitea/workflows/ci-issue-reporter.yml # VERSION: 01.00.00 # BRIEF: Reusable workflow — creates/updates a MokoGitea issue when a CI gate fails. @@ -52,7 +52,7 @@ jobs: MOKOGITEA_TOKEN: ${{ secrets.MOKOGITEA_TOKEN }} run: | MOKOGITEA_URL="${{ vars.GITEA_URL || 'https://git.mokoconsulting.tech' }}" - git clone --depth 1 --filter=blob:none --sparse "${MOKOGITEA_URL}/MokoConsulting/MokoCLI.git" /tmp/mokocli + git clone --depth 1 --filter=blob:none --sparse "${MOKOGITEA_URL}/MokoConsulting/mokocli.git" /tmp/mokocli cd /tmp/mokocli && git sparse-checkout set cli/ci_issue_reporter.sh - name: Report CI failure diff --git a/.mokogitea/workflows/ci-joomla.yml b/.mokogitea/workflows/ci-joomla.yml index 3aa5223..e61ed5b 100644 --- a/.mokogitea/workflows/ci-joomla.yml +++ b/.mokogitea/workflows/ci-joomla.yml @@ -6,8 +6,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow.Template -# INGROUP: MokoStandards.CI -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards-API +# INGROUP: MokoCLI.CI +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /templates/workflows/joomla/ci-joomla.yml.template # VERSION: 04.06.00 # BRIEF: CI workflow for Joomla extensions — lint, validate, test @@ -47,17 +47,17 @@ jobs: fi php -v && composer --version - - name: Setup mokocli tools + - name: Setup MokoCLI tools env: MOKO_CLONE_TOKEN: ${{ secrets.MOKOGITEA_TOKEN || github.token }} MOKO_CLONE_HOST: ${{ secrets.MOKOGITEA_TOKEN && 'git.mokoconsulting.tech/MokoConsulting' || 'github.com/mokoconsulting-tech' }} run: | if [ -d "/opt/mokocli" ] || [ -d "/tmp/mokocli" ]; then - echo "mokocli already available on runner — skipping clone" + echo "MokoCLI already available on runner — skipping clone" else git clone --depth 1 --branch main --quiet \ - "https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/MokoCLI.git" \ - /tmp/mokocli 2>/dev/null || echo "mokocli clone skipped — continuing without it" + "https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/mokocli.git" \ + /tmp/mokocli 2>/dev/null || echo "MokoCLI clone skipped — continuing without it" fi - name: Install dependencies diff --git a/.mokogitea/workflows/cleanup.yml b/.mokogitea/workflows/cleanup.yml index 5be85af..d08e29e 100644 --- a/.mokogitea/workflows/cleanup.yml +++ b/.mokogitea/workflows/cleanup.yml @@ -4,9 +4,9 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: MokoStandards.Maintenance -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards -# PATH: /.gitea/workflows/cleanup.yml +# INGROUP: MokoCLI.Maintenance +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli +# PATH: /.mokogitea/workflows/cleanup.yml # VERSION: 01.00.00 # BRIEF: Scheduled cleanup — delete merged branches and old workflow runs diff --git a/.mokogitea/workflows/gitleaks.yml b/.mokogitea/workflows/gitleaks.yml index 5c1d05d..23b843e 100644 --- a/.mokogitea/workflows/gitleaks.yml +++ b/.mokogitea/workflows/gitleaks.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: MokoStandards.Security -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards-API +# INGROUP: MokoCLI.Security +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /templates/workflows/gitleaks.yml.template # VERSION: 01.00.00 # BRIEF: Secret scanning — detect leaked credentials, API keys, and tokens diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index eb67f8f..12a4b11 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -4,7 +4,7 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Automation +# INGROUP: MokoCLI.Automation # VERSION: 01.00.00 # BRIEF: Auto-create feature branch when an issue is opened diff --git a/.mokogitea/workflows/notify.yml b/.mokogitea/workflows/notify.yml index 8e6cd93..6d029c2 100644 --- a/.mokogitea/workflows/notify.yml +++ b/.mokogitea/workflows/notify.yml @@ -4,9 +4,9 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: MokoStandards.Notifications -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards -# PATH: /.gitea/workflows/notify.yml +# INGROUP: MokoCLI.Notifications +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli +# PATH: /.mokogitea/workflows/notify.yml # VERSION: 01.00.00 # BRIEF: Push notifications via ntfy on release success or workflow failure diff --git a/.mokogitea/workflows/pr-check.yml b/.mokogitea/workflows/pr-check.yml index ca8c68b..2cd896c 100644 --- a/.mokogitea/workflows/pr-check.yml +++ b/.mokogitea/workflows/pr-check.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.CI -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.CI +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /templates/workflows/universal/pr-check.yml.template # VERSION: 09.23.00 # BRIEF: PR gate — branch policy + code validation before merge diff --git a/.mokogitea/workflows/pr-metadata-check.yml b/.mokogitea/workflows/pr-metadata-check.yml index a5f3044..a706c41 100644 --- a/.mokogitea/workflows/pr-metadata-check.yml +++ b/.mokogitea/workflows/pr-metadata-check.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Validation -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.Validation +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /templates/workflows/joomla/pr-metadata-check.yml.template # VERSION: 01.00.00 # BRIEF: Validate MokoGitea metadata matches Joomla extension manifest on PRs @@ -35,7 +35,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Setup mokocli tools + - name: Setup MokoCLI tools env: MOKO_CLONE_TOKEN: ${{ secrets.MOKOGITEA_TOKEN }} MOKO_CLONE_HOST: git.mokoconsulting.tech/MokoConsulting @@ -49,7 +49,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 echo MOKO_CLI=/tmp/mokocli/cli >> $GITHUB_ENV diff --git a/.mokogitea/workflows/pre-release.yml b/.mokogitea/workflows/pre-release.yml index 97a7388..2c4d3c9 100644 --- a/.mokogitea/workflows/pre-release.yml +++ b/.mokogitea/workflows/pre-release.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Release -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.Release +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /templates/workflows/universal/pre-release.yml.template # VERSION: 05.02.00 # BRIEF: Auto pre-release on push to dev/alpha/beta/rc branches @@ -69,7 +69,7 @@ jobs: run: | git submodule foreach --quiet 'git checkout main && git pull --quiet origin main' 2>/dev/null || true - - name: Setup mokocli tools + - name: Setup MokoCLI tools env: MOKO_CLONE_TOKEN: ${{ secrets.MOKOGITEA_TOKEN }} MOKO_CLONE_HOST: git.mokoconsulting.tech/MokoConsulting @@ -84,7 +84,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 echo MOKO_CLI=/tmp/mokocli/cli >> $GITHUB_ENV diff --git a/.mokogitea/workflows/rc-revert.yml b/.mokogitea/workflows/rc-revert.yml index 59eab16..8874441 100644 --- a/.mokogitea/workflows/rc-revert.yml +++ b/.mokogitea/workflows/rc-revert.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Universal -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.Universal +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /.mokogitea/workflows/rc-revert.yml # VERSION: 09.23.00 # BRIEF: Rename rc/ branch back to dev/ when PR is closed without merge diff --git a/.mokogitea/workflows/repo-health.yml b/.mokogitea/workflows/repo-health.yml index c155a6a..31736e8 100644 --- a/.mokogitea/workflows/repo-health.yml +++ b/.mokogitea/workflows/repo-health.yml @@ -7,8 +7,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Validation -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.Validation +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /templates/workflows/joomla/repo_health.yml.template # VERSION: 09.23.00 # BRIEF: Enforces repository guardrails by validating scripts governance, tooling availability, and core repository health artifacts. diff --git a/.mokogitea/workflows/version-set.yml b/.mokogitea/workflows/version-set.yml index 36b7a04..172c085 100644 --- a/.mokogitea/workflows/version-set.yml +++ b/.mokogitea/workflows/version-set.yml @@ -4,7 +4,7 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow.Template -# INGROUP: MokoStandards.CI +# INGROUP: MokoCLI.CI # REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla # PATH: /.mokogitea/workflows/version-set.yml # VERSION: 01.00.00 diff --git a/.mokogitea/workflows/workflow-sync-trigger.yml b/.mokogitea/workflows/workflow-sync-trigger.yml index 4a94caf..ddc21a6 100644 --- a/.mokogitea/workflows/workflow-sync-trigger.yml +++ b/.mokogitea/workflows/workflow-sync-trigger.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow -# INGROUP: mokocli.Universal -# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI +# INGROUP: MokoCLI.Universal +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /.mokogitea/workflows/workflow-sync-trigger.yml # VERSION: 01.01.00 # BRIEF: Trigger workflow sync to live repos when a PR is merged to main @@ -48,12 +48,12 @@ jobs: echo "platform=$PLATFORM" >> "$GITHUB_OUTPUT" echo "Platform: ${PLATFORM:-all}" - - name: Clone mokocli + - name: Clone MokoCLI env: MOKOGITEA_TOKEN: ${{ secrets.MOKOGITEA_TOKEN }} run: | MOKOGITEA_URL="${{ vars.GITEA_URL || 'https://git.mokoconsulting.tech' }}" - git clone --depth 1 "${MOKOGITEA_URL}/MokoConsulting/MokoCLI.git" /tmp/mokocli + git clone --depth 1 "${MOKOGITEA_URL}/MokoConsulting/mokocli.git" /tmp/mokocli - name: Install PHP run: | diff --git a/CLAUDE.md b/CLAUDE.md index b8733ed..d8baa1c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -13,7 +13,7 @@ This file provides guidance to Claude Code when working with this repository. | **Default branch** | main | | **License** | GPL-3.0-or-later | | **Wiki** | [Template-Joomla Wiki](https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla/wiki) | -| **Standards** | [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/wiki/Home) | +| **Standards** | [MokoCLI](https://git.mokoconsulting.tech/MokoConsulting/mokocli/wiki/Home) | ## Common Commands @@ -44,4 +44,4 @@ This is a project template. Files are copied when creating new repos. - **Branch strategy**: develop on `dev`, merge to `main` for release - **Minification**: handled at build time (CI) and runtime (MokoMinifyHelper for Joomla templates) - **Wiki**: documentation lives in the MokoGitea wiki, not in `docs/` files -- **Standards**: this repo follows [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/wiki/Home) +- **Standards**: this repo follows [MokoCLI](https://git.mokoconsulting.tech/MokoConsulting/mokocli/wiki/Home) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 73f36d9..41389c7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -119,7 +119,7 @@ This ensures Joomla sites on ANY stability channel see the update (Joomla only s The version tools update all files containing version stamps: -- `.mokogitea/manifest.xml` (canonical source) +- MokoGitea **Metadata** field (canonical source — Settings → Metadata or API) - Joomla XML manifests (`` tag) - `README.md`, `CHANGELOG.md` (`VERSION:` pattern) - `package.json`, `pyproject.toml` diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 47fa254..6e0e0fa 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -17,14 +17,14 @@ FILE INFORMATION DEFGROUP: mokoconsulting-tech.Template-Joomla - INGROUP: MokoStandards.Governance + INGROUP: MokoCLI.Governance REPO: https://github.com/mokoconsulting-tech/Template-Joomla VERSION: 01.01.00 PATH: /GOVERNANCE.md BRIEF: Project governance rules, roles, and decision process for Template-Joomla --> -[![MokoStandards](https://img.shields.io/badge/MokoStandards-04.00.04-blue)](https://github.com/mokoconsulting-tech/MokoStandards) +[![MokoCLI](https://img.shields.io/badge/mokocli-04.00.04-blue)](https://github.com/mokoconsulting-tech/mokocli) # Project Governance @@ -32,10 +32,10 @@ This document defines the governance model for the `Template-Joomla` repository within the `mokoconsulting-tech` organization. It is automatically maintained by -[MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards) v04.00.04. +[MokoCLI](https://github.com/mokoconsulting-tech/mokocli) v04.00.04. -Full governance policy is defined in the MokoStandards source repository: -[docs/policy/GOVERNANCE.md](https://github.com/mokoconsulting-tech/MokoStandards/blob/main/docs/policy/GOVERNANCE.md) +Full governance policy is defined in the MokoCLI source repository: +[docs/policy/GOVERNANCE.md](https://github.com/mokoconsulting-tech/mokocli/blob/main/docs/policy/GOVERNANCE.md) --- @@ -80,7 +80,7 @@ available. The following requirements remain mandatory regardless: 4. **Documentation** — changes are documented in `CHANGELOG.md`. See the full policy: -[Sole Operator Policy](https://github.com/mokoconsulting-tech/MokoStandards/blob/main/docs/policy/GOVERNANCE.md#sole-operator-policy) +[Sole Operator Policy](https://github.com/mokoconsulting-tech/mokocli/blob/main/docs/policy/GOVERNANCE.md#sole-operator-policy) --- @@ -113,7 +113,7 @@ See the full policy: | Applies To | mokoconsulting-tech/Template-Joomla | | Jurisdiction | Tennessee, USA | | Maintainer | @mokoconsulting-tech | -| Standards | MokoStandards v04.00.04 | +| Standards | MokoCLI v04.00.04 | | Repo | https://github.com/mokoconsulting-tech/Template-Joomla | | Path | /GOVERNANCE.md | -| Status | Active — auto-maintained by MokoStandards | +| Status | Active — auto-maintained by MokoCLI | diff --git a/LICENSE b/LICENSE index 331197a..baeac51 100644 --- a/LICENSE +++ b/LICENSE @@ -11,9 +11,9 @@ You should have received a copy of the GNU General Public License (./LICENSE). # FILE INFORMATION - DEFGROUP: MokoStandards - INGROUP: MokoStandards.Documentation - REPO: https://github.com/mokoconsulting-tech/MokoStandards/ + DEFGROUP: MokoCLI + INGROUP: MokoCLI.Documentation + REPO: https://github.com/mokoconsulting-tech/mokocli/ VERSION: 05.00.00 PATH: ./LICENSE BRIEF: Project license (GPL-3.0-or-later) diff --git a/README.md b/README.md index 57ed1a3..d073c94 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ source/ ← Your extension source lives here (CI scans this dir) ## Standards -This repo follows [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/wiki/Home). +This repo follows [MokoCLI](https://git.mokoconsulting.tech/MokoConsulting/mokocli/wiki/Home). Documentation lives in the [Template-Joomla Wiki](https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla/wiki). ## License diff --git a/SECURITY.md b/SECURITY.md index 81c22ff..762222b 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -141,7 +141,7 @@ For projects using this template: * Enforce signed commits (recommended) * Use secrets management (never commit credentials) * Maintain security documentation -* Follow secure coding standards defined in MokoStandards +* Follow secure coding standards defined in MokoCLI ### Joomla Plugin Security @@ -191,7 +191,7 @@ All repositories SHOULD implement: ## Compliance and Governance -This security policy is aligned with MokoStandards. Deviations require documented justification. +This security policy is aligned with MokoCLI. Deviations require documented justification. Security policies are reviewed and updated at least annually or following significant security incidents. diff --git a/phpstan.neon b/phpstan.neon index 3d4adca..a4e989c 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # PHPStan configuration for Joomla extension repositories. -# Extends the base MokoStandards config and adds Joomla framework class stubs +# Extends the base MokoCLI config and adds Joomla framework class stubs # so PHPStan can resolve Factory, CMSApplication, User, Table, etc. # without requiring a full Joomla installation.