Tagm
Small tool to associate tags to files.
This gem was not tested on Windows; use at your own risks.
Community
Installation
gem install tagm
Tagm relies on the TAGM_DB_PATH
environment variable, so you should export it from your .bashrc or similar file:
export TAGM_DB_PATH=$HOME/.config/tagm_database.sqlite3
Create the database:
tagm create_database
Usage
See all options and help on commands with:
# Commands list
tagm
# Help on a specific command
tagm help tag
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can
also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the
version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version,
push git commits and the created tag, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on Gitlab at https://gitlab.com/experimentslabs/tagm. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Tagm project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
Gem story
I was searching for a tool to manage files with tags instead of directories; and I then found TMSU, which provides taggings and the ability to mount tags as directories with Fuse. Sadly, the project did not move since 11/2022.
So why not?
If you dig a bit in the code, you'll see we don't use any ORM for accessing SQLite database. This was primarily intended as an exercice, as I have not written any SQL statement in ages. I'm OK to change this :)