The engine for the Ichava Laravel icon ecosystem. Services, registry, seeder, scaffolder, helpers, base Blade component. No HTTP surface. Works without a JS toolchain.
| Security | DOM-based SVG sanitiser with a strict allow-list. XXE-safe (LIBXML_NONET, resolveExternals=false). Blocks javascript:, vbscript:, file:, all on* handlers. |
| Performance | Icon-level cache, SVG optimisation, indexed DB lookup, pre-built manifest for production. |
| Blade | The base <x-ichava::icon> component every icon pack extends. |
| Fluent API | ichava('vendor/pkg::category/name')->color('...')->class('...'). |
| Seeder | Queue-backed pipeline with multi-level dedup, change detection, Horizon-aware. |
| Scaffolder | php artisan make:icon-package <Name> bootstraps a new icon pack from a stub tree. |
| Logging | Three dedicated channels: ichava, ichava-icons, ichava-queue. |
| Search | PostgreSQL full-text search (recommended) or MySQL 8+. |
Zero HTTP surface. No REST endpoints, no middleware, no routes. The HTTP layer (REST API + Vue/Vite SPA) lives in the optional ichava/browser package.
- PHP 8.3+
- Laravel 13+
- PostgreSQL (recommended) or MySQL 8+
composer require ichava/corePublish the config and run migrations:
php artisan vendor:publish --tag=ichava-config
php artisan migrateInstall at least one icon pack (core ships with no icons):
composer require ichava/tabler-icons
php artisan ichava:database seed --package=ichava/tabler-iconsAdd ichava/browser if you want the visual icon browser plus REST API:
composer require ichava/browserA convenience metapackage (ichava/ichava) that pulls core + browser + a default pack is planned for a future release.
{{-- Generic Blade component, works with any installed pack --}}
<x-ichava::icon name="ichava/tabler-icons::home" class="w-6 h-6" />
{{-- Fluent helper --}}
{{ ichava('ichava/tabler-icons::home')->color('#FFD700')->class('w-5 h-5') }}Full documentation lives in a dedicated repo: ichava/documentation.
Per-topic shortcuts:
- Installation
- Configuration
- Environment variables
- Icon path format
- Blade components
- Global helper
- Artisan commands
- Database seeding
- Custom icon sets
- Creating icon packages
Cross-cutting:
See CONTRIBUTING.md. Full ecosystem development workflow lives in the documentation repo.
Email security@simtabi.com privately. Do not open public issues for security problems. See SECURITY.md.
This project is licensed under the MIT License.
© Simtabi LLC