In this system that I am making up, a "folder" is just a GUI way of opening up a list of items with some search query. I can make a new folder "amber" and when I open it for the first time it is populated with all the files that contain the word "amber" in the file or metadata. I can make a subfolder in "amber" called "image" that contains all the images that also contain the word "amber" in the file or metadata. I can use this spatial way of accessing my data, or I can use a
Spotlight- or
Beagle-style interface. If I use the spatial method, I can create a new document in my "amber" folder which automatically gets tagged "amber" upon creation.
You could also include tags in the "folder" in addition to files and data. The tags would essentially become new "folders". So, if I made an "ssh2" folder, it might have the ssh config files, the ssh binaries, and the "etc," "usr," and "bin" folders. If I double click on the "etc" folder, then it shows me just the config files because only those are tagged both "etc" and "ssh2".
The same system would work for the command line as well.