Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

apavliukov/laravel-devtools

Дата публикации: 03-08-2026 14:55:38

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.

Maintainers

b4348692f38793009be1c80692cbbc8d798f0e9277846ba5660d46c4b4c8a3c1?s=48&d=identicon

v0.1.2 2026-08-03 17:25 UTC

This package is auto-updated.

Last update: 2026-08-03 17:26:01 UTC


README

Latest Version on Packagist Total Downloads

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.
  • Claude Code Stop hook — a backstop that blocks ending a turn with untranslated strings.
Requirements
  • PHP 8.4+
  • Locale files as lang/*.json (the locale list is derived from them — no config)
Installation
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.

Translation checker
# 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.

Stop hook

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 copies
  1. composer require --dev apavliukov/laravel-devtools && php artisan boost:update
  2. Delete the local .claude/skills/laravel-finalize/ copy (and any local translations:check artisan command).
  3. Repoint .claude/settings.json hooks to the vendor path above; delete the local .claude/hooks/check-translations.sh.
  4. Drop the gitignore exception for !/.claude/skills/laravel-finalize/.
Releases

Versioned with commit-and-tag-version (conventional commits, enforced by commitlint + lefthook). Use yarn release:patch|minor|major — see CHANGELOG.md.

License

MIT

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1shadman/laravel-skills021.1103-08-2026
2ratts/rih01003-08-2026
3splitstack/invariants024.2903-08-2026
4anjan-talukdar/laravel-gst-invoice019.9303-08-2026
5sharpapi/laravel-invoice-manager019.503-08-2026
6risetechapps/api-key-for-laravel010003-08-2026
7expertapps/laravel-abac03003-08-2026
8daite/laravel-procedures019.0903-08-2026
9shelfwatch/shelfwatch01003-08-2026
10fapost/support08.2603-08-2026

Классификация: Пресс-релизы. Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 23.93. Источник: packagist.org.