{"id":26475750,"url":"https://github.com/glitchybyte/tanuki","last_synced_at":"2025-03-19T23:45:06.137Z","repository":{"id":214547272,"uuid":"736757696","full_name":"GlitchyByte/tanuki","owner":"GlitchyByte","description":"Utility for watching directories and running actions when they change.","archived":false,"fork":false,"pushed_at":"2024-04-21T12:35:58.000Z","size":342,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-01T09:44:10.079Z","etag":null,"topics":["cpp","directory-watcher"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GlitchyByte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":["GlitchyByte"],"custom":["https://paypal.me/GlitchyByte"]}},"created_at":"2023-12-28T19:40:04.000Z","updated_at":"2024-04-21T12:36:01.000Z","dependencies_parsed_at":"2024-01-07T21:29:28.084Z","dependency_job_id":"ef4e7495-c4b6-4641-a734-8d58a2fbf760","html_url":"https://github.com/GlitchyByte/tanuki","commit_stats":null,"previous_names":["glitchybyte/tanuki"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GlitchyByte%2Ftanuki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GlitchyByte%2Ftanuki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GlitchyByte%2Ftanuki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GlitchyByte%2Ftanuki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GlitchyByte","download_url":"https://codeload.github.com/GlitchyByte/tanuki/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244525553,"owners_count":20466543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cpp","directory-watcher"],"created_at":"2025-03-19T23:45:05.348Z","updated_at":"2025-03-19T23:45:06.126Z","avatar_url":"https://github.com/GlitchyByte.png","language":"C++","funding_links":["https://github.com/sponsors/GlitchyByte","https://paypal.me/GlitchyByte"],"categories":[],"sub_categories":[],"readme":"# tanuki\n\n![Version](https://img.shields.io/badge/Version-2.1.0-blue)\n\nUtility for watching directories and running actions when they change.\n\nThe utility can be used in immediate mode and directly watch and run an action, or with a json config file that allows you to have modules with directory groups and an action each.\n\n## Use it!\n\n    tanuki \u003crun|watch\u003e [config_file]\n    tanuki -i watch_dir [action]\n\n    run         Runs actions in all modules.\n    watch       Watches modules for changes and runs actions on them.\n    config_file Tanuki config file. If empty, \"tanuki.json\" in the current\n                  directory is used.\n    -i          Immediate mode. In this mode tanuki watches a single directory and\n                  runs the action when it is modified. if no action is specified\n                  it simply exits.\n    watch_dir   Directory to watch.\n    action      Action to run when directory is modified.\n\n    Tanuki json configuration file schema is as follows:\n      {\n        \"modules\": [\n          {\n            \"name\": \"My module name\",\n            \"rootDir\": \"path/to/module\",\n            \"watchDirs\": [\n              \"watched1\",\n              \"subdir/watched2\"\n            ],\n            \"action\": \"echo 'This will run in rootDir.'\"\n          }\n        ]\n      }\n\n## Get it!\n\nIt is highly recommended that you build it yourself on your platform.\n\nIf you want a pre-compiled binary for macOS, Windows, or Ubuntu, check the [latest release](https://github.com/GlitchyByte/tanuki/releases).\nThese are built using GitHub Actions on GitHub Runners.\n\n## Build it!\n\nClone this repo. Then:\n\n    ./build MinSizeRel clean\n\n### Receive your tasty binary!\n\nAfter building, `tanuki` executable is in the `code/bin` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglitchybyte%2Ftanuki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglitchybyte%2Ftanuki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglitchybyte%2Ftanuki/lists"}