drewey-decimal
A directory structure for organizing an ebook library, loosely based on the Dewey Decimal Classification, plus a shell script that creates the whole thing in one go. This isn’t really much of a project, it’s just how I changed the DDC to better fit my own library (especially technology/programming/CS books). It seems kind of silly to even make it public on GitHub, but I can imagine someone wanting to edit it for their own use.
I couldn’t decide how to organize my ebooks, and eventually decided to just use DDC. This would help me become more familiar with the system, and also I can just look up a book’s official DDC number when I can’t decide where it belongs in my library.
It isn’t strict DDC, though. The 000s, which in real DDC are a mix of “general works” and computing, have been completely redesigned for modern computing topics. Everything from 100 up follows the standard divisions: philosophy, religion, social sciences, language, science, arts, literature by original language, history by region.
The other deliberate departure is that the numbers only go two levels deep. Below that, directories are named, not numbered:
Library/000_Information_Technology/001_Foundations/Algorithms_Data_Structures
Library/000_Information_Technology/006_Security/Cryptography
Library/900_History/940_Europe/Scandinavia
That keeps the top of the tree principled and the bottom of it flexible - I can add, rename, or delete leaf directories freely without worrying about whether the numbering still makes sense.
The whole thing is one bash script that creates the tree, and it’s meant to be edited rather than run as-is. It reflects the books I have and expect to have; you’d want to delete the branches you’ll never use and add your own.
It also pairs with llm-librarian which uses a tree like this one as the fixed set of destinations it’s allowed to file books into.
The script is here on GitHub.