feat: manifest-schema.xsd — XSD schema for .mokogitea/manifest.xml
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 3s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 47s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 3s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 47s
Authored-by: Moko Consulting
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
MokoStandards Manifest Schema v1.0
|
||||
Defines the structure of .mokogitea/manifest.xml
|
||||
|
||||
Validate: xmllint - -schema definitions/manifest-schema.xsd .mokogitea/manifest.xml
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:moko="https://standards.mokoconsulting.tech/moko-platform/1.0"
|
||||
targetNamespace="https://standards.mokoconsulting.tech/moko-platform/1.0"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<!-- Root element -->
|
||||
<xs:element name="moko-platform">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="identity" type="moko:identityType"/>
|
||||
<xs:element name="governance" type="moko:governanceType"/>
|
||||
<xs:element name="build" type="moko:buildType"/>
|
||||
<xs:element name="deploy" type="moko:deployType" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="schema-version" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<!-- Identity block -->
|
||||
<xs:complexType name="identityType">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string"/>
|
||||
<xs:element name="org" type="xs:string"/>
|
||||
<xs:element name="description" type="xs:string"/>
|
||||
<xs:element name="version" type="moko:versionType"/>
|
||||
<xs:element name="license" type="moko:licenseType"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Version format: XX.YY.ZZ -->
|
||||
<xs:simpleType name="versionType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\d{2}\.\d{2}\.\d{2}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- License with SPDX attribute -->
|
||||
<xs:complexType name="licenseType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="spdx" type="xs:string" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Governance block -->
|
||||
<xs:complexType name="governanceType">
|
||||
<xs:sequence>
|
||||
<xs:element name="platform" type="moko:platformType"/>
|
||||
<xs:element name="standards-version" type="moko:versionType"/>
|
||||
<xs:element name="standards-source" type="xs:anyURI"/>
|
||||
<xs:element name="last-synced" type="xs:dateTime" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Allowed platform values -->
|
||||
<xs:simpleType name="platformType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="joomla"/>
|
||||
<xs:enumeration value="dolibarr"/>
|
||||
<xs:enumeration value="go"/>
|
||||
<xs:enumeration value="node"/>
|
||||
<xs:enumeration value="rust"/>
|
||||
<xs:enumeration value="python"/>
|
||||
<xs:enumeration value="generic"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Build block -->
|
||||
<xs:complexType name="buildType">
|
||||
<xs:sequence>
|
||||
<xs:element name="language" type="moko:languageType"/>
|
||||
<xs:element name="package-type" type="moko:packageType"/>
|
||||
<xs:element name="entry-point" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Allowed languages -->
|
||||
<xs:simpleType name="languageType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="PHP"/>
|
||||
<xs:enumeration value="Go"/>
|
||||
<xs:enumeration value="JavaScript"/>
|
||||
<xs:enumeration value="TypeScript"/>
|
||||
<xs:enumeration value="Rust"/>
|
||||
<xs:enumeration value="Python"/>
|
||||
<xs:enumeration value="HCL"/>
|
||||
<xs:enumeration value="Shell"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Allowed package types -->
|
||||
<xs:simpleType name="packageType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="joomla-extension"/>
|
||||
<xs:enumeration value="dolibarr"/>
|
||||
<xs:enumeration value="application"/>
|
||||
<xs:enumeration value="library"/>
|
||||
<xs:enumeration value="mcp-server"/>
|
||||
<xs:enumeration value="generic"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Deploy block (optional) -->
|
||||
<xs:complexType name="deployType">
|
||||
<xs:sequence>
|
||||
<xs:element name="source-dir" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="remote-subdir" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="excludes" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="dev-host" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="demo-host" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
||||
Reference in New Issue
Block a user