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.
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_standardsreturns the standards and how many rules each one holds.get_standardreturns 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.
