尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
One command sets up Claude Code (and any AI coding agent) on a Laravel project: engineering rules, a quality gate (PHPStan · Pint · Pest), skills, git hooks, and stack-aware frontend tooling.
翻译准备中
正在加载完整 README。
查看完整 README ↗claude-kit packages a battle-tested setup so every Laravel project — and every
developer — gets the same guardrails instead of hand-copying config between
repos: a Stop-hook + pre-commit quality gate, reusable Claude Code skills,
PHPStan level 7 + strict-rules, Pint, Pest with an optional coverage floor, an
architecture test suite that actually runs, feature-doc scaffolding, and
stack-aware frontend tooling (Vue, React, Livewire, Blade, or none).
pcov or Xdebug) only if you ask the gate to enforce coveragecomposer require --dev mohamed-ashraf-elsaed/claude-kit
php artisan claude-kit:install
claude-kit itself depends only on Laravel — it will not pull Pint, PHPStan, or a test runner into your project, and it will not move a version you already have. The installer detects your frontend stack (Inertia + Vue, Inertia + React, Livewire, Blade, or API-only), asks which parts to scaffold, works out the exact tooling your answers need, and offers to install it:
The selected tooling is not installed yet: laravel/pint, larastan/larastan, pestphp/pest
Run `composer require --dev laravel/pint larastan/larastan pestphp/pest` now? (yes/no) [yes]
Anything already in your project is left out of that list. Decline it, or run
with --no-interaction, and the command is printed for you to run yourself.
[!NOTE] If that command fails on Pest, it is an upstream conflict, not claude-kit. Current Pest releases conflict with
phpunit/phpunitnewer than 12.5.30, and the Laravel 13 skeleton pins a newer PHPUnit — socomposer require --dev pestphp/pestcannot resolve on a fresh Laravel 13 app even with claude-kit uninstalled. Re-running the same command with-Wresolves it by letting composer downgrade PHPUnit to 12.5.30. claude-kit never adds-Wfor you; accepting that downgrade is your decision.
Then:
composer install # wires the git pre-commit hook
composer lint # once, to normalize Laravel's shipped files
npm install # only if a frontend stack was set up
Not published to Packagist yet? Install straight from GitHub by adding this to
your composer.json and running composer require --dev mohamed-ashraf-elsaed/claude-kit:dev-main:
{
"repositories": [
{ "type": "vcs", "url": "https://github.com/mohamed-ashraf-elsaed/claude-kit" }
]
}
| Part | What lands in your project |
|---|---|
| .claude core | .claude/settings.json (hook wiring + permission allowlist, deep-merged into any existing file), the reusable skills for your stack, and .mcp.json (Laravel Boost). |
| CLAUDE.md | Short and specific: project identity, the quality gate, the feature-doc rule, and an index of the installed rules — inside claude-kit:begin/end markers, so re-running refreshes it without touching your own additions. |
| Rules | .claude/rules/ — one file per selected architecture layer, a clean-code rule (strict / balanced / relaxed), a stack-specific frontend rule, and the always-on anti-overengineering + anti-assumption rules. Path-scoped where it makes sense, so they load only when relevant. |
| Agents | Read-only design-reviewer (output vs the stated design) and docs-reviewer (output vs supplied docs). |
| Workflow skills | /commit, /deploy (both you-only), /dead-code, /codemap. |
| Quality gate | phpstan.neon (your level, Larastan and strict-rules toggles), pint.json, a generated tests/Arch/ArchTest.php matching your layers — plus a tests/Arch testsuite added to your phpunit.xml so it actually runs — .githooks/pre-commit, an edit-time PHPStan hook, and merged composer scripts. |
| Frontend | Stack-matching eslint.config.js / .prettierrc / tsconfig.json, plus merged package.json scripts and devDependencies. Skipped for API-only projects. |
| Docs | features/_TEMPLATE/ + features/README.md, .editorconfig, .gitattributes. |
| CI | Generic GitHub Actions tests.yml and lint.yml. |
Nothing is clobbered. An identical file is left alone, a file you have edited is
asked about (keep / replace / show diff), settings.json and CLAUDE.md are
merged rather than replaced, and composer.json / package.json keep your
entries. The conventions claude-kit writes are opinionated defaults — read them
and adapt them to how your team actually works.
claude-kit:install is a fully interactive configurator — it asks what you
want rather than assuming:
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗