# Tagga Originially file systems did not have any hierarchy. All Files were just kept in a plain list. Some people found that limiting and created trees of folders. Other people considered files to be the wrong abstraction and used databases instead. Tagga is a bit of a middle ground. Instead of sorting files into a tree of folders, they are tagged with a number of attributes. For retrieval they can be filtered, much like a SELECT ... WHERE statement does. This idea is backwards-compatible, as the path can just be an tag. Right now its just a prototype to explore the ideas viability. It uses a database for storing the tags, and a folder to store the files. In the future it would be nice to have an in-kernel implementation. It would then need to store the tags in the file system (hard) and the files would just become inodes (easy) # Contributing Please symlink the hooks to your local .git/hooks/ directory to run some automatic checks before committing. ln -s ../../hooks/pre-commit .git/hooks/ Please install rustfmt and cargo-sync-readme so these checks can be run. rustup component add rustfmt cargo install cargo-sync-readme Please execute `cargo-sync-readme` when you change the top-level-documentation. Please run `cargo fmt` whenever you change code. If possible configure your editor to do so for you.