Hi @jimLee.
GitHub should not "mind".
GitHub is a web service. The web service doesn't know or care anything about the files on your computer. So it seems that you must be referring to something other than the GitHub web service, such as a local application.
Please provide a detailed description of what you mean by "GitHub". Are you perhaps referring to the GitHub Desktop local Git client application? Or are you referring to something else.
Please provide a detailed description of what you mean by "rename them all Arduino repositories".
When it comes to a library, just initialize a Git repository in the root of the library folder:
(you can perform the initialization via a Git client if you prefer working from a GUI instead of using Git directly from the command line)
For developing a sketch project, I do recommend a structure like this:
MySketch/
├── .git/
│ │
│ ...
├── MySketch/
│ ├── Additional.ino
│ ├── MySketch.ino
│ ...
├── LICENSE.txt
├── README.md
...
Note that I have placed the sketch inside a dedicated parent folder, and the root of the repository is that parent folder. The reason for placing the sketch in a subfolder of the repository of the repository is to facilitate the use of the sketch by people who obtain it via GitHub's GitHub's "Download ZIP" feature, or from the archive download links that GitHub automatically adds to the "Assets" section of the release page.
For someone contributing to the development of the project, a local copy of the project would be obtained by cloning the repository. However, for someone who only wants a copy of the sketch to use, and who might not use Git often if ever, just downloading a ZIP archive of the files will be much more convenient. When you use the "Download ZIP" feature, the ZIP package you get has a root folder named with the format <repository name>-<Git ref>, where <Git ref> is the Git ref for the revision of the repository at which the ZIP package was generated. This is a problem for repositories where the sketch is the root of the repository because the primary .ino file of the sketch must have a name matching the folder. So if you don't place the sketch in a subfolder of the repository, the ZIP package will contain an invalid sketch
When a user opens a sketch in Arduino IDE, if there is a mismatch between the folder and filename, it displays a dialog explaining that the sketch is not valid, and offering to move the file to an appropriately named folder:
It seems like clicking the "OK" button in that dialog would solve the problem, and in fact it does in the case of a sketch that only contains a single .ino file. However a sketch may contain multiple code files. This feature only moves the single .ino file the user selected when opening the sketch to the appropriately named new folder, leaving behind any other files that might have been present in the original path. That breaks multi-file sketches.
By storing the sketch in a subfolder of the repository, you ensure that the sketch will always have a correct folder name.