Loading...

This is taking longer than expected.

Read the standards

Where the rules live, how to read one in either language, and how to tell which ones the analyzer checks for you.

The standards are the rules your code is checked against. Nobody copies them into a project: they live on the server and are read on demand, so a rule changed today is the rule every project follows tomorrow.

Every rule states what it checks and why it exists. The second half is the part worth reading. A verdict without a reason teaches nothing and cannot be argued with, so before you work around a rule, read it whole.

Read them in the panel

Open Standards in the sidebar. The page opens on the catalogue: one card per standard, each with the number of rules it holds and a Read the rules link. Open a card and you get that standard in full, rule by rule, with the wrong code and the correct code beside each other.

The panel reads in the language of your account, so you change it in your profile and the rules change with it.

The Standards screen, one card per category with the number of rules it holds

Read them on the public site

The standards are public. Each language has its own address:

Language Address
English /standards
Spanish /estandares

Nothing there is behind the sign-in, so you can send a rule to someone who has no account yet. Opening one of those addresses is also a choice of language: the rest of the site follows it instead of reverting on your next click.

A finding links straight to the rule it comes from, at its own anchor, so you rarely have to go looking for one by hand.

Read one from your assistant

An assistant with the toolkit installed reads the standards over the connection instead of from a copy on disk:

  • list_standards returns the standards and how many rules each one holds.
  • get_standard returns one of them in full.

That is how the assistant settles a question about the exact wording of a rule while it is writing. Getting a client connected is covered in Connect Claude Code.

What each standard covers

Standard What it covers
PHP Language and text, control structures, helpers, class size, comments
Laravel Policies How a policy is written and registered
Laravel Front Resource fields, filters, actions, authorization, method order
Laravel Models $guarded, section order, scopes, casts, enums, accessors, relationships
Laravel Observers What an observer may do and the order of its hooks
Laravel Traits Reuse, section order, relationships
Laravel Routes Controllers and the CRUD architecture
Laravel Migrations How a migration is written
Laravel Notifications The base a notification extends and what it declares
Services What a service may do and how it reports a result
Application Classes Where code belongs when it has no obvious home
Livewire Structure order, authorization, render(), properties, validation, modals
Blade Readable markup, the project form components, feedback and error states
Alpine.js and Livewire Which of the two owns a piece of behaviour
Tailwind CSS Colours, dark mode, hover, cursor, nesting, repetition, responsive design
Documentation The language every Markdown file in a repository is written in, and a translation saying what its source says
Queues and Time Budget The five-second ceiling on any piece of work, and how heavy work runs on the queue in small jobs while the person watches it advance

Which rules the analyzer checks for you

Not every rule in a standard has an automated check behind it. list_rules returns the rules that are currently configured and marks the ones a deterministic check can decide. Those are the rules a run can report.

A rule without one is still the standard. It is published, it is read, and it is followed by hand. Four checks will never have one at all, and they are the ones worth knowing by heart: What the analyzer cannot check.

A review done by a person is never reported as an analyzer pass. They are different things and they answer different questions.

The same rules in two languages

English is the source. The Spanish is translated from it and carries a fingerprint of the English it was written from, so a rule whose source has moved on is reported rather than left to drift.

The two languages are one rule, not two documents. Rewording the Spanish so it reads like it was written rather than translated is welcome; changing what it says is not, because a reader has no way to tell which version is true when they disagree. Adding or changing a rule is covered in Write a new rule.