Files
MokoCLI/templates/schemas
Jonathan Miller 661f84b9c7 feat: add all templates from MokoStandards
Templates moved from MokoStandards repo:
- templates/configs/ (editor, linting, composer configs)
- templates/docs/ (required + extra doc templates)
- templates/gitea/ (issue templates, CLAUDE.md, copilot-instructions)
- templates/github/ (legacy, kept for reference)
- templates/joomla/ (Joomla component/module/plugin templates)
- templates/makefiles/ (build automation)
- templates/schemas/ (JSON/XML schemas)
- templates/scripts/ (PHP script templates)
- templates/stubs/ (Dolibarr/Joomla stubs)
- templates/build/, fonts/, images/, licenses/, security/, web/

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 19:23:09 -05:00
..

Repository Structure Schemas

This directory contains template schema files for defining custom repository structures.

Overview

Schema files define the expected structure, files, and directories for different types of repositories in the Moko Consulting ecosystem.

Available Schemas

template-repository-structure.xml

A base template schema that can be customized for new repository types. This template includes:

  • Required root-level files (README, LICENSE, CHANGELOG, etc.)
  • Core directory structure (docs, scripts, .github)
  • Basic GitHub Actions workflow requirements
  • Documentation standards

Usage

To create a custom schema:

  1. Copy template-repository-structure.xml to your desired location
  2. Update the <metadata> section with your repository type details
  3. Customize the <root-files> and <directories> sections
  4. Reference appropriate templates from the /templates/ directory
  5. Save with a descriptive name (e.g., my-project-type.xml)

Schema Structure

Each schema file contains:

  • Metadata: Repository type, platform, maintainer information
  • Root Files: Required files in the repository root
  • Directories: Required and optional directory structure
  • Files within Directories: Specific files expected in each directory

Requirement Status Values

  • required: Must be present
  • suggested: Recommended but optional
  • optional: Nice to have
  • not-allowed: Should not be present

Template References

Use the <template> element to reference template files:

<file extension="md">
  <name>README.md</name>
  <template>templates/docs/required/template-README.md</template>
</file>

Always Overwrite Flag

Use <always-overwrite>false</always-overwrite> to protect files from being overwritten during sync:

<file extension="gitignore">
  <name>.gitignore</name>
  <always-overwrite>false</always-overwrite>
</file>
  • Schema validation: /scripts/validate/validate_structure_v2.py
  • Auto-detection: /scripts/validate/auto_detect_platform.php
  • Main schemas: /schemas/structures/