In-app help for Filament panels. A help drawer on every page that opens on the articles written for that screen, a help center inside the panel, question-mark hints next to form fields, and an editor where your admins write and translate the articles without leaving Filament.
The content layer is lin-codex: tables, Markdown rendering, search, visibility rules and a JSON API that work in any Laravel app. This package is the panel on top of it.
- Help drawer — opens from the topbar button,
ctrl+/, a?codex=sluglink or acodex:openevent, and shows the articles attached to the current screen first. Guests get it on the login and registration pages too. - Help center at
{panel}/help— the whole library with a contents tree, search and an "On this page" outline, styled by the panel's own theme. - Contextual help — attach articles to resources and pages from the editor, or declare them in code with
HasHelp. Each panel reads its own articles plus the general ones. - Field hints —
TextInput::make('slug')->codexHelp('articles/slugs')puts a question mark next to the field that opens the article at a heading. - Editor — Markdown with image and document uploads, one tab per language, revision history with restore, AI translation from the editor or queued from the list, and one-click import of articles that live as files on disk.
- Coverage report — every screen in the application and whether it has an article yet, with row actions to write, attach or import one.
- Authorization you can replace — a shipped policy, Gate abilities for the pages, and Filament Shield support.
- English, German and Hungarian UI, twelve starter articles in all three.
📖 Reading help — the drawer, the help center, field hints, guests
The drawer, opened on a resource page. The articles for this screen sit under This page, everything else under Browse, and the badge on the button counts them.
The help center. Contents on the left, the article in the middle, its headings on the right, all in the panel's colours.
Field hints. A question mark next to a form field opens the drawer at the right heading.
Help for guests. The login page gets a "Need help?" link and the same drawer over the public articles.
✍️ Writing help — the editor and the coverage report
The editor. One tab per language with a Missing badge where a translation is absent, a Markdown body with image and document uploads, and the slug, parent, order and publishing state beside it.
Coverage. Which screens still have no article, and a way to fix each one from its row.
use FinityLabs\FinCodex\FinCodexPlugin;
// Register on a panel. Every option is per panel and optional.
$panel->plugins([
FinCodexPlugin::make()
->shortcut('ctrl+/')
->globalSearch(),
]);use FinityLabs\FinCodex\Help\HasHelp;
use FinityLabs\FinCodex\Help\WithHelp;
// Attach articles to a resource in code. The drawer opens on them
// on the list, create, edit and view pages of this resource.
class UserResource extends Resource implements HasHelp
{
use WithHelp;
protected static array $helpArticles = ['users', 'user-roles'];
}// A question mark next to a field, opening the article at a heading.
Select::make('role')->codexHelp('users', 'assigning-a-role');Articles can also be attached from the editor, without touching code: pick the panel, the resource or page, and save.
composer require finity-labs/fin-codex
php artisan codex:install # lin-codex: tables and settings
php artisan fin-codex:install # registers the plugin, picks languages, imports the starter articlesThe install command lists the panels it found, asks which languages your help is written in, offers twelve starter articles about the help system and Filament's own account pages, and wires up Filament Shield if it's installed. Every step is safe to re-run. Details, the flags and manual registration are in Installation.
| Guide | Covers |
|---|---|
| Installation | Requirements, the two packages, the install command, styles, translations, uninstalling |
| Plugin options | Every per-panel option, class overrides, a panel that reads but doesn't author |
| Contextual help | HasHelp declarations, field hints, how panels scope what a reader sees |
| The drawer and the help center | Opening the drawer, the help center page and its placement, locale, global search |
| Writing articles | The editor, contexts, languages and AI translation, images and documents, revisions, media |
| Settings | Languages, fallback, revision retention, AI translation setup |
| Coverage and warnings | The coverage report, closing a gap from a row, source warnings |
| Authorization | The shipped policy, the nine abilities, gating the pages, Filament Shield |
| Upgrading and known limitations | What changed between releases and what this release doesn't do yet |
| Package | Filament | Laravel | PHP | lin-codex |
|---|---|---|---|---|
| 0.x | 4.x / 5.x | 11, 12, 13 | 8.2+ | ^0.4.2 |
AI translation needs PHP 8.3+, Laravel 12+ and laravel/ai ^0.11.
MIT. See LICENSE.
