Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Review Diff Checklist
Review Diff Checklist
shipwithian/shipkit
claude-code

The reviewer's standards beyond what composer ci:check already enforces. Rows of .ai/rules/enforcement.md that name a check are covered by that check; spend review attention on the rest.

Install
php artisan boost:add-skill shipwithian/shipkit

Save this content to: .claude/skills/review-diff-checklist/SKILL.md

# Review checklist

The reviewer's standards beyond what `composer ci:check` already enforces. Rows of `.ai/rules/enforcement.md` that name a check are covered by that check; spend review attention on the rest.

- [ ] New code lives in the bounded context whose vocabulary it uses, under `app/Domain/{Context}`.
- [ ] Contexts use each other only through Actions and Query objects; `ArchitectureTest` passes.
- [ ] Each Action describes one clear use case and receives only the explicit typed values it needs.
- [ ] Controllers coordinate HTTP rather than own application workflows; every protected action calls `Gate::authorize()` first; every read goes through a Query object.
- [ ] Routes carry no permission middleware, and Form Requests validate and normalize input only.
- [ ] Invariants hold independently of actor authorization: aggregate rules as `ensure...()` model methods called from `guardCreate()`/`guardUpdate()`/`guardDelete()` with `GuardsInvariants`, relationship rules on a pivot with `GuardsPivotInvariants`, cross-aggregate rules in Actions, each throwing a named `DomainException`.
- [ ] The context's `.ai/rules/contexts/{context}.md` lists any new term, invariant, or public class.
- [ ] Multi-step writes run in one transaction, and side effects fire after it succeeds.
- [ ] Eloquent models remain the aggregates; services have a focused, reusable responsibility.
- [ ] API resources and Inertia props expose only intentional, explicitly listed data.
- [ ] Ownership and authorization boundaries are enforced, and tests prove another actor cannot reach the record.
- [ ] Every invariant change and bug fix has a regression test recorded as failing without the production change.
- [ ] Feature tests prove observable behavior and persisted state, grouped by context with a `describe()` block per action.
- [ ] Pages compose partials named for their controller action; payload types come from `app/Http/Props` through `composer types:generate`, never hand-written.
- [ ] Supporting classes exist because they clarify a real responsibility.

Review checklist

The reviewer's standards beyond what composer ci:check already enforces. Rows of .ai/rules/enforcement.md that name a check are covered by that check; spend review attention on the rest.

  • New code lives in the bounded context whose vocabulary it uses, under app/Domain/{Context}.
  • Contexts use each other only through Actions and Query objects; ArchitectureTest passes.
  • Each Action describes one clear use case and receives only the explicit typed values it needs.
  • Controllers coordinate HTTP rather than own application workflows; every protected action calls Gate::authorize() first; every read goes through a Query object.
  • Routes carry no permission middleware, and Form Requests validate and normalize input only.
  • Invariants hold independently of actor authorization: aggregate rules as ensure...() model methods called from guardCreate()/guardUpdate()/guardDelete() with GuardsInvariants, relationship rules on a pivot with GuardsPivotInvariants, cross-aggregate rules in Actions, each throwing a named DomainException.
  • The context's .ai/rules/contexts/{context}.md lists any new term, invariant, or public class.
  • Multi-step writes run in one transaction, and side effects fire after it succeeds.
  • Eloquent models remain the aggregates; services have a focused, reusable responsibility.
  • API resources and Inertia props expose only intentional, explicitly listed data.
  • Ownership and authorization boundaries are enforced, and tests prove another actor cannot reach the record.
  • Every invariant change and bug fix has a regression test recorded as failing without the production change.
  • Feature tests prove observable behavior and persisted state, grouped by context with a describe() block per action.
  • Pages compose partials named for their controller action; payload types come from app/Http/Props through composer types:generate, never hand-written.
  • Supporting classes exist because they clarify a real responsibility.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager