Skeleton was designed to be a simple starting point for your application, and came with just the bare minimum to get you started. However, we have decided to deprecate Skeleton in favor of the Leaf CLI. The Leaf CLI is a command-line tool for generating Leaf projects, installing modules, and more.
We recently released an update to the Leaf CLI that allows you to select specific features you want to include and generate a project with everything you need. This functionality is similar to what Skeleton provided but is more flexible and allows you to create projects with only the features that you need, which is why we've decided to deprecate Leaf Skeleton.
Skeleton will still be available for download, but we won't be updating it anymore. We recommend that you generate a project with the CLI or use Leaf MVC or Leaf API instead.
Updating from Skeleton
The beauty of this update is that you don't have to change anything in your existing Skeleton project. This is because Skeleton, unlike Leaf MVC and Leaf API is not a framework. It's just a starting point for your project. So, you can continue to use your Skeleton project and update specific features using the Leaf CLI or Composer.
If you are starting a fresh project however, we recommend that you use the Leaf CLI to generate your project. If you want to use Composer, you can install Leaf MVC or Leaf API instead.
The Skeleton docs will still be available here, but we won't be updating it anymore.
The Skeleton directory structure is setup to be straighforward and understandable at a glance. You can completely change the directory structure to suit your needs, just be sure to update the paths in the
For a fresh Skeleton app, the directory structure looks like this:
│ └── components
│ ├── app
│ │ └── public
│ ├── framework
│ │ └── views
│ └── logs
configdirectory contains the configuration files for your application. These are used to configure how Leaf and it's modules interact with your application. You can find more information about the configuration files in the Configuration section.
controllersdirectory contains the controllers for your application. These are used to handle HTTP requests. You can find more information about the controllers in the Controllers section.
modelsdirectory contains the models for your application. These are used to interact with the database. You can find more information about the models in the Models section.
pagesdirectory contains the views and frontend assets for your Leaf application.
routesdirectory contains routes for your application. These are used to map HTTP requests to controllers. You can find more information about the routes in the Routing section.
storagedirectory contains the compiled views, logs and other files generated by your application. It's divided into a few sub-directories:
app- Contains the files generated by your application. This includes the compiled views and the files uploaded by users.
framework- Contains the framework generated files for your application.
logs- Contains the log files generated by your application.
vendordirectory contains all the dependencies installed by Composer. It's automatically generated when you install the dependencies using Composer.
Follow along with the next steps to learn more about Skeleton.