Shared Laravel dev tooling: the laravel-finalize Boost skill, a translation completeness checker, and a Claude Code Stop-hook backstop.
Shared Laravel dev tooling: the laravel-finalize Boost skill, a translation completeness checker, and a Claude Code Stop-hook backstop.
v0.1.2 2026-08-03 17:25 UTC
This package is auto-updated.
Last update: 2026-08-03 17:26:01 UTC
Shared development tooling for Laravel projects, distributed as a require-dev
composer package so every project and every developer gets the same tools without
per-project copies that rot.
Ships:
laravel-finalize Boost skill — the finalization checklist (IDE helpers →
translations → Pint → tests) that Claude runs before marking work complete.
Laravel Boost auto-installs it into
.claude/skills/laravel-finalize/ on php artisan boost:update.check-translations — a composer-bin script that scans app/, resources/
and routes/ for __() / @lang / trans() / trans_choice() strings and fails
if any is missing from any of the app's lang/*.json locales.lang/*.json (the locale list is derived from them — no config)composer require --dev apavliukov/laravel-devtools php artisan boost:update
boost:update installs the skill into .claude/skills/laravel-finalize/. Keep that
directory git-ignored — it is a vendor artifact, reinstalled on every boost:update.
# Ratchet mode (default): only strings in files changed vs main vendor/bin/sail php vendor/bin/check-translations # Full audit: every string under app/resources/routes vendor/bin/sail php vendor/bin/check-translations --all
Exit code 1 and an Untranslated strings found marker on STDERR mean gaps; the
output lists missing keys per locale. Dotted keys (auth.failed) resolve from PHP
array lang files and are ignored.
Wire the hook in the project's .claude/settings.json so Claude cannot end a turn
that touched PHP/lang files while translations are missing:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "vendor/apavliukov/laravel-devtools/hooks/check-translations.sh"
}
]
}
]
}
}
The hook is a detector only — silent when nothing relevant changed; fixing translations is the skill's job. It runs the checker with host PHP (no framework boot), so it works even when Docker/Sail is down.
Migrating a project off local copiescomposer require --dev apavliukov/laravel-devtools && php artisan boost:update.claude/skills/laravel-finalize/ copy (and any local
translations:check artisan command)..claude/settings.json hooks to the vendor path above; delete the local
.claude/hooks/check-translations.sh.!/.claude/skills/laravel-finalize/.Versioned with commit-and-tag-version (conventional commits, enforced by
commitlint + lefthook). Use yarn release:patch|minor|major — see CHANGELOG.md.
MIT
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | shadman/laravel-skills | 0 | 21.11 | 03-08-2026 |
| 2 | ratts/rih | 0 | 10 | 03-08-2026 |
| 3 | splitstack/invariants | 0 | 24.29 | 03-08-2026 |
| 4 | anjan-talukdar/laravel-gst-invoice | 0 | 19.93 | 03-08-2026 |
| 5 | sharpapi/laravel-invoice-manager | 0 | 19.5 | 03-08-2026 |
| 6 | risetechapps/api-key-for-laravel | 0 | 100 | 03-08-2026 |
| 7 | expertapps/laravel-abac | 0 | 30 | 03-08-2026 |
| 8 | daite/laravel-procedures | 0 | 19.09 | 03-08-2026 |
| 9 | shelfwatch/shelfwatch | 0 | 10 | 03-08-2026 |
| 10 | fapost/support | 0 | 8.26 | 03-08-2026 |