Template
docs: rebrand Gitea→MokoGitea and migrate manifest.xml to MokoGitea Metadata field
Authored-by: Moko Consulting
+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.
|
||||
|
||||
Reference in New Issue
Block a user