Create Package

Creating new packages is extremely simple, and done via the package create CLI command. Simply pass the command the alias of the new package, for example to create a package named "my-shop" you would run the command:

apex package create my-shop

The resulting message will state the package has been successfully created along with several new directories which are explained below.

Directory Description
/etc/<PACKAGE>/ Package configuration files including database migrations.
/src/<PACKAGE>/ Source code files of the package.
/tests/<PACKAGE>/ Unit tests for the package.
/docs/<PACKAGE>/ Documentation for the package in markdown format

Aside from the /etc/ directory, the other three directories are blank providing you with a blank canvas to develop in any style and design you wish. There are various tools available to aide in development, but are all optional and by no means required.

/etc/ Configuration Directory

The newly created /etc/<PACKAGE>/ directory contains a blank /Migrations/ directory plus the following files:

File Descriptionn
install.sql Contains the SQL code that is executed during package installation.
migrate.php The PHP class for the initial database migration. See Package Installation Migration for details.
package.yml The main configuration file of the package itself as explained in the next chapter.
registry.yml Contains items that are global in scope but registered to this package such as views and HTTP controllers. See Package Registry page for more detailt.
remove.sql Contains the SQL code that is executed when package is removed.
reset.sql Contains the SQL code that is executed when the package is reset.