docs: rebrand Gitea→MokoGitea and migrate manifest.xml to MokoGitea Metadata field

Authored-by: Moko Consulting
2026-07-12 18:58:35 -05:00
parent 5717ddf782
commit 1751661696
+18 -42
@@ -1,34 +1,20 @@
# .mokogitea/manifest.xml Standard
[← Back to Home](Home)
The `.mokogitea/manifest.xml` file is the canonical identity and build metadata file for all MokoConsulting repositories. It is **required** in every repo.
# Repository Metadata Standard
## Schema (v1.0)
Repository metadata — identity, governance, and build settings — for every MokoConsulting repository is stored in **MokoGitea's Metadata field**, a per-repository record in the MokoGitea database. It is managed through the repository **Settings → Metadata** page or the MokoGitea 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.
```xml
<?xml version="1.0" encoding="UTF-8"?>
<mokocli xmlns="https://standards.mokoconsulting.tech/mokocli/1.0" schema-version="1.0">
<identity>
<name>{RepoName}</name>
<org>MokoConsulting</org>
<description>{Description}</description>
<version>{XX.YY.ZZ}</version>
<license spdx="GPL-3.0-or-later">GNU General Public License v3</license>
</identity>
<governance>
<platform>{joomla|dolibarr|go|node|rust|generic}</platform>
<standards-version>05.00.00</standards-version>
<standards-source>https://git.mokoconsulting.tech/MokoConsulting/mokocli</standards-source>
</governance>
<build>
<language>{PHP|Go|JavaScript|Rust|Python}</language>
<package-type>{joomla-extension|dolibarr|application|library|mcp-server}</package-type>
<entry-point>{src/|htdocs/custom/|./}</entry-point>
</build>
</mokocli>
```
GET /api/v1/repos/{owner}/{repo}/manifest # read metadata
PUT /api/v1/repos/{owner}/{repo}/manifest # update metadata
```
> **Migration note:** The legacy `.mokogitea/manifest.xml` file (and older `.mokostandards` variants) is deprecated and no longer used. On first access MokoGitea 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 |
@@ -36,28 +22,28 @@ The `.mokogitea/manifest.xml` file is the canonical identity and build metadata
| `name` | Yes | Repository/extension display name |
| `org` | Yes | Organization name (always `MokoConsulting`) |
| `description` | Yes | One-line project description |
| `version` | Yes | Canonical version number in `XX.YY.ZZ` format. This is the **controlling version** used by CI workflows for releases, update-server.xml entries, and version bumps |
| `license` | Yes | License with SPDX identifier attribute |
| `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`, `node`, `rust`, `generic` |
| `platform` | Yes | Target platform: `joomla`, `dolibarr`, `go`, `node`, `mcp`, `generic` |
| `standards-version` | Yes | MokoStandards version this repo conforms to |
| `standards-source` | Yes | URL to mokocli repo |
| `standards-source` | Yes | URL to the mokocli repo |
### build
| Field | Required | Description |
|-------|----------|-------------|
| `language` | Yes | Primary programming language |
| `package-type` | Yes | Package type: `joomla-extension`, `dolibarr`, `application`, `library`, `mcp-server` |
| `entry-point` | Yes | Source directory for packaging (e.g., `src/`, `htdocs/custom/`, `./`) |
| `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
The `update-server.yml` workflow reads this manifest to:
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
@@ -65,14 +51,4 @@ The `update-server.yml` workflow reads this manifest to:
## Version Field
The `<version>` field is the **single source of truth** for the project version. The `version_read.php` and `version_bump.php` CLI tools read and write this field. All other version references (Joomla XML manifests, README badges, etc.) are synced from this value.
## Platform Values
| Platform | Package Type | Entry Point | Examples |
|----------|-------------|-------------|----------|
| `joomla` | `joomla-extension` | `src/` | MokoJoomGallery, MokoJoomHero |
| `dolibarr` | `dolibarr` | `htdocs/custom/` | MokoCRM, MokoDoliAuth |
| `go` | `application` | `./` | MokoGitea |
| `node` | `mcp-server` | `./` | mcp-mokosuite-api |
| `generic` | `library` | `./` | mokocli |
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.