Contents
Table of Contents
Repository Metadata Standard
Repository metadata — identity, governance, and build settings — for every MokoConsulting repository is stored in MokoGIT's Metadata field, a per-repository record in the MokoGIT database. It is managed through the repository Settings → Metadata page or the MokoGIT REST API — not through any committed file. There is no metadata file in the repository; even the platform type is a field in the Metadata record.
GET /api/v1/repos/{owner}/{repo}/manifest # read metadata
PUT /api/v1/repos/{owner}/{repo}/manifest # update metadata
Migration note: The legacy
.mokogit/manifest.xmlfile (and older.mokostandardsvariants) is deprecated and no longer used. On first access MokoGIT auto-reads any existing file and imports it into the Metadata field, after which the file is removed. New repositories set metadata via the API or Settings UI and commit no metadata file.
Fields
All fields are set through the Metadata field / API.
identity
| Field | Required | Description |
|---|---|---|
name |
Yes | Repository/extension display name |
org |
Yes | Organization name (always MokoConsulting) |
description |
Yes | One-line project description |
version |
Yes | Canonical version in XX.YY.ZZ — the controlling version for CI releases, update-server entries, and version bumps |
license |
Yes | License with SPDX identifier |
governance
| Field | Required | Description |
|---|---|---|
platform |
Yes | Target platform: joomla, dolibarr, go, npm, generic |
standards-version |
Yes | MokoCLI version this repo conforms to |
standards-source |
Yes | URL to the MokoCLI repo |
build
| Field | Required | Description |
|---|---|---|
language |
Yes | Primary programming language |
package-type |
Yes | joomla-extension, dolibarr, application, library, mcp-server |
entry-point |
Yes | Source directory for packaging (e.g. src/, htdocs/custom/, ./) |
Usage by CI Workflows
CI reads the Metadata field (via the API) to:
- Determine platform and packaging strategy
- Read the canonical version number
- Find the source entry point for ZIP packaging
- Set extension metadata (name, type, element)
Version Field
The version value in the Metadata record is the single source of truth for the project version. The version_read.php / version_bump.php CLI tools read and write it through the API. All other version references (Joomla XML manifests, README badges, etc.) are synced from this value.