nowo-tech/claude-php-setup
A setup helper for PHP and Laravel projects that bootstraps Claude Code with practical configuration, project guidance, and reusable commands. Designed for quick installation and consistent AI-assisted development workflows across teams.
What the package actually is. nowo-tech/claude-php-setup is a developer-experience scaffolder, not a library. It runs interactively, writes a set of Markdown artifacts (CLAUDE.md, slash-command definitions, subagent definitions) into a PHP repository, and then exits. There is no service provider, no runtime API, no facade, no container binding. From an architecture standpoint it sits entirely outside the Laravel application boundary.
Architecture fit. Fit is effectively neutral-to-positive because the coupling is zero: nothing in the generated output is loaded by the framework, so it cannot affect request handling, boot time, or deployment artifacts. The real fit question is idiomatic, not structural — whether the generated agents and commands encode Laravel conventions (Artisan, Eloquent, Pest/PHPUnit, Sail, queue and migration workflows) or are generic/Symfony-flavored. The supplied source material is a set of internal agent rules for a Symfony bundle project, which is not documentation for this package; that mismatch means the evidence base for "Laravel fit" is currently unverified and must be established by actually running the tool.
Integration feasibility. Mechanically trivial: acquire via Composer or clone, run once, review the diff, commit. There is no dependency resolution risk in the application's composer.json if it is installed globally or in a tooling-only context. Political/process feasibility is the harder part, because the output influences how an autonomous coding agent behaves inside the repo — that requires review and an owner, not just a composer require.
Technical risk profile.
| Risk | Severity | Rationale |
|---|---|---|
| Abandonment | High | Explicitly unmaintained; no patches, no schema updates, no security response |
| Evidence/validation | High | 1 star, 0 dependents, no community corpus; near-zero real-world signal |
| Agent-behavior risk | Medium–High | Generated commands/agents can encode shell invocations and broad permissions |
| Supply-chain integrity | Medium | Low-visibility project; release metadata (2026-10-20) is anomalous relative to the rest of the signal set and should be validated before pinning |
| Artifact drift | Medium | Generated Markdown rots as conventions change; no documented idempotent regeneration |
| Runtime risk | Low | Plain-text output, no execution path in production |
Note the risk inversion: because nothing runs in production, classic dependency risk (CVE in a runtime lib, breaking API) is absent. The risk migrates to governance of generated instructions and ownership of unmaintained templates.
Key questions to resolve before any adoption decision.
Stack fit. Compatible on paper with a modern Laravel baseline (PHP 8.2+/8.3+, Laravel 10–12) since it imposes no runtime constraint and writes only Markdown. Confirm the tool's own PHP floor before running; if it requires 8.1+ that is satisfied. The only genuine fit risk is content relevance, not compatibility.
Recommended adoption pattern: consume once, then own the output. Do not register this as a project dependency in composer.json and do not wire it into CI or deploy pipelines. Instead:
This converts an unmaintained dependency into a small, owned set of text files — the abandonment risk becomes a maintenance chore rather than a blocked upgrade path.
Migration path. Pilot repo → curated baseline → internal template/starter kit (or a docs/ai/ package in a private repo) → rollout to additional services. Keep the generator out of the critical path so that removing it later costs nothing.
Compatibility and licensing. MIT permits internal forking, modification, and redistribution; retain the license and attribution. Pin by commit SHA rather than by tag or version constraint, given the abandonment. Verify that written paths (.claude/…, repo root) do not collide with existing agent configuration before running.
Sequencing.
| Phase | Action | Gate |
|---|---|---|
| 1 | Sandbox run in one pilot repo | Output reviewed by a senior engineer |
| 2 | Security review of generated commands/agents | No unsafe shell, no over-broad permissions |
| 3 | Curate and commit baseline; assign code owner | Owner named in CODEOWNERS |
| 4 | Package as internal template | Documented in internal onboarding docs |
| 5 | Roll out to further repos | Optional; driven by demonstrated value |
Maintenance. Assume zero upstream maintenance from day one. The realistic model is internal ownership of the generated Markdown within the first quarter, with a small recurring budget (a few engineer-hours per month) for drift correction and Claude Code schema changes. A fork adds nominal overhead but buys the ability to patch; the fork itself should be pinned and left untouched unless something breaks.
Support. Self-support only. With 1 star and 0 dependents there is no community troubleshooting corpus, no issue-response expectation, and no vendor escalation. The escalation path is the named internal owner. This must be explicit, because the failure mode of "abandoned tool with no owner" is silent bit-rot rather than loud breakage.
Scaling. Generation cost is negligible and one-time; the meaningful scaling dimension is governance. If each repository runs the generator independently, you get N slightly-different sets of agent instructions and no way to reason about what agents are permitted to do. Centralizing the curated template and distributing it keeps behavior consistent and auditable across the fleet — and makes future schema migrations a single change rather than N.
Failure modes and mitigations.
CLAUDE.md describes conventions the codebase no longer follows, causing agents to produce outdated patterns. Mitigate with a scheduled review and by tying the file to the code owner of the affected area.Ramp-up. Low for individual engineers — running the tool and reviewing Markdown is roughly half a day of effort. Materially higher for platform/governance work: defining what agents are allowed to do, who reviews changes, and how the template is distributed is a one-to-two-week policy exercise. Because upstream documentation is thin (the sources supplied here are unrelated internal agent rules, not package docs), onboarding material must be written in-house; budget for that explicitly.
Recommendation. Conditional and narrow: harvest, don't depend. Do not adopt as a maintained dependency and do not scale it to multiple teams as-is. Run it once, treat the output as a starting template, curate it, and own it internally. Revisit only if upstream revives or a maintained equivalent with real adoption appears; on current signal (1 star, 0 dependents, unmaintained), the package's value is the pattern it demonstrates, not the tool itself.
How can I help you explore Laravel packages today?