{"id":14156285,"url":"https://github.com/vv9k/wutag","last_synced_at":"2026-01-12T08:07:00.192Z","repository":{"id":48202201,"uuid":"343542282","full_name":"vv9k/wutag","owner":"vv9k","description":"CLI Tool for tagging and organizing files by tags.","archived":false,"fork":false,"pushed_at":"2022-09-29T11:50:31.000Z","size":514,"stargazers_count":40,"open_issues_count":4,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-09T03:36:29.197Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vv9k.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-01T20:06:20.000Z","updated_at":"2024-10-14T15:39:10.000Z","dependencies_parsed_at":"2023-01-18T20:01:58.302Z","dependency_job_id":null,"html_url":"https://github.com/vv9k/wutag","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/vv9k/wutag","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vv9k%2Fwutag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vv9k%2Fwutag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vv9k%2Fwutag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vv9k%2Fwutag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vv9k","download_url":"https://codeload.github.com/vv9k/wutag/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vv9k%2Fwutag/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28337116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-17T08:05:20.912Z","updated_at":"2026-01-12T08:07:00.166Z","avatar_url":"https://github.com/vv9k.png","language":"Rust","funding_links":[],"categories":["others","\u003ca name=\"file-system\"\u003e\u003c/a\u003eFile systems"],"sub_categories":[],"readme":"# wutag 🔱🏷️ \n[![master](https://github.com/vv9k/wutag/actions/workflows/master.yml/badge.svg)](https://github.com/vv9k/wutag/actions/workflows/master.yml)\n\nCLI tool for tagging and organizing files by tags.\n\n## Install\n\nIf you use arch Linux and have AUR repositories set up you can use your favourite AUR manager to download `wutag`. For example with `paru`:\n - `paru -S wutag`\n - or latest master branch with `paru -S wutag-git`\n\nIf you're on another Linux distribution or MacOS you can download one of the prebuilt binaries from [here](https://github.com/vv9k/wutag/releases).\n\nTo build manually you'll need latest `rust` and `cargo`. Build with:\n - `cargo build --release --bins`\n\n## Daemon\n\nWutag works in a client-server architecture with a daemon running in a background. If you install **wutag** from package like RPM or DEB it should automatically install the systemd service for you.\n\n### Linux\n\nIf **wutag** was built manually, install the [example service](https://github.com/vv9k/wutag/blob/master/example/wutagd.service) to `/etc/systemd/user/`\n\nTo enable the daemon run:\n```shell\n    $ systemctl --user daemon-reload\n    $ systemctl --user enable --now wutagd.service\n```\n\nOr start the daemon manually with:\n```shell\n    $ /usr/bin/wutagd\n```\n\n### Mac OS\n\nTo install wutag on MacOS download the static build of latest version from [releases page](https://github.com/vv9k/wutag/releases) and copy the binaries to `/usr/local/bin`. Last step is to copy the service definition `com.wutag.wutagd.plist` to `~/Library/LaunchAgents` and load it:\n```shell\n    $ launchctl load ~/Library/LaunchAgents/com.wutag.wutagd.plist\n    $ launchctl start com.wutag.wutagd\n```\n\n## Usage\n\nBy default each tag will be assigned with a random color from 8 base colors (either bright or normal so 16 colors in total). You can later edit each tag by using `edit` subcommand like this:\n - `wutag edit school --color 0x1f1f1f`\n - or `wutag edit code --color '#ff00aa'`\n - or `wutag edit work --color FF0000`\n - The colors are case insensitive\n\nTo set a tag on multiple files use the `set` subcommand:\n - `wutag set src/lib.rs src/main.rs --tags code`  \nThe `set` subcommand can also be used with a pattern like this:\n - `wutag set -g '**' -t rust code`\n\nTo get the tags of some entries use:\n - `wutag get src/lib.rs src/main.rs`\n\nThe `rm` subcommand removes specified tags from the list of files. It behaves similarly to the `set` subcommand:\n - `wutag rm src/lib.rs src/main.rs -t code`\n - `wutag rm -g '**' -t rust code`\n\nThere is also `clear` that clears all tags from the specified files like so:\n - `wutag clear files Cargo.toml`\n - `wutag clear files -g '**'`  \nOr clears the tags entirelly untagging all entries:\n - `wutag clear tags rust code`\n\nWhen using glob processing, default recursion depth is set to *2*. To increase it use `--max-depth` or `-m` global parameter. For example:\n - `wutag -m 5 set -g '**' -t trash`\n\nAfter tagging your files with `set` like:\n - `wutag set -g '**/*.jpg' -t photos`\n - `wutag set -g '**/DCIM_12*' -t doge`  \nyou can easily get the list of files with specified tags by doing `wutag search photos doge`. \n\nThe output of the `search` subcommand can easily be piped to other programs:\n - `wutag search --any cat doge | xargs rm -rf  # please don't do this :(`. \n\nWhen `--any` flag is provided as in the example `wutag` will match files containing any of the provided tags rather than all of them.\n\nIf you are into emojis then surely you can use emojis to tag files 🙂 `wutag set -g '*.doc' -t 📋`\n\n## Configuration\n\n`wutag` lets you configure base colors used when creating tags or modify other settings globally. To do this create a file `wutag.yml` in your config directory (on unix **XDG_CONFIG_DIR**) like `~/.config/wutag.yml`.\n\nExample configuration:\n```yaml\n---\nmax_depth: 100\npretty_output: true\ncolors:\n- '0xabba0f'\n- '#121212'\n- '0x111111'\n```\n\n## Tab completion\n\nTo get tab completion use `wutag print-completions \u003cshell\u003e \u003e /path/to/completions/dir/...` to enable it in your favourite shell.  \n\nAvailable shells are:\n - `bash`\n - `elvish`\n - `fish`\n - `powershell`\n - `zsh`\n\n To enable completions on the fly use:\n - `. \u003c(wutag print-completions bash)`\n\n\n## License\n[MIT](https://github.com/vv9k/wutag/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvv9k%2Fwutag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvv9k%2Fwutag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvv9k%2Fwutag/lists"}