A lightweight, blazingly fast file watcher that auto-executes commands on file changes using YAML configuration or stdin.
Funzzy is a lightweight, blazingly fast file watcher written in Rust that automatically executes commands when files change. It solves the problem of manually running repetitive tasks like tests, linters, or builds by automating them based on file system events, similar to setting up local GitHub Actions workflows.
Developers and DevOps engineers who want to automate local development workflows, such as running tests, linters, or builds automatically on file changes without relying on external CI services.
Developers choose Funzzy for its speed, simplicity, and flexible YAML-based configuration that supports complex multi-step workflows, command templating, and efficient task management, all in a lightweight Rust binary.
A lightweight blazingly fast file watcher.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built in Rust, Funzzy is lightweight and executes commands quickly, as emphasized in the motivation section for speed and efficiency in local workflows.
Allows defining complex multi-step workflows with patterns, ignores, and conditional execution in a clear .watch.yaml file, supporting everything from simple tests to CI-like automation.
Injects file paths into commands using placeholders like {{relative_path}}, making it easy to handle dynamic file names in scripts, as shown in the examples with npm and git commands.
Cancels long-running tasks when new changes occur, keeping workflows responsive and saving time on redundant executions, a feature highlighted in the options and testing sections.
Features like task filtering by tags are marked as experimental in the README, which could lead to instability or breaking changes in future updates.
As noted in troubleshooting, editors like VIM can cause multiple triggers due to backup files, requiring manual ignore rules and extra configuration to avoid false positives.
For advanced workflows, such as extracting commands from GitHub Actions, it relies on tools like yq, adding complexity and potential points of failure outside Funzzy's control.