WordPress has recommended to have the filename similar to the name of the plugin. There is no other information about the hierarchy of filenames of a WordPress Plugin. Also I don’t find plugins following any rule for naming the file which initialises the WordPress plugin.
Most of the plugins use the filename as my-custom-plugin.php. Some plugins use the filename as my_custom_plugin.php, some as bootstrap.php and some as loader.php. And I even saw one plugin having filenames like my-custom-plugin.php and loader.php, where loader.php initialises the plugin not my-custom-plugin.php.
How it works? How WordPress looks for the file which initialises the plugin?