Weave 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
Agents
renderbit/light-bootstrap-dashboard
claude-code
cursor
RenderbitTechnologies
LightBootstrapDashboard

Laravel package (renderbit/light-bootstrap-dashboard) wrapping Creative Tim's Light Bootstrap Dashboard as Blade layouts/partials/components for Laravel 5.7–12, PHP 7.4–8.4. Single codebase — keep PHP 7.4 compatible (no match/promotion/named args/union types). No composer.lock, no build step;...

Install
php artisan boost:add-skill renderbit/light-bootstrap-dashboard

Save this content to: AGENTS.md

# AGENTS.md

## What this is
Laravel package (`renderbit/light-bootstrap-dashboard`) wrapping Creative Tim's Light Bootstrap Dashboard as Blade layouts/partials/components for Laravel 5.7–12, PHP 7.4–8.4. Single codebase — keep PHP 7.4 compatible (no match/promotion/named args/union types). No composer.lock, no build step; assets under `src/resources/assets` are prebuilt. Supports lavary/laravel-menu.

## Commands
```bash
composer install
composer test                                   # PHPUnit via Orchestra Testbench
vendor/bin/phpunit --filter testAllDemoRoutesAreRegistered
vendor/bin/phpunit tests/DemoDisabledTest.php
composer check-style                            # phpcs PSR-2, src/ + tests/ (Blade excluded)
composer fix-style                              # phpcbf
```
CI swaps Testbench versions across PHP×Laravel matrix. Older Laravel may need `COMPOSER_NO_SECURITY_BLOCKING=1`.

## Architecture (package wiring)
- `src/LightBootstrapDashboardServiceProvider`: merges configs (`lbd`, `sidebar-menu`), layers `sidebar-menu` over `laravel-menu.settings` (array_replace_recursive), loads views as `lbd::` from `src/resources/views`, publishes tags `config`/`views`/`public` (to `public/vendor/lbd`), loads `src/routes.php` **only if** `config('lbd.load_demo_content')` true.
- Demo mode (`lbd.load_demo_content` / `LOAD_LBD_DEMO`): gates `/lbd/*` routes (named `lbd.*`, web), menus in `LightBootstrapDashboardController::setupMenus()`, and placeholder chrome in `views/inc/demo.blade.php`. Layouts must render with demo off (no unconditional `route('lbd.*')` refs; guard menus with `Menu::exists(...)`). `lbd_home_url()` uses `app('router')->has('lbd.dashboard')`.
- Layouts: `lbd::layout` (sidebar/navbar/footer), `lbd::layout-full` (login/register/lock). `inc/demo.blade.php` included top of layout. `inc/head`/`inc/scripts` wrap assets in `@section('styles'|'scripts') ... @show` — **use `@push` not `@section`** or you drop jQuery/Popper/Bootstrap/theme JS. Plugins pushed per page. 
- Menus (lavary/laravel-menu): names `sidebar_main_menu`, `sidebar_user_menu`, `site_header_menu`, `site_footer_menu`. `inc/sidebar-menu.blade.php` renders recursively; parent `#id` href = collapse id; `is_child_active()` in `src/helpers.php` drives expand/active. Outside demo mode, render `sidebar_user_menu` yourself in `sidebar-user` section.
- Components: `lbd::inc.box` (slots: body required; title/subtitle/footer/class_list/body_class_list), `lbd::inc.card` (title/category/icon/footer_icon/footer required; class_list defaults `card-stats`).
- Helpers: `is_child_active()`, `lbd_home_url()`, `lbd_sidebar_button_color()`.

## Config keys (see README)
`lbd.php`: `google_maps_api_key`, `google_analytics_key`, `load_demo_content`, `home_url` (`LBD_HOME_URL`), `logo_mini`/`logo_full`, `sidebar_color` (black/azure/blue/purple/green/orange/red), `sidebar_image`, `footer_logo`/`footer_link`. Footer uses `app.name`/`app.url`; title `@yield('title') | {{ config('app.name') }}`. `sidebar-menu.php` layered over `laravel-menu.settings` (default sets `activate_parents` false for `sidebar_main_menu`).

## Tests
`tests/TestCase.php` boots Testbench with Menu provider/alias and package provider; sets `view.paths` to `tests/Fixtures/views`. Subclasses set `protected $loadDemoContent` (routes registered at boot). `DemoEnabledTest` is canonical list of demo routes — update when adding/removing demo pages (routes.php, controller, setupMenus()).

## Conventions
- PSR-2 (Blade excluded). Conventional Commits (one feature/PR). Behaviour changes need README + `CHANGELOG.md` updates (add to `## Unreleased`, mark breaking with **Breaking:**). SemVer; major tracks README Laravel matrix; `extra.branch-alias.dev-master` must match current major.

AGENTS.md

What this is

Laravel package (renderbit/light-bootstrap-dashboard) wrapping Creative Tim's Light Bootstrap Dashboard as Blade layouts/partials/components for Laravel 5.7–12, PHP 7.4–8.4. Single codebase — keep PHP 7.4 compatible (no match/promotion/named args/union types). No composer.lock, no build step; assets under src/resources/assets are prebuilt. Supports lavary/laravel-menu.

Commands

composer install
composer test                                   # PHPUnit via Orchestra Testbench
vendor/bin/phpunit --filter testAllDemoRoutesAreRegistered
vendor/bin/phpunit tests/DemoDisabledTest.php
composer check-style                            # phpcs PSR-2, src/ + tests/ (Blade excluded)
composer fix-style                              # phpcbf

CI swaps Testbench versions across PHP×Laravel matrix. Older Laravel may need COMPOSER_NO_SECURITY_BLOCKING=1.

Architecture (package wiring)

  • src/LightBootstrapDashboardServiceProvider: merges configs (lbd, sidebar-menu), layers sidebar-menu over laravel-menu.settings (array_replace_recursive), loads views as lbd:: from src/resources/views, publishes tags config/views/public (to public/vendor/lbd), loads src/routes.php only if config('lbd.load_demo_content') true.
  • Demo mode (lbd.load_demo_content / LOAD_LBD_DEMO): gates /lbd/* routes (named lbd.*, web), menus in LightBootstrapDashboardController::setupMenus(), and placeholder chrome in views/inc/demo.blade.php. Layouts must render with demo off (no unconditional route('lbd.*') refs; guard menus with Menu::exists(...)). lbd_home_url() uses app('router')->has('lbd.dashboard').
  • Layouts: lbd::layout (sidebar/navbar/footer), lbd::layout-full (login/register/lock). inc/demo.blade.php included top of layout. inc/head/inc/scripts wrap assets in @section('styles'|'scripts') ... @show — use @push not @section or you drop jQuery/Popper/Bootstrap/theme JS. Plugins pushed per page.
  • Menus (lavary/laravel-menu): names sidebar_main_menu, sidebar_user_menu, site_header_menu, site_footer_menu. inc/sidebar-menu.blade.php renders recursively; parent #id href = collapse id; is_child_active() in src/helpers.php drives expand/active. Outside demo mode, render sidebar_user_menu yourself in sidebar-user section.
  • Components: lbd::inc.box (slots: body required; title/subtitle/footer/class_list/body_class_list), lbd::inc.card (title/category/icon/footer_icon/footer required; class_list defaults card-stats).
  • Helpers: is_child_active(), lbd_home_url(), lbd_sidebar_button_color().

Config keys (see README)

lbd.php: google_maps_api_key, google_analytics_key, load_demo_content, home_url (LBD_HOME_URL), logo_mini/logo_full, sidebar_color (black/azure/blue/purple/green/orange/red), sidebar_image, footer_logo/footer_link. Footer uses app.name/app.url; title @yield('title') | {{ config('app.name') }}. sidebar-menu.php layered over laravel-menu.settings (default sets activate_parents false for sidebar_main_menu).

Tests

tests/TestCase.php boots Testbench with Menu provider/alias and package provider; sets view.paths to tests/Fixtures/views. Subclasses set protected $loadDemoContent (routes registered at boot). DemoEnabledTest is canonical list of demo routes — update when adding/removing demo pages (routes.php, controller, setupMenus()).

Conventions

  • PSR-2 (Blade excluded). Conventional Commits (one feature/PR). Behaviour changes need README + CHANGELOG.md updates (add to ## Unreleased, mark breaking with Breaking:). SemVer; major tracks README Laravel matrix; extra.branch-alias.dev-master must match current major.
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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib