Contribution Guide

You're browsing the documentation for an old version of MoonShine. Consider upgrading your project to MoonShine 2.x.

# What can you do to help?

Our community needs active users. You can help in many ways

  • Add new code
  • Front-end development
  • Submit bug reports
  • Help other users understand the details
  • Writing documentation
  • Engage new participants

# We are using a technology stack

  • Blade
  • Tailwindcss
  • AlpineJs

# Where do we start?

The product is working already, fully functional and testable. But working doesn't mean great, so the goal is to make the project better.

# Pull requests

You can suggest new features or improvements to MoonShine! Bugs and errors - all this could be documented and sent for improvement. I'm also glad to meet new open source project development specialists

# Where shall we discuss development?

For active participants in the project created a separate chat in telegram. If you are ready to participate in the development, then join - MoonShine .

# If you found a mistake

1. You have enough experience to offer a solution. I would be very happy to receive your PR with a description of the error and a way 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 passed all the tests of the platform and had a detailed description, so that all participants of the development process understand what exactly happened.

# Main branch

At the moment, the main branch is 1.5.x

# Coding style

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

# Developer's guide

1 Make project dir and clone demo project
git clone git@github.com:moonshine-software/demo-project.git .
2 Add packages directory and execute the command below
cd packages && git clone git@github.com:moonshine-software/moonshine.git && cd moonshine && composer install && npm install
3 Go back to the project directory and remove moonshine/moonshine dependency from the composer.json
"moonshine/moonshine": "^1.50",
3 Add MoonShine from the packages directory to autoload section in the composer.json
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"MoonShine\\": "packages/moonshine/src"
}
},
4 Add MoonShineServiceProvider to config/app.php
use App\Providers\MoonShineServiceProvider;
// Import vendor provider
use MoonShine\Providers\MoonShineServiceProvider as MSProvider;
 
// ..
 
/*
* Package Service Providers...
*/
// Add vendor provider
MSProvider::class,
 
// ..
5 Create .env from .env.example (don't forget to create a database) and complete the install below
composer require lee-to/laravel-package-command && composer require rap2hpoutre/fast-excel && composer install && npm install
php artisan key:generate
php artisan storage:link
php artisan migrate --seed
php artisan moonshine:user
php artisan serve
# Make something great

# How to make a pull request?

  • Go to the MoonShine repository and press Fork
  • Make a git clone of your fork
  • Create a new branch for your changes
  • Make commits following the convention. Use https://www.conventionalcommits.org
  • Push your changes to your fork
  • Go to the MoonShine repository again and press New pull request
  • Describe the changes you made and explain why they are valuable
  • Wait for review

# Any questions?

My name is Danil! Email me at thecutcode@gmail.com