Prologue

Contribution Guide

How can we help?

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

  • Contributing to the code;
  • Developing the frontend;
  • Reporting bugs;
  • Helping other users understand the details;
  • Improving the documentation;
  • Promoting the project.

What we use

  • Blade;
  • TailwindCSS;
  • AlpineJs.

Where do we start?

There is already a functional product that is fully operational and testable. Functional does not mean perfect, so our task is to make it better.

Pull requests

You can propose new features or improvements for MoonShine! Bugs and issues can be fixed and submitted for review. I also welcome new specialists to contribute to the open-source project.

Where to discuss the development?

A separate chat in Telegram has been created for active project participants. If you are ready to participate in development, join - MoonShine.

If you find a mistake

  1. You have enough experience to propose a solution. I would be very happy to receive your PR with a description of the issue and a proposed fix.

  2. If you do not know how to solve the problem - create a GitHub issue, and we will fix the problem soon.

It is important that your PR passes all platform tests and includes a detailed description so that all development participants understand what exactly happened.

Main branch

Currently, the main branch is 3.x

Coding style

MoonShine adheres to the PSR-12 coding standard and the PSR-4 autoloading standard.

Developer instructions

  1. Create a directory for the project and clone the demo.
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
  1. Go back to the project directory and in composer.json change the dependency for moonshine/moonshine.
"moonshine/moonshine": "3.*.*-dev",
  1. Add the following to composer.json.
"repositories": [
{
"type": "path",
"url": "packages/moonshine",
"options": {
"versions": {
"moonshine/moonshine": "3.*.*-dev"
},
"symlink": true
}
}
]
  1. Create a .env file from .env.example (don't forget to create the database) and run the installation below.
php artisan key:generate
php artisan storage:link
php artisan migrate --seed
php artisan moonshine:user
php artisan serve

Create something useful!

How to make a pull request?

  • Go to the MoonShine repository and click "Fork",
  • Clone your fork using git,
  • Create a new branch for your changes,
  • Commit your changes following the conventional commits convention,
  • Push your changes to your fork,
  • Go back to the MoonShine repository and click "New pull request",
  • Provide a detailed description of your changes in the "Description" field,
  • Wait for a review!

Any questions?

My name is Danil! Feel free to email me at thecutcode@gmail.com