mooxphp / moox

The Moox Monorepo
https://moox.org
MIT License
25 stars 4 forks source link
admin-dashboard alpine-js alpinejs blade-components cms laravel laravel-livewire livewire-components tailwindcss tall-stack


Moox Logo


PEST Tests Laravel PINT PHP Code Style PHPStan Level 5

TailwindCSS 3 AlpineJS 3 Laravel 11 Laravel Livewire 2

Codacy Code Quality Codacy Coverage Code Climate Maintainability Snyk Security

Renovate Translation status License Slack

# Moox Monorepo Welcome to the Moox project. This is the Moox Monorepo. It is an installable Laravel App meant for development of our Filament Plugins aka Laravel Packages. We are in an early stage of development but there are already some plugins you might consider useful: ## Packages - [Moox Jobs](packages/jobs/README.md), manage Job Queues, Failed Jobs and Batches in Filament - [Moox Builder](packages/builder/README.md), is our Skeleton Package to create new Filament Plugins All others are in the making. Stay tuned. ## Installation The Laravel dev app in the root-folder of the Moox Monorepo is made for instant development with Laravel Valet, Laravel Sail or Laragon. ```bash # Create a .env file and adjust to your needs cp .env.example .env # Don't forget to create the database according .env # Install via Composer composer install # Migrate and seed php artisan migrate:fresh --seed # Use Vite (for Laravel Sail on Windows: do it in Ubuntu, not inside the Sail container) npm install npm run dev ``` Optional things: ```bash # You can create a user then php artisan make:filament-user # You can use the custom composer.json cp _custom/composer.json-example _custom/composer.json # Run Sail (alternatively start Herd,Laragon or Valet) ./vendor/bin/sail up # Rebuild the sail config if needed ./vendor/bin/sail down --rmi all -v php artisan sail:install # Remove broken symlinks if needed # switching from Laragon to Sail for example rm -Rf vendor/mooxphp ``` The Moox Admin is now available at /moox, e. g. https://moox.test/moox ## Custom packages Our Monorepo is prepared to be a double agent: - Develop a private or public project - while contributing to the Moox project This is done by supporting custom packages in the development app of our Monorepo. Sounds interesting? Read on [\_custom/README.md](_custom/README.md). ## Development - Do `npm run build` before committing because automated tests on GitHub needs a working vite-manifest - Do `php artisan migrate --database=sqlite` to reflect changes to the test-database - Use https://marketplace.visualstudio.com/items?itemName=adrolli.tallui-laravel-livewire-tailwind with VS Code - Use https://github.com/mooxphp/builder to create your own packages - Please see [CONTRIBUTING](CONTRIBUTING.md) for details. ## Branching - `main` is the current stable version, branch-protected, auto-commits to all packages, deployed to li - `feature/...` please prefix all feature-branches, create your pull requests directly to main Use issue-based branches, prefix them with feature/ (e.g. feature/38-welcome-view) for automated tests and code analysis. ## Commits Your commit messages will be merged into Changelog.md, means they become part of the documentation. Please make sure, you - start with one of these types - Bump = minor version change, major if used as Bump! - Clean = deleting old stuff or unused code - Deps = changing dependencies - Devops = GH and automation - Docs = documentation - Feat = feature - Fix = bugfix - Lang = translation - Tests = writing tests - Wip = work in progress - for breaking changes add "!" to any type to craft a major release - followed by the shortname of the package, in [] - All - multiple or all packages - Repo - Monorepo things - Core - Builder - Jobs - ... - reference an issue, linked by issue number, e. g. #138 - prepare auto-closing the issue by using "Close #138" ### Valid examples - `Wip[Core]: Feature register assets w-i-p #123` - `Fix[All]: Update all packages Close #321` - `Feat[Monorepo]: Update dev app Close #22` - `Bump![ChartComponents]: Major Updates` - `Feat![PackageBuilder]: This will become a major release #23` Read more about [conventional commits](https://www.conventionalcommits.org/). ## Pull requests Create a PR to `main`. Use conventional commits like explained above. ### Semver We use semantic versioning, written like 1.2.3 for 1. Major releases 2. Minor releases 3. Bugfix releases Visit [Semver.org](https://semver.org/) for more information. ## Releases Currently done manually, an automatic release feature is on the way. ## Testing We test Moox using: - Monorepo - [Larastan](https://github.com/nunomaduro/larastan), [PHPStan](https://phpstan.org/) Level 5 - [Laravel Pint](https://laravel.com/docs/pint), PHP CS Fixer - [Codacy](https://app.codacy.com/gh/mooxphp/moox/) and [Code climate](https://codeclimate.com/github/mooxphp/moox) - Packages - [Larastan](https://github.com/nunomaduro/larastan), [PHPStan](https://phpstan.org/) Level 5 - [Laravel Pint](https://laravel.com/docs/pint), PHP CS Fixer - [Pest](https://pestphp.com/) Please make sure you use the same tools in VS Code (our [VS Code Extension Pack](https://marketplace.visualstudio.com/items?itemName=adrolli.tallui-laravel-livewire-tailwind) covers this) or do the checks manually before committing to the dev-branch: - PHPStan: `composer analyse ` or `./vendor/bin/phpstan analyse`, for packages `../../vendor/bin/phpstan analyse` - Pest: `composer test ` or `./vendor/bin/pest`, for packages `../../vendor/bin/pest` - Coverage: `composer test-coverage ` or `./vendor/bin/pest --coverage`, for packages `../../vendor/bin/pest --coverage` - Pint: `composer format ` or `./vendor/bin/pint`, for packages `../../vendor/bin/pint` ## Contributors Moox is made by these nice people, and bots ...
adrolli
adrolli
weblate
weblate
wp1111
wp1111
AzGasim
AzGasim
KimSpeer
KimSpeer
mooxbot
mooxbot
laravel-shift
laravel-shift
Kim-the-Diamond
Kim-the-Diamond
FMorlock
FMorlock
janakeks
janakeks
somzoli
somzoli
renovate[bot]
renovate[bot]
dependabot[bot]
dependabot[bot]
github-actions[bot]
github-actions[bot]
comradekingu
comradekingu
milotype
milotype
givx
givx
occtherapist
occtherapist
## Contribute We welcome every contribution! It would be awesome, if you: - Create an Issue in the Repo that fits best and add information about the problem or idea. We'll reply within a couple of days. - Create a Pull Request in this Monorepo. Please do not PR to our read-only repos, they are not prepared for code changes. Only the monorepo has quality gates and automated tests. - Translate Moox using [Weblate](https://hosted.weblate.org/engage/moox/). - Tell other people about Moox or link to us. - Consider a [donation or sponsorship](https://github.com/sponsors/mooxphp). ## Translation Moox is translated with Weblate. Of course you can also directly edit the translation files in the packages, but using a full-featured translation platform like Weblate might be more convenient. Translation status ## License Moox is free Open-Source software licensed under the [MIT License](LICENSE.md). Some of the projects we depend on are released under a different license. We do our best to make sure that these licenses allow private as well as commercial use and do not impose any restrictions. If you notice any problem with Moox licensing or any dependency, please mail us at dev@moox.org. ## Security As mentioned above, we use automated code checks and security audits to ensure that our code is free of security vulnerabilities. Read our [Security Policy](SECURITY.md) to learn more about security or report a potential vulnerability. Please DO NOT use the issue tracker for reporting security-related issues.