Long-form documentation for the Ichava Laravel icon ecosystem. Plain markdown, browseable directly on GitHub.
| Repo | Role |
|---|---|
ichava/core |
Engine. Services, registry, seeder, Blade base component, scaffolder, migrations. No HTTP surface, no JS toolchain. |
ichava/browser |
HTTP layer. REST API, Vue/Vite SPA, Blade browser views, middleware. Optional. |
ichava/tabler-icons |
5,900+ Tabler icons (outline + filled). |
ichava/bundled-icons |
121,000+ icons across 70+ open-source sets. |
ichava/metronic-icons |
500+ Metronic icons (brand logos, flags, file types, illustrations). |
ichava/ichava (planned) |
Marketing landing + Composer metapackage. |
# Engine + visual UI + an icon pack
composer require ichava/core ichava/browser ichava/tabler-icons
# Headless engine only (no UI, no API)
composer require ichava/core ichava/tabler-iconsSee core/installation.md and browser/installation.md for the full setup.
Documentation is grouped by repo. Cross-cutting topics (architecture, security, troubleshooting) live at the top level.
- Architecture, how the packages relate
- Security model, threat model and mitigations
- Security threat model, STRIDE walkthrough and disclosure SLAs
- Troubleshooting, common issues
- Icon-pack upstream tracking, host-app side -- how to subscribe to update events
- Icon-pack maintainer sync, maintainer side -- how we refresh vendored assets and ship a new release
- Contributing, style guide and PR conventions
- Security policy, how to report a vulnerability
- Installation
- Configuration,
config/ichava.phpkeys - Environment variables, every
ICHAVA_*engine env var - Icon path format, the
vendor/pkg::category/icongrammar - Blade components, the base
<x-ichava::icon> - Global helper, the
ichava()fluent function - Artisan commands, every
ichava:*command - Database seeding, queue-backed seeder + dedup
- Custom icon sets, in-app sets without a package
- Creating icon packages, the
make:icon-packagescaffolder
- Installation
- Configuration,
config/ichava-browser.phpkeys - Environment variables, browser-specific env vars
- API endpoints, REST endpoint reference
- shadcn-vue installer,
.dev/shadcn_vue_installer.sh
- Using an icon pack, install and render any pack
- Seeding pack icons, when and how to seed
- Building your own pack, the scaffolder walkthrough
Pack-specific content (variants, attribution, customisation) lives inside each pack's repo at docs/. Every pack follows the same shape:
<pack-repo>/
├── README.md install + quick example + link here
└── docs/
├── README.md pack-specific TOC
├── variants.md or categories.md
├── customization.md
└── attribution.md upstream license + credits
Pack docs link back to this directory for shared concerns. When you build your own pack with make:icon-package, the scaffolder generates docs/ for you.
Examples:
Pull requests welcome. Plain CommonMark, no static-site builder yet. See CONTRIBUTING.md for the style guide.
This project is licensed under the MIT License.
© Simtabi LLC