Entry two:
File organization is a crazy thing. I have to give myself some credit for planning ahead on it, but unfortunately, those plans are usually in the shorter end of long term. Like the Sorcerer project, for example. My files are relatively well-organized, except for the fact that many of its components were thought up as I went along, so I ended up with various new categories/sections of folders to organize stuff within, resulting in something that would be pretty hard to tabulate in a list of files. In other words, were I to (for some reason) want to gather together all of the mod's files that are currently being used and put them in a package file, I would undoubtedly miss something.
Somewhere along the line, I adopted a practice of renaming a folder with "DONT-USE-" at the beginning of its name if it became something I'm no longer using (or I couldn't get it to work), but I don't think I'd adopted that yet when I started work on the Sorcerer mod. So I have a lot of folders that are out of date (or could be out of date) that I'd need to review and re-organize, to make sure I know what all is supposed to go into the mod. This gives me concerns about if the pet patch does any kind of sweeping changes to species code that would require me to revise a lot of files. I'd probably have to just go through the package file for the most up-to-date version of the mod and make a checklist of all the files that need to be reviewed.
Vision is 20/20 in hindsight. This is what happens when you make things up as you go along.
On the bright side, at least there is some organization. As long as I know what I'm looking for, it's not that hard to find stuff and making changes isn't that difficult either. Relatively early on in modding for this game I made my way into a naming system where I put a shorthand name for the file at the front of its name and then part of the ID at the end (and in its own folder too).
For example, I have an ability called Dry Out. Its files go in a folder called DryOut. It only requires the one XML file, so I don't need folders within folders for this one. I then name it as such, when I'm in the process of creating it: dry-out-immediate-1--S4_E882D22F_00000000_
I don't have a consistent naming structure for the first part (I just try to go with something shorthand that will be easily recognizable -- the actual name within the XML file is what's going to be seen when editing it, so I care more about making that recognizable). The second part I have there, so that most of the game ID is already in the name. The package file is not going to recognize the file unless it's named in the right way. Dry Out is an interaction, so it'll have E882D22F. Then 00000000 because it's base game and a mod, not Maxis-made expansion files. And then when I've got the unique ID ready, the part that goes at the end, I can just past it in it at the end, delete the "dry-out-immediate-1--" part and my file is ready to be saved and used.
Then the contents of my folder will look something like this:
dry-out-immediate-1--S4_E882D22F_00000000_
S4_E882D22F_00000000_E050FFCE396718A6
I can make changes to the package-ready version (S4_E882D22F_00000000_E050FFCE396718A6) and then save iterating copies, for making changes:
dry-out-immediate-2--S4_E882D22F_00000000_
dry-out-immediate-3--S4_E882D22F_00000000_
dry-out-immediate-4--S4_E882D22F_00000000_
Etc.
This is a lifesaver when I'm experimenting and trying to make something work that is having issues. I can try various approaches, while still having backups of old attempts.