V2 is in public beta! 🎉 Report any issues on the repository.

Powerful suite of Blade components for TALL Stack apps.

Contribution Guide

TallStackUI Contribuition Guide.

There are several ways to contribute to a library like TallStackUI — it’s not just about code! Even if you’re not an experienced developer, don’t worry — there are other ways to help. Do you enjoy writing? You can review the texts on both TallStackUI and our website, identifying and pointing out possible mistakes. Did you find an issue on the website, documentation, or any TallStackUI component? Create an issue and report the problem. Are you a fan of TallStackUI? Share it with your friends and community! Spreading the word is also a valuable contribution. If you’re an experienced developer and want to join the team, feel free to contribute by writing components, testing, fixing bugs, or improving the project in other ways. Want to go even further? If you love TallStackUI and wish to support it, consider making a financial donation. There are many ways to contribute, choose one and make a difference!

Before we really get into the guide on how to contribute with code, we want you to know a few things:

  • All codes must follow the PSR12
  • All codes must pass in Laravel Pint & PhpStan validations
  • All codes must pass in Pest Type Coverage
  • All codes must be tested with Pest
  • Fork the 2.x branch of the TallStackUI repository
  • Clone the repository forked for your computer.
  • Create a basic Laravel project using Laravel Breeze with Livewire (V3) stack.
  • Prepare any authentication way to access the /dashboard
  • Update the composer.json of the Laravel project with the following code:
    "require": {
    "tallstackui/tallstackui": "v2.x-dev",
     
    // ...
    },
     
    // ...
     
    "repositories": [
    {
    "type": "path",
    "url": "./Users/foobar/tallstackui/tallstackui"
    }
    ],
     
    // ...
  • Run the following command:
    composer install
  • You are ready to start the contribution 🎉 Create a new branch and start to code!

Some of the TallStackUI tests are written using Laravel Dusk via Orchestral Testbench Dusk. While it can be tricky to set up an environment to run this type of test - including having Google Chrome installed - you can run browser tests on your computer. Use the commands below to set up your environment.

Installing the appropriate Chrome driver according to your Chrome version:

./vendor/bin/dusk-updater detect

Alternatively, you can use:

./vendor/bin/dusk-updater detect --auto-update
  • Run all tests:
    composer ci
  • Run only the Feature tests:
    composer test:feature
  • Run only the Browser tests:
    composer test:browser
     
    # Use: composer test:browser:ci, to run the tests without UI.
  • Fixing Code Style:
    composer format
  • Validate Type Coverage & PhpStan:
    composer type && composer analyse

Sometimes you can make changes to components, but the change is not noticed, it is like a cache state in the Laravel project. If this is the case, use the instruction below to synchronize the changes:

composer update tallstackui/tallstackui && npm run build && php artisan optimize:clear

Code highlighting provided by Torchlight