Reference
Concept-by-concept API documentation. For task-oriented walkthroughs, see Guides.
The seven areas
App
Installation, packages (feature + portal), portal engines, mounting, route registration (including singular and custom routes), connecting resources via pu:res:conn, full generator catalog.
Resource
The four-layer resource — model, definition, query, actions. pu:res:scaffold field-type syntax, has_cents, SGID, URL routing, definition DSL (fields, inputs, displays, columns), page chrome, metadata panel, index views (table & grid), search, filters, scopes, sorting, custom + bulk actions.
Behavior
Controllers, policies, interactions. Controller hooks (redirect, params, presentation), policy action methods and permitted_attributes_for_*, permitted_associations, relation_scope, interaction structure, outcomes, chaining, URL generation.
UI
Pages, forms, displays, tables, components, layouts, assets. Custom page classes, form field builders, association inputs (typeahead + inline +), built-in component kit, custom Phlex components, the shell, design tokens, .pu-* component classes, Phlexi themes.
Auth
Rodauth installation, account types (basic / admin / SaaS), profile resource with the SecuritySection component.
Tenancy
Multi-tenant entity scoping (associated_with, default_relation_scope, three model shapes), nested resources (parent/child routes, scoping), user invitations.
Testing
The Plutonium::Testing::* concerns — CRUD, policy matrix, definition smoke tests, model concerns, nested resources, portal access, interaction outcomes.
Quick reference
| I need to… | See |
|---|---|
| Install Plutonium | App › Index |
| Run a generator | App › Generators |
| Create a portal | App › Portals |
| Scaffold a resource | App › Generators › pu:res:scaffold |
| Configure form fields | Resource › Definition |
| Add search / filters | Resource › Query |
| Add custom buttons / bulk actions | Resource › Actions |
| Override CRUD redirects / params | Behavior › Controllers |
| Control who can see what | Behavior › Policies |
| Write business logic | Behavior › Interactions |
| Customize a page | UI › Pages |
| Customize a form | UI › Forms |
| Style the UI | UI › Assets |
| Set up Rodauth | Auth › Accounts |
| Add a profile page | Auth › Profile |
| Scope to a tenant | Tenancy › Entity scoping |
| Wire user invitations | Tenancy › Invites |
| Test a resource | Testing |
Reading this reference
- 🚨 Critical blocks at the top of each page surface the "you'll regret this" rules. Skim them even if you're skimming the rest.
- Option / DSL tables are designed for scanning — find your option name without reading prose.
- Cross-references use VitePress relative paths. If a link points somewhere that doesn't exist yet, it's a known gap.
- Concrete decision rules ("use X when…, Y when…") sit alongside the option references. Reach for them when in doubt.
