This repository contains a skeleton for a Commerce module project. It is meant to be installed with composer.
mkdir my-project
composer create-project modmore/moduleskeleton my-projectThe skeleton will automatically rename the various bits and pieces with the name of the directory you install it in. This will apply a few transforms.
- For the name of directories, lexicons, etc, the directory name will be lowercased and in some places prefixed with commerce_.
- For the name of the namespace, module, and other "friendly" places the project name is used, it breaks up the project name by -, uppercase the first letter of each part, and stick those together. (E.g. a directory namedfoo-barwill be turned intoFooBar)
- A build to create a transport package (_build) with settings, the core folder, a requirements validator, and the package information fromdocsin the component directory. This build also includes proprietary code that enables it to be built by the modmore.com package provider.
- A bootstrap (_bootstrap/index.php) that can be used to swiftly set up namespaces, settings and other critical parts to get going.
- Inside the core/components directory:
- Package information files (in docs) with the license (MIT), changelog, and readme.
- English lexicon stub with your project name.
- Under model/schema, a sample xPDO package schema. If you use this, you'll find a script in/_build/build.schema.phpto turn it into a model and (commented out) code insrc/Modules/Projectname.phpto load the package.
- In src/Modules/Projectname.phpa module, complete with basic methods filled out.
- A composer.jsonfile defining a PSR-4 autoloader for your namespace and project name. If you change this, runcomposer dump-autoloadin thecore/components/projectname/directory to update the autoloader.
 
- Package information files (in 
- A basic phpcs ruleset that both checks PHP 7.4-8.2 compatibility and a standard set of coding standards that we use for our projects. This is in both .github/workflows/phpcs.ymlto run automatically on pushes to GitHub, and incomposer.jsonin the root of the project.- To run locally, make sure to do a composer installin the root.
- Run composer run phpcsto check the coding standards and PHP version compatibility
- Run composer run phpcbfto automatically fix code that doesn't comply with the coding standards, where possible
 
- To run locally, make sure to do a 
Happy building!