Package Demo Audit Harness
Demo app path: /Users/ben/Sites/packages/capell/capell-package-demo-audit
Browser URL: http://127.0.0.1:8000
PHP runtime: Homebrew PHP 8.5.5 via PHP’s built-in server.
Core baseline packages: capell-app/core, capell-app/admin, capell-app/frontend, capell-app/installer, capell-app/marketplace
Devilbox is present at /Users/ben/devilbox, but this harness currently uses the simpler built-in PHP server because no dedicated Devilbox vhost was configured during Task 1.
Bootstrap Commands Used
Section titled “Bootstrap Commands Used”Run from /Users/ben/Sites/packages/capell:
composer create-project laravel/laravel /Users/ben/Sites/packages/capell/capell-package-demo-auditThen run from /Users/ben/Sites/packages/capell/capell-package-demo-audit:
composer require capell-app/core:4.x-dev capell-app/admin:4.x-dev capell-app/frontend:4.x-dev capell-app/installer:4.x-dev capell-app/marketplace:4.x-dev -Wphp artisan filament:install --panelsphp artisan capell:install --demo --package-mode=core --theme=none --url=http://127.0.0.1:8000 --name="Demo Admin" [email protected] --password=password --clear-cache --install-welcome-route --no-interactionnpm installnpm run buildThe demo app composer.json is configured with local symlink path repositories:
[ { "type": "path", "url": "../capell-packages-4/packages/*", "options": { "symlink": true } }, { "type": "path", "url": "../capell-4/packages/*", "options": { "symlink": true } }, { "type": "vcs", "url": "https://github.com/howdu/filament-adjacency-list" }, { "type": "vcs", "url": "https://github.com/fdemb/laravel-authentication-log" }]The howdu/filament-adjacency-list repository is required by the local capell-app/admin dependency on saade/filament-adjacency-list:dev-feat/laravel-13-support.
The fdemb/laravel-authentication-log repository is required while testing capell-app/login-audit on Laravel 13. Use the fork as a root app alias until rappasoft/laravel-authentication-log#140 is released upstream:
composer require 'rappasoft/laravel-authentication-log:dev-main as 6.0.1' capell-app/login-audit:4.x-dev -WLocal Server
Section titled “Local Server”Start the app from /Users/ben/Sites/packages/capell/capell-package-demo-audit:
php -S 127.0.0.1:8000 -t public public/index.phpVerified URLs:
- Frontend:
http://127.0.0.1:8000 - Admin login:
http://127.0.0.1:8000/admin/login
Reset Command
Section titled “Reset Command”Use this command sequence to return the harness database to the core baseline before installing the next package:
cd /Users/ben/Sites/packages/capell/capell-package-demo-auditrm -f database/database.sqlitetouch database/database.sqlitephp artisan migrate --graceful --ansiphp artisan capell:install --demo --package-mode=core --theme=none --url=http://127.0.0.1:8000 --name="Demo Admin" [email protected] --password=password --clear-cache --install-welcome-route --no-interactionphp artisan capell:frontend-install --no-interaction --ansinpm run buildIf an audited package has been added with Composer, remove it before the reset and return composer.json to only the five baseline Capell packages plus Laravel defaults.
Also remove that package’s published config, generated Laravel migrations, and generated settings migrations before creating a fresh SQLite database. Published migration files remain in database/migrations after Composer removes a package, and they will otherwise be replayed into the next package’s isolated baseline.
Admin Account
Section titled “Admin Account”- Email:
[email protected] - Password:
password - Role: Capell admin role granted by
capell:install
Screenshot Output
Section titled “Screenshot Output”Screenshots are written to:
/Users/ben/Sites/packages/capell/capell-package-demo-audit/public/docs/screenshots/packages/{package}Batch harnesses use the same path shape under their own app directory, for example:
/Users/ben/Sites/packages/capell/capell-package-demo-audit-batch-5/public/docs/screenshots/packages/password-policyFor Filament admin screenshots, the harness must have a compiled panel theme at public/build/filament/manifest.json. If the page fails with ViteManifestNotFoundException, run php artisan make:filament-theme admin --force --pm=npm, set the Laravel Vite plugin buildDirectory to build/filament, then run npm run build.
Current Health Notes
Section titled “Current Health Notes”The app boots and returns HTTP 200 for both the public frontend and admin login under the built-in PHP server.
php artisan capell:frontend-install --no-interaction --ansi has published the core frontend runtime assets, so public/vendor/capell-frontend/manifest.json is now present.
php artisan capell:doctor still reports one frontend asset health warning:
- Missing generated Capell frontend Tailwind CSS.
Root cause: this baseline uses --theme=none, and capell:frontend-after-install resolves capell.tailwind.generator, which is registered by capell-app/foundation-theme. Keep admin-only package screenshots on the core-plus-package baseline. For frontend/theme packages, install the package’s declared frontend/theme dependency stack before running Tailwind asset generation and visual capture.
Login Audit Harness Notes
Section titled “Login Audit Harness Notes”capell-app/login-audit is installed in this harness with the Laravel 13 Rappasoft fork alias documented above. The screenshot fixture also publishes the Login Audit migration and adds Rappasoft\LaravelAuthenticationLog\Traits\AuthenticationLoggable to the disposable demo app User model so the user relation surface can be captured.