363 lines
12 KiB
XML
363 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<repository-structure xmlns="http://mokoconsulting.com/schemas/repository-structure"
|
|
version="1.0"
|
|
schema-version="1.0">
|
|
<metadata>
|
|
<name>MokoCRM Module</name>
|
|
<description>Standard repository structure for MokoCRM (Dolibarr) modules</description>
|
|
<repository-type>crm-module</repository-type>
|
|
<platform>mokokrm</platform>
|
|
<last-updated>2026-01-07T00:00:00Z</last-updated>
|
|
<maintainer>Moko Consulting</maintainer>
|
|
</metadata>
|
|
|
|
<structure>
|
|
<!-- Root level files -->
|
|
<root-files>
|
|
<file extension="md">
|
|
<name>README.md</name>
|
|
<description>Developer-focused documentation for contributors and maintainers</description>
|
|
<required>true</required>
|
|
<audience>developer</audience>
|
|
<stub-content><![CDATA[# {MODULE_NAME}
|
|
|
|
## For Developers
|
|
|
|
This README is for developers contributing to this module.
|
|
|
|
### Development Setup
|
|
|
|
1. Clone this repository
|
|
2. Install dependencies: `make install-dev`
|
|
3. Run tests: `make test`
|
|
|
|
### Building
|
|
|
|
```bash
|
|
make build
|
|
```
|
|
|
|
### Testing
|
|
|
|
```bash
|
|
make test
|
|
make lint
|
|
```
|
|
|
|
### Contributing
|
|
|
|
See CONTRIBUTING.md for contribution guidelines.
|
|
|
|
## For End Users
|
|
|
|
End user documentation is available in `src/README.md` after installation.
|
|
|
|
## License
|
|
|
|
See LICENSE file for details.
|
|
]]></stub-content>
|
|
</file>
|
|
|
|
<file extension="md">
|
|
<name>CONTRIBUTING.md</name>
|
|
<description>Contribution guidelines</description>
|
|
<required>true</required>
|
|
<audience>contributor</audience>
|
|
</file>
|
|
|
|
<file extension="md">
|
|
<name>ROADMAP.md</name>
|
|
<description>Project roadmap with version goals and milestones</description>
|
|
<required>false</required>
|
|
<audience>general</audience>
|
|
</file>
|
|
|
|
<file extension="">
|
|
<name>LICENSE</name>
|
|
<description>License file (GPL-3.0-or-later) - Default for Dolibarr/CRM modules</description>
|
|
<required>true</required>
|
|
<audience>general</audience>
|
|
<template>templates/licenses/GPL-3.0</template>
|
|
<license-type>GPL-3.0-or-later</license-type>
|
|
</file>
|
|
|
|
<file extension="md">
|
|
<name>CHANGELOG.md</name>
|
|
<description>Version history and changes</description>
|
|
<required>true</required>
|
|
<audience>general</audience>
|
|
</file>
|
|
|
|
<file>
|
|
<name>Makefile</name>
|
|
<description>Build automation using MokoStandards templates</description>
|
|
<required>true</required>
|
|
<always-overwrite>true</always-overwrite>
|
|
<audience>developer</audience>
|
|
<source>
|
|
<path>templates/makefiles</path>
|
|
<filename>Makefile.dolibarr.template</filename>
|
|
<type>template</type>
|
|
</source>
|
|
<destination>
|
|
<path>.</path>
|
|
<filename>Makefile</filename>
|
|
<create-path>false</create-path>
|
|
</destination>
|
|
<template>templates/makefiles/Makefile.dolibarr.template</template>
|
|
</file>
|
|
|
|
<file extension="editorconfig">
|
|
<name>.editorconfig</name>
|
|
<description>Editor configuration for consistent coding style</description>
|
|
<required>true</required>
|
|
<audience>developer</audience>
|
|
</file>
|
|
|
|
<file extension="gitignore">
|
|
<name>.gitignore</name>
|
|
<description>Git ignore patterns - preserved during sync operations</description>
|
|
<required>true</required>
|
|
<always-overwrite>false</always-overwrite>
|
|
<audience>developer</audience>
|
|
</file>
|
|
|
|
<file extension="gitattributes">
|
|
<name>.gitattributes</name>
|
|
<description>Git attributes configuration</description>
|
|
<required>true</required>
|
|
<audience>developer</audience>
|
|
</file>
|
|
</root-files>
|
|
|
|
<!-- Directory structure -->
|
|
<directories>
|
|
<!-- Source directory -->
|
|
<directory path="src">
|
|
<name>src</name>
|
|
<description>Module source code for deployment</description>
|
|
<required>true</required>
|
|
<purpose>Contains the actual module code that gets deployed to Dolibarr</purpose>
|
|
|
|
<files>
|
|
<file extension="md">
|
|
<name>README.md</name>
|
|
<description>End-user documentation deployed with the module</description>
|
|
<required>true</required>
|
|
<audience>end-user</audience>
|
|
<stub-content><![CDATA[# {MODULE_NAME}
|
|
|
|
## For End Users
|
|
|
|
This module provides {MODULE_DESCRIPTION}.
|
|
|
|
### Installation
|
|
|
|
1. Navigate to Home → Setup → Modules/Applications
|
|
2. Find "{MODULE_NAME}" in the list
|
|
3. Click "Activate"
|
|
|
|
### Configuration
|
|
|
|
After activation, configure the module:
|
|
1. Go to Home → Setup → Modules/Applications
|
|
2. Click on the module settings icon
|
|
3. Configure as needed
|
|
|
|
### Usage
|
|
|
|
{USAGE_INSTRUCTIONS}
|
|
|
|
### Support
|
|
|
|
For support, contact: {SUPPORT_EMAIL}
|
|
|
|
## Version
|
|
|
|
Current version: {VERSION}
|
|
|
|
See CHANGELOG.md for version history.
|
|
]]></stub-content>
|
|
</file>
|
|
|
|
<file extension="php">
|
|
<name>core/modules/mod{ModuleName}.class.php</name>
|
|
<description>Main module descriptor file</description>
|
|
<required>true</required>
|
|
<audience>developer</audience>
|
|
</file>
|
|
</files>
|
|
|
|
<subdirectories>
|
|
<directory path="src/core">
|
|
<name>core</name>
|
|
<description>Core module files</description>
|
|
<required>true</required>
|
|
</directory>
|
|
|
|
<directory path="src/langs">
|
|
<name>langs</name>
|
|
<description>Language translation files</description>
|
|
<required>true</required>
|
|
</directory>
|
|
|
|
<directory path="src/sql">
|
|
<name>sql</name>
|
|
<description>Database schema files</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
</directory>
|
|
|
|
<directory path="src/css">
|
|
<name>css</name>
|
|
<description>Stylesheets</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
</directory>
|
|
|
|
<directory path="src/js">
|
|
<name>js</name>
|
|
<description>JavaScript files</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
</directory>
|
|
|
|
<directory path="src/class">
|
|
<name>class</name>
|
|
<description>PHP class files</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
</directory>
|
|
|
|
<directory path="src/lib">
|
|
<name>lib</name>
|
|
<description>Library files</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
</directory>
|
|
</subdirectories>
|
|
</directory>
|
|
|
|
<!-- Documentation directory -->
|
|
<directory path="docs">
|
|
<name>docs</name>
|
|
<description>Developer and technical documentation</description>
|
|
<required>true</required>
|
|
<purpose>Contains technical documentation, API docs, architecture diagrams</purpose>
|
|
|
|
<files>
|
|
<file extension="md">
|
|
<name>index.md</name>
|
|
<description>Documentation index</description>
|
|
<required>true</required>
|
|
</file>
|
|
</files>
|
|
</directory>
|
|
|
|
<!-- Scripts directory -->
|
|
<directory path="scripts">
|
|
<name>scripts</name>
|
|
<description>Build and maintenance scripts</description>
|
|
<required>true</required>
|
|
<purpose>Contains scripts for building, testing, and deploying</purpose>
|
|
|
|
<files>
|
|
<file extension="md">
|
|
<name>index.md</name>
|
|
<description>Scripts documentation</description>
|
|
<requirement-status>required</requirement-status>
|
|
</file>
|
|
|
|
<file extension="sh">
|
|
<name>build_package.sh</name>
|
|
<description>Package building script for Dolibarr module</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
<template>templates/scripts/release/package_dolibarr.sh</template>
|
|
</file>
|
|
|
|
<file extension="sh">
|
|
<name>validate_module.sh</name>
|
|
<description>Module validation script</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
<template>templates/scripts/validate/dolibarr_module.sh</template>
|
|
</file>
|
|
|
|
<file extension="xml">
|
|
<name>MokoStandards.override.xml</name>
|
|
<description>MokoStandards sync override configuration</description>
|
|
<requirement-status>optional</requirement-status>
|
|
<always-overwrite>false</always-overwrite>
|
|
</file>
|
|
</files>
|
|
</directory>
|
|
|
|
<!-- Tests directory -->
|
|
<directory path="tests">
|
|
<name>tests</name>
|
|
<description>Test files</description>
|
|
<required>true</required>
|
|
<purpose>Contains unit tests, integration tests, and test fixtures</purpose>
|
|
|
|
<subdirectories>
|
|
<directory path="tests/unit">
|
|
<name>unit</name>
|
|
<description>Unit tests</description>
|
|
<required>true</required>
|
|
</directory>
|
|
|
|
<directory path="tests/integration">
|
|
<name>integration</name>
|
|
<description>Integration tests</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
</directory>
|
|
</subdirectories>
|
|
</directory>
|
|
|
|
<!-- Templates directory -->
|
|
<directory path="templates">
|
|
<name>templates</name>
|
|
<description>Template files for code generation</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
<purpose>Contains templates used by build scripts</purpose>
|
|
</directory>
|
|
|
|
<!-- .github directory -->
|
|
<directory path=".github">
|
|
<name>.github</name>
|
|
<description>GitHub-specific configuration</description>
|
|
<requirement-status>suggested</requirement-status>
|
|
<purpose>Contains GitHub Actions workflows, issue templates, etc.</purpose>
|
|
|
|
<subdirectories>
|
|
<directory path=".github/workflows">
|
|
<name>workflows</name>
|
|
<description>GitHub Actions workflows</description>
|
|
<requirement-status>required</requirement-status>
|
|
|
|
<files>
|
|
<file extension="yml">
|
|
<name>ci-dolibarr.yml</name>
|
|
<description>Dolibarr-specific CI workflow</description>
|
|
<requirement-status>required</requirement-status>
|
|
<always-overwrite>true</always-overwrite>
|
|
<template>templates/workflows/dolibarr/ci-dolibarr.yml.template</template>
|
|
</file>
|
|
|
|
<file extension="yml">
|
|
<name>codeql-analysis.yml</name>
|
|
<description>CodeQL security analysis workflow</description>
|
|
<requirement-status>required</requirement-status>
|
|
<always-overwrite>true</always-overwrite>
|
|
<template>templates/workflows/generic/codeql-analysis.yml.template</template>
|
|
</file>
|
|
|
|
<file extension="yml">
|
|
<name>standards-compliance.yml</name>
|
|
<description>MokoStandards compliance validation</description>
|
|
<requirement-status>required</requirement-status>
|
|
<always-overwrite>true</always-overwrite>
|
|
<template>.github/workflows/standards-compliance.yml</template>
|
|
</file>
|
|
</files>
|
|
</directory>
|
|
</subdirectories>
|
|
</directory>
|
|
</directories>
|
|
</structure>
|
|
</repository-structure>
|