Type Safety
Register your resources once, and every source, filter and key is checked.
Chelone compiles loose. One file of registration is what turns a source from a plain string into a checked path.
One declare module block tells Chelone your resources, permissions and message catalog. Every typed source, hook and component reads it.
defineResources builds the resource map, RecordOf reads a record type out of it, and chelone-supabase writes the map from your database.
How a component's source narrows to one resource's record, and createResourceComponents, the factory that binds a resource into every field, input and view.
How a data hook or composable gets its record type, what createCheloneHooks binds, and which hooks the registry never reaches.
The path grammar behind source, and the keys filters and sort buttons take.
What Register.messages and Register.permissions do to translate, useTranslate and usePermissions.
Every fallback that keeps an app compiling before and after registering, what each one gives up, and what the checks cost an editor.