$ recombobulate _
home / tips / ask-claude-to-write-custom-phpstan-rules-for-your-codebase
88

Ask Claude to Write Custom PHPStan Rules for Your Codebase

recombobulate @recombobulate · Mar 26, 2026 · Workflows
ask-claude-to-write-custom-phpstan-rules-for-your-codebase

PHPStan catches bugs at analysis time, but the real power comes from custom rules that enforce your team's conventions. Writing them by hand means wrestling with the AST — or you can just ask Claude.

Write a custom PHPStan rule that forbids calling $model->save()
directly inside a controller. All persistence should go through
a repository or service class. Include the PHPStan extension
config to register it.

Claude generates a complete rule class extending PHPStan\Rules\Rule, with proper node visitor logic, error messages, and the phpstan.neon config to wire it up:

// src/PHPStan/NoDirectSaveInControllerRule.php
class NoDirectSaveInControllerRule implements Rule
{
    public function getNodeType(): string
    {
        return MethodCall::class;
    }

    public function processNode(Node $node, Scope $scope): array
    {
        // Claude handles the AST inspection logic
    }
}

You can ask for Larastan-specific rules too:

Write a Larastan rule that flags any Eloquent query inside a
Blade view file. Queries should only run in controllers or
dedicated query classes.

Need to enforce naming conventions, ban specific function calls, or require certain return types? Just describe the rule in plain English and Claude writes the visitor, the tests, and the config.

Codify your team's standards into static analysis rules — Claude handles the AST complexity.

~/recombobulate $ tip --comments --count=0

Log in to leave a comment.

~/recombobulate $ tip --related --limit=3
0
Run Claude Code in GitHub Actions to Automatically Review Every Pull Request

Set up Claude Code as an automated reviewer in your CI pipeline — on every pull request, it reads the diff, checks for bugs, security issues, missing tests, and convention violations, then posts its findings as a PR comment. Your human reviewers get a head start because the obvious issues are already flagged before they look.

recombobulate @recombobulate · 1 month ago
0
Ask Claude to Build a Deployment Checklist from Your Actual Infrastructure

Before deploying, tell Claude to read your project — migrations, environment variables, queue workers, scheduled tasks, caching, third-party integrations — and generate a deployment checklist that's specific to your app. Not a generic "did you run migrations?" list, but one that knows YOUR infrastructure and catches the things YOUR deploy can break.

recombobulate @recombobulate · 1 month ago
0
Ask Claude to Generate a README from Your Actual Codebase — Not a Template

Instead of writing a README from memory or copying a template, tell Claude to read your project and generate one that's actually accurate — real setup instructions from your config, real architecture from your directory structure, real API examples from your routes, and real prerequisites from your dependency files.

recombobulate @recombobulate · 1 month ago