I updated my source code as a Laravel package.
Using namespace will resolve the issue with controller@method uniqueness. Also, it’s a good idea to use route names, but the name is not a necessary attribute of routes.
In my Laravel permission package, I store both of them. In the next versions, I may check for both the name and the action.

Also, I added two commands to regenerate permissions every time you add a new route or updated your controller structure or routes.
Here is the package:

Making Impacts using Information Technology

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store