Getting started

Contribution Guide

How can we help?

The community needs active users. You can help in many ways:

  • Complement the code
  • Front-end development
  • Submit bug reports
  • Help other users to understand the details
  • Supplement documentation
  • Promote the project

Let's use

  • Blade
  • TailwindCSS
  • AlpineJs

Where do we start?

There is an already functional product that is fully operational and testable. Functional doesn't mean great, so our job is to make it better.

Pull requests

You can suggest new features or improvements for MoonShine! Errors and bugs - all this can be fixed and sent for revision. I am also glad to have new specialists for open source project development.

Where to discuss the development?

A separate chat in telegram has been created for active participants of the project. If you are ready to take part in the development, then join - MoonShine.

If you find a mistake

  1. You have enough experience to offer a solution. I will be extremely glad to have your PR with a description of the error and an option to fix it.

  2. If you don't know how to solve the problem - create GitHub issues and we will fix the problem soon.

It is important that your pr passes all platform tests and has a detailed description, so that it is clear to everyone involved in the development what exactly happened.

Main branch

At the moment, the main branch 2.x

Coding style

MoonShine adheres to PSR-12 standard and PSR-4 autoload standard.

Instructions for developers

  1. Create a directory for the project and clone the demo.
git clone git@github.com:moonshine-software/demo-project.git .
git clone git@github.com:moonshine-software/demo-project.git .
  1. Add the packages directory and run the command below.
cd packages && git clone git@github.com:moonshine-software/moonshine.git && cd moonshine && composer install && npm install
cd packages && git clone git@github.com:moonshine-software/moonshine.git && cd moonshine && composer install && npm install
  1. Go back to the project directory and in composer.json change the moonshine/moonshine dependency.
"moonshine/moonshine": "2.*.*-dev",
"moonshine/moonshine": "2.*.*-dev",
  1. Add in composer.json.
"repositories": [ { "type": "path", "url": "packages/moonshine", "options": { "versions": { "moonshine/moonshine": "2.*.*-dev" }, "symlink": true } } ]
"repositories": [
{
"type": "path",
"url": "packages/moonshine",
"options": {
"versions": {
"moonshine/moonshine": "2.*.*-dev"
},
"symlink": true
}
}
]
  1. Create .env from .env.example (don't forget to create a database) and perform the installation below.
php artisan key:generate php artisan storage:link php artisan migrate --seed php artisan moonshine:user php artisan serve
php artisan key:generate
php artisan storage:link
php artisan migrate --seed
php artisan moonshine:user
php artisan serve

Create something useful!

How do I make a pull request?

  • Go to the MoonShine repository and click on "Fork"
  • Make a git clone of your fork
  • Create a new branch for your changes
  • Do commits relying on convention https://www.conventionalcommits.org
  • Make push your changes to your fork
  • Go to the MoonShine repository again and click "New pull request"
  • Comment in detail on the changes made in the "Description" field
  • Expect a review!

Any questions?

My name is Danil! E-mail me thecutcode@gmail.com