Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Tallstack Laravel Package

andreidecuseara/tallstack

View on GitHub
Deep Wiki
Context7

Getting Started

Minimal Steps

  1. Installation:

    • For Linux (Debian/Ubuntu):
      wget https://github.com/AndreiDecuseara/tallstack-pack/raw/main/tallstack_2.2-1_all.deb
      sudo dpkg -i tallstack_2.2-1_all.deb
      
    • For macOS/Windows, use the provided .deb via a VM or Docker (not natively supported).
    • Laravel Integration:
      composer require andreidecuseara/tallstack
      
  2. First Use Case:

    • Run the installer via Artisan (if wrapped in a Laravel command):
      php artisan tallstack:install
      
    • This automates:
      • Tailwind CSS
      • Alpine.js
      • Laravel (if missing)
      • Livewire (if missing)
  3. Where to Look First:

    • config/tallstack.php (if generated) for customization.
    • resources/js/app.js and resources/css/app.css for post-install tweaks.
    • package.json for dependency checks.

Implementation Patterns

Usage Patterns

  1. Project Bootstrapping:

    • Use tallstack:install in a Laravel service provider’s boot() method to auto-configure new projects:
      public function boot()
      {
          if (!$this->app->runningInConsole()) return;
          Artisan::call('tallstack:install', ['--force' => true]);
      }
      
  2. Customization Workflow:

    • Override defaults via config/tallstack.php:
      return [
          'tailwind_version' => 'v3.3.0',
          'alpine_version'  => '3.12.0',
          'livewire_version' => '3.0.0',
      ];
      
    • Extend the installer by publishing its templates:
      php artisan vendor:publish --provider="AndreiDecuseara\Tallstack\TallstackServiceProvider"
      
  3. CI/CD Integration:

    • Add to .github/workflows/setup.yml:
      - name: Install TALL Stack
        run: composer require andreidecuseara/tallstack && php artisan tallstack:install
      
  4. Docker Setup:

    • Mount the .deb file and run in Dockerfile:
      RUN wget https://github.com/AndreiDecuseara/tallstack-pack/raw/main/tallstack_2.2-1_all.deb \
          && dpkg -i tallstack_2.2-1_all.deb
      

Integration Tips

  • Livewire: Post-install, run:
    composer require livewire/livewire
    php artisan make:livewire ExampleComponent
    
  • Tailwind: Customize tailwind.config.js after installation.
  • Alpine.js: Import manually in Blade if needed:
    @vite(['resources/js/app.js', 'resources/js/alpine.js'])
    

Gotchas and Tips

Pitfalls

  1. Linux-Only:

    • The .deb package won’t work on macOS/Windows natively. Use Docker or a VM.
    • Workaround: Manually install dependencies via npm/yarn if cross-platform support is needed.
  2. Dependency Conflicts:

    • If node_modules exists, the installer may fail. Delete it first:
      rm -rf node_modules package-lock.json
      
    • Tip: Add this to the installer’s pre-hook.
  3. Permission Issues:

    • Running dpkg without sudo will fail. Ensure scripts prompt for admin rights.
  4. Outdated Packages:

Debugging

  • Silent Failures: Check logs in /var/log/tallstack.log (if configured).
  • Manual Overrides: If the installer skips steps, manually run:
    npm install -D tailwindcss@latest alpinejs@latest
    npx tailwindcss init
    

Extension Points

  1. Custom Commands:

    • Extend the installer by creating a new Artisan command that calls tallstack:install with custom flags.
  2. Post-Install Hooks:

    • Add a service provider to run post-install tasks (e.g., database migrations):
      public function boot()
      {
          if ($this->app->environment('local')) {
              Artisan::call('migrate');
          }
      }
      
  3. Configuration Validation:

    • Validate config/tallstack.php in a service provider:
      $config = config('tallstack');
      if (!array_key_exists('tailwind_version', $config)) {
          throw new \RuntimeException('Tallstack config incomplete.');
      }
      

Pro Tips

  • Backup package.json: The installer may overwrite it. Commit your custom scripts first.
  • Dry Run: Test in a VM before production:
    php artisan tallstack:install --dry-run
    
  • Monitor Updates: Fork the repo to maintain compatibility with newer TALL Stack versions.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
directorytree/privacy-filter-classifier
directorytree/privacy-filter
babenkoivan/elastic-client
innmind/static-analysis
innmind/coding-standard
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit