Changelog¶
All notable changes to Straw will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
Added¶
- Initial documentation site with MkDocs
- Comprehensive user guides and reference documentation
1.0.0 - 2024-XX-XX¶
Added¶
- Initial release of Straw file automation system
- Background daemon (
strawd) for filesystem monitoring - Interactive TUI client (
straw) for real-time monitoring - Rule-based file processing engine
- Support for glob and regex pattern matching
- File attribute matching (extension, size, age, hidden)
- Four action types: move, copy, trash, shell
- Cross-platform support (Linux, macOS, Windows)
- JSON-RPC IPC over Unix sockets
- Live configuration reloading
- Systemd service support on Linux
- Interactive Rule Wizard in TUI
- Event logging and monitoring
- Multi-directory watching with recursive support
Features¶
Daemon (strawd)¶
- Filesystem watching using fsnotify
- Rule evaluation and action execution
- Configuration management
- IPC server for client communication
- Signal-based configuration reloading
- Comprehensive logging
TUI Client (straw)¶
- Real-time event monitoring
- Rule management interface
- Interactive Rule Wizard
- Configuration editing
- Status monitoring
- Keyboard-driven interface
Configuration¶
- TOML-based configuration
- Platform-specific default paths
- Watch directory configuration
- Rule definition with multiple criteria
- Multiple actions per rule
Actions¶
move: Move files to target directorycopy: Copy files to target directorytrash: Move files to system trashshell: Execute custom shell commands
IPC API¶
- JSON-RPC 2.0 protocol
- Methods: GetStatus, GetEvents, GetRules, AddRule, RemoveRule, EnableRule, DisableRule, ReloadConfig, GetWatches, TriggerAction
- Unix Domain Sockets (named pipes on Windows)
Platform Support¶
- Linux with systemd integration
- macOS with launchd support
- Windows 10 1803+ with Task Scheduler support
Performance¶
- Minimal resource footprint (~7MB RAM, <0.1% CPU idle)
- Efficient event-driven architecture
- Concurrent action execution
- Scalable to hundreds of watched directories