I exclude myself from "Gurus", but possibly my answer may contain some help anyway.
Which tools You using to organize Your scripts/code snippets library?
Before we can start talking tools it needs to be defined in detail what exactly do you mean with "organize" and "library".
Every tool is meant for a special job based on a certain concept. So any tool is useless unless you define what you want to do exactly. You can pick a tool to get its concept, but in my eyes you better define your concept first and look for suiting tools, instead of starting with the tool, reorganize your machine and yourself to fit that tool, and potentially find out it was not what you wanted.
To me it seems there are at least 2 tasks:
1. You want to keep track on the different development stages of your scripts.
As
ShelLuser already pointed out for exact that are version controls: Git, Subversion, Mercurial,... - you need to pick one for yourself.
2. You want to get an overview, keep track, and organize which scripts there are, which are in use, not in use but somehow still useful, needed to be updated, are completely obsolete...(
definitions)
The most simple way like I do it since I have only some dozens self written scripts in actual use, I use directories and links. My core main tools for organizing such are cp, mv, rm, and give comprehensible filenames, even if they are long. For things frequently used in my daily production I define short aliases within my ~/.cshrc pointing at the files with (path)names telling me what's it.
I keep my 'development & experimentation area' strictly seperate from the directories which exclusively contain stuff in use in form of one release version each, only: ~/scripts_in_use/ and ~/bin
All what I don't need/use anymore I move into a directory named 'archive' (which you may also use tar and compression for.)
Organize your directories manually presupposes some discipline, but therefore it brings a lot of basic order. I know what I have, where I have it, or at least where I may look for, so to limit searches, can be sure I don't have it if it's not found in certain places, and above all have no discussions with automatic facilities which want to delete things the computer thinks he knows better what I should get rid off than myself.
One of the most important things I learned in my early computering days was:
Removing things you don't need anymore is second most important after making backups.
Especially MS Windows teaches "every sperm is useful" (Monthy Python's 'The Meaning of Life') Asking
everytime if you're really, really sure to not safe that empty default sheet you created by accident by starting a program by mistake: "It may of some use in the future. And be warned, you will lose it forever, no way to get it back ever, when you
delete it now!" Delete! "Okay, I will put it into the paper basket, for you maybe change your mind later." No! Remove it, tracelessly! Kill it! Wipe it out!
I bet a sixpack of bavarian beer there are computers out there, having directories full of identical empty files named 'untitled','untitled1', 'untitled2', 'untitled3',...
Get rid of all and any useless crap you don't need anymore the very moment you realize you don't need it anymore, or stumble over it, does not only reduce the efforts needed to organize your machine massively - do you need to order, sort, organize and archive garbage?
Otherwise sooner or later you will drown in garbage. Not finding the things anymore you have because of all the useless garbage around and above it is quite the same as not having them at all.
Anyway, cleaning up is always the very first step, even needed for a fresh start with a new tool or concept for that in any case. Maybe the job is already done with that.
If not, a more sophisticated way was to use also version control for organizing those directories.
Since a version control does not only keep track on different stages of single files, but whole directories, it can be used for helping you to organize certain directories as well, e.g. ~/my_scripts ~/bin /etc /usr/local/etc
For more complex things more detailed definitions are needed what shall be organized how in detail.
Some content management systems could also be a help, and worth a closer look.
Maybe you want/need combine those, or version control with a database. Or maybe just a simple spreadsheet does the job already for you, or you want to get your overview in another form...
What do want to be automized on what criteria? What can be automized?