Public Access
661f84b9c7
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>
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:
- Copy
template-repository-structure.xmlto your desired location - Update the
<metadata>section with your repository type details - Customize the
<root-files>and<directories>sections - Reference appropriate templates from the
/templates/directory - 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 presentsuggested: Recommended but optionaloptional: Nice to havenot-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>
Related Documentation
- Schema validation:
/scripts/validate/validate_structure_v2.py - Auto-detection:
/scripts/validate/auto_detect_platform.php - Main schemas:
/schemas/structures/