chmln/sd
60.5
Adequate · 29 September 2026
1.3k
lines of production code
Rust
primary language
2
measurements over time
What this system is
This system is a command-line search-and-replace tool implemented in Rust, designed for efficient text processing. It features line-by-line streaming to minimize memory usage, supports in-place file editing, and allows reading from or writing to standard input. The project is structured as a Cargo workspace with automated generation of shell completions and documentation.
Features
Automated generation of shell completions and man pages
The xtask tool now includes a 'gen' command that automatically generates shell completion scripts and a man page for the sd CLI. This change moves the responsibility of creating these static assets from manual processes to an automated build step, ensuring that documentation and shell integrations are always up-to-date with the current command-line interface definitions.
xtask · high confidence
Introduce sd CLI with line-by-line streaming and in-place editing
The sd-cli package now provides a command-line tool for search-and-replace operations. It defaults to line-by-line processing for memory efficiency, supports in-place file modification, and allows reading from or writing to standard input. Users can control behavior via flags such as \-p\ for preview mode, \-F\ for literal string matching, and \-A\ to process files across line boundaries.
sd-cli · high confidence
Behavioural changes
Rewrite of core CLI architecture and replacement engine
The application's internal structure has been completely overhauled to improve efficiency and maintainability. The previous monolithic modules for application logic, error handling, and input streaming (app.rs, error.rs, input.rs, main.rs) have been removed and replaced with a new, modular implementation. This change introduces a more efficient pipeline for multi-file replacements, switches the CLI argument parsing library from structopt to clap v4, and adopts a custom error type for better error management. Users will experience these changes as a more robust and performant replacement tool, although the specific command-line interface details are defined in other parts of the codebase.
src · high confidence
Switch to line-by-line processing by default to reduce memory usage
The tool now processes files line-by-line by default, streaming content without loading entire files into memory. This change improves performance and reduces memory consumption when handling large files, while maintaining the same replacement logic and output behavior for users.
sd · high confidence
Dependencies
Migration to Rust 2024 edition and workspace restructuring
The project has been restructured into a Cargo workspace containing the core library (sd), the CLI binary (sd-cli), and a build task runner (xtask). This change upgrades the Rust edition to 2024 and bumps the minimum supported Rust version to 1.86.0. Key dependencies have been updated, including the CLI argument parser (clap) to version 4.4.6 and the regex engine to 1.10.2, while the package name and repository URLs have been updated to reflect the 'sd' project identity.
(dependencies) · high confidence
Housekeeping
Updated shell completions and man page for sd 1.0.0
The generated assets in the gen directory have been updated to reflect the sd 1.0.0 release. This includes new shell completion scripts for Zsh, PowerShell, Bash, Elvish, and Fish, as well as a new man page (sd.1). These files document the current command-line interface, including options such as --preview, --fixed-strings, --max-replacements, --flags, and --across, ensuring that users receive accurate tab-completion and documentation for the tool's features.
gen · 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 64 → 60 (-3.8)
- Rubric changed (rubric-2026.09.9 → rubric-2026.09.17) — scores are not directly comparable.
Lenses
- Code Health 96 → 96 (+0.0)
- Architecture 100 → 98 (-2.4)
- Maturity 56 → 56 (+0.0)
- Readiness 65 → 50 (-15.1)
- Security 60 → 73 (+13.3)
Resolved (2)
- Documentation: no installation or build instructions (README.md)
- Off-boarding risk: anonymized user #1
New (5)
- Off the main sequence: sd
- Off-boarding risk: anonymized user #1
- Outdated: clap_complete
- Outdated: rayon
- Outdated: regex
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
chmln/sd 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 29 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 44febdf86343c653255ae4f20f5e1882dad6be17 — the exact code this score is about.
- Scored under rubric-2026.09.17 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-705631bb727e.