The api-crud.php library exposes, under /_api/{modulo}/, paginated listing, read, create, PUT/PATCH, delete, status toggle, and clone for modules that declare api.crud in their own {modulo}.json. Exposure is opt-in, and every read and write field goes through an allowlist. The route requires the profile to be linked to the module in usuarios_perfis_modulos, on top of the operation permission, and checks the token scope (read for GET, write for the rest). Updates use If-Match and answer 409 when the version changed. admin-categorias was the first module enabled.
In the build, the per-resource Tailwind cache now holds across folders, worktrees, and drive letters. The automatic scan no longer reads db/data/, logs/, backups/, and temp/, and text resources are written with LF. The conflict diff also checks the file size before reading, so project:deploy no longer runs out of memory.
See the API and CSS and Tailwind.