sachaos/viddy
56.7
Adequate · 30 September 2026
5k
lines of production code
Rust
primary language
2
measurements over time
What this system is
Viddy is a modern terminal-based replacement for the standard \watch\ command that executes commands periodically and displays the output in a rich, interactive interface. It provides features such as color-coded diff highlighting, dynamic polling interval adjustment, and a 'time machine' mode for browsing historical command outputs. The system persists execution history locally using SQLite and supports extensive customization through configuration files for keybindings, styles, and timing parameters.
Features
Initial configuration file for keybindings, styles, and interval settings
A new \.config/config.json5\ file has been added to allow users to customize the application's behavior and appearance. Users can now define custom keybindings for navigation, search, and help modes, adjust visual styles such as text colors and borders, and configure the time-machine interval step and minimum interval in milliseconds.
.config · high confidence
Initial release of Viddy, a modern watch command
Viddy is introduced as a modern replacement for the standard \watch\ command, offering features such as periodic command execution with color output, diff highlighting, a 'time machine' mode to rewind and fast-forward through history, and a pager view. The release includes installation instructions for Cargo, Homebrew, Linux binaries, and various package managers (pkg.haus, MacPorts, Scoop, ArchLinux AUR, Alpine Linux, asdf), along with documentation for customizable keymaps, color themes, and configuration options like disabling shell execution or mouse capture.
(repo-wide) · high confidence
Introduce time-machine history navigation and configurable polling intervals
The application now features a 'time-machine' mode that allows users to browse and inspect past command executions via a new History component, alongside a new Clock component for displaying the current time. Users can also adjust the polling interval dynamically using the new Interval component, which supports configurable step sizes and minimum interval limits. The main Home layout has been restructured to accommodate these new UI elements, including a Help component for keybinding reference and an FpsCounter for performance monitoring.
src/components · high confidence
Behavioural changes
Introduce configurable interval timing and tab normalization
Users can now adjust the polling interval dynamically using new keybindings to increase or decrease the step, with a configurable minimum interval enforced via the new \min\_interval\_ms\ and \interval\_step\_ms\ settings in the general configuration. Additionally, the application now normalizes standard output by converting tabs to spaces while maintaining elastic alignment per line, ensuring consistent visual formatting regardless of terminal tab settings.
src · high confidence
Store implementation moved to memory.rs and SQLite backend secured with owner-only permissions
The in-memory store logic has been extracted into a dedicated memory.rs module, while the SQLite store implementation in sqlite.rs now creates the database file with owner-only (0o600) permissions on Unix systems before opening it, ensuring that backup files are not world-readable.
src/store · high confidence
Dependencies
Initial release of viddy v1.3.1
This change introduces the initial version (v1.3.1) of the \viddy\ package, a modern watch command tool. The diff establishes the project's dependency manifest (\Cargo.toml\) and lockfile (\Cargo.lock\), defining the core library requirements such as \clap\ for CLI argument parsing, \ratatui\ and \crossterm\ for the terminal user interface, \rusqlite\ for local data storage, and \tokio\ for asynchronous execution. It also includes build-time dependencies like \vergen\ to embed build and git information into the binary.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 56 → 57 (+1.1)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 90 → 90 (+0.0)
- Architecture 100 → 95 (-5.2)
- Maturity 44 → 39 (-4.9)
- Readiness 59 → 61 (+1.9)
- Security 51 → 67 (+16.0)
- Event Sourcing 100 → 100 (+0.0)
- Performance 100 (new)
Resolved (1)
- Documentation: no architecture or design documentation (README.md)
New (21)
- Medium advisory (unsound): RUSTSEC-2026-0306 (Cargo.lock)
- Outdated: anstyle
- Outdated: chrono
- Outdated: clap
- Outdated: color-eyre
- Outdated: dissimilar
- Outdated: futures
- Outdated: human-panic
- Outdated: humantime
- Outdated: libc
- Outdated: log
- Outdated: serde
- Outdated: serde_json
- Outdated: serde_with
- Outdated: strip-ansi-escapes
- Outdated: tempfile
- Outdated: tokio
- Outdated: tokio-util
- Outdated: tracing
- Outdated: tracing-error
- …and 1 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
sachaos/viddy was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 30 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit b56efe0876f255ade025d6b77fb9f3f30099675b — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-505904ce13c1.