You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The contract every next-gen package uses to ship default permissions and policies: e.g. Permissions::register('exports', ['view_exports' => 'View exports', …]) in a service provider, grouped by model/package, with translatable descriptions, plus a sync command / seeder (php artisan permissions:sync) that creates them and attaches defaults to roles. Publish it early and tell the orchestrator, since other packages build on it.
Done on next-gen (c50699a). The API summary for other packages is on the epic: #14 (comment). The docs are docs/basic-usage/registering-permissions.md and syncing-permissions.md.
Decisions:
The group is stored in the existing permissions.model column, so v2 data keeps working.
Descriptions and labels are English strings used as translation keys (JSON lang files), so the database stays readable.
The sync only adds permissions to pattern roles and group grants; only '*' roles are synced exactly. This way, a deploy never undoes what an admin set on the role form.
--prune only touches registered groups, so permissions an app created by hand are safe.
Activity
Add the permission and policy registration API
Document v3 for people and agents; add the Boost guideline and skill
n4ff4h commentedon Nov 4, 2026
Done on
next-gen(c50699a). The API summary for other packages is on the epic: #14 (comment). The docs aredocs/basic-usage/registering-permissions.mdandsyncing-permissions.md.Decisions:
permissions.modelcolumn, so v2 data keeps working.'*'roles are synced exactly. This way, a deploy never undoes what an admin set on the role form.--pruneonly touches registered groups, so permissions an app created by hand are safe.