A Rust clone of doing by Brett Terpstra — a command line tool for remembering what you were doing and tracking what you've done. doing.aaronmallen.dev
doing docs site deviations.md
3.3 kB · 45 lines
Markdown
at main

Deviations from the Original #

This project is a ground-up Rust rewrite of Brett Terpstra's doing. While it aims for full compatibility with the original Ruby implementation, there are intentional differences driven by Rust ecosystem conventions, architectural constraints, and practical improvements.

Each deviation is documented as a formal record in the repository. The full details, rationale, and migration notes for every deviation are available at:

github.com/aaronmallen/doing/tree/main/docs/deviations

Summary of Deviations #

ID Title What Differs
DEV-0001 Configuration Format Defaults to TOML at XDG path instead of YAML
DEV-0002 Hyphenated Command Names Uses hyphens instead of underscores
DEV-0003 fzf Not Auto-Installed Never installs software on your behalf
DEV-0004 JSON Output Structure Top-level array of section objects
DEV-0005 No config update/refresh Missing keys filled from compiled-in defaults
DEV-0006 update Is Self-Update Updates the Rust binary, not a Ruby gem
DEV-0007 No help -c Compact Flag Help generated by clap, no compact mode
DEV-0008 select Uses --no-menu Not --force Clearer name for non-interactive batch mode
DEV-0009 select -F for --finish -f taken by global --doing-file
DEV-0010 --quiet Has No -q Short Flag -q assigned to select --query
DEV-0011 --age Has No -a Short Flag -a used by tag --autotag
DEV-0012 redo --file Has No -f Short Flag Global -f conflict
DEV-0013 completion generate --file No -f Global -f conflict
DEV-0014 Config Home Uses Platform-Native Path ~/Library/Application Support on macOS, not ~/.config