# Developing Packages
# Building from skeleton project
When building a new module, you can easily start by downloading a copy of our skeleton project (opens new window).
Or via composer:
composer create-project --repository=https://satis.appetiserdev.tech appetiser/skeleton my-module
When using composer you need to have authentication set up globally for you to download the project.
If you want to learn more about package development, this are some great resource to get started with:
- https://laravelpackage.com/#reasons-to-develop-a-package (opens new window)
- https://laravel.com/docs/master/packages (opens new window)
# Publishing Packages
# Register your repository
Before we can publish our packages, we need to register our repository into our
satis repository. First clone the satis project (opens new window),
and then update the satis.json
file and add your repository in repositories
list.
{
"name": "appetiser/satis",
"homepage": "https://satis.appetiserdev.tech",
"output-dir": "public",
"repositories": [
{
"type": "vcs",
"url": "https://gitlab.com/appetiser/backend-laravel-module-template"
}
],
"require-all": true,
"require-dependencies": false,
"require-dev-dependencies": false
}
Then commit and push your changes.
# Releasing your package
Composer recommends semantic versioning (opens new window) when publishing packages, so we also recommend for you to adhere with this, so take some time reviewing what is semantic versioning (opens new window).
Now, let's get started.
First, make sure all you commits have been pushed to your remote origin.
Then, head over to your repositories project and go to deployments then releases.
As this is your first time to release, this page would be empty, click the New Release
button on the
top right of the page.
Then on the new release form, specify the tag version, which would be v1.0.0
as your first release.
For package that would still be on pre release and not fully functional or would still have breaking changes, use v0.0.1
as your starting tag.
In semantic versioning (opens new window) standard, any package that are below version 1 are considered to have a breaking changes.
Once you have your tag set, Select the branch where you want to create this release.
Specify the title of the release, and a detailed release notes.
Then click Create Release
.
Once you have release your project, please wait for few minutes as our Satis repository only sync's every 15th minute, so take this into account as this might get you confused why its not released. We are still looking into improving this release process and we are happy for you contribution.
Thats it, don't forget to share your package to our amazing team. Happy coding.