A small, fast command-line toolkit for everyday developer tasks on macOS — git workflow helpers, GitHub repo setup, local networking, secret generation, educational YouTube download, and self-updates.
Instead of juggling several one-off scripts and long git/gh invocations, d wraps the most common actions into short, memorable commands:
d push your message hered download youtube and d download music (For educational purposes only.); d install yt-dlp if you want the tools firstd update pulls the latest GitHub release (version check + SHA-256)Built in Rust with a size-optimized release profile.
curl -fsSL https://dcli.dezso.hu/install.sh | bash
Verify:
d version
# or
d --help
You can also download binaries from the GitHub Releases page (d binary or d-installer.pkg).
Stages everything, commits, and pushes the current branch in one step:
d push add login screen
| Command | What it does |
|---|---|
d git setup |
Interactive setup: ensures gh is installed/authenticated, configures user.name / user.email, creates a public or private GitHub repo (optional org), or overwrites an existing one after moving old remote code to a backup/pre-setup-* branch |
d git fix |
Untracks files that are listed in .gitignore but still tracked in the index |
d git update |
git pull origin <current-branch> |
Checks GitHub Releases, downloads only if a newer version exists, verifies the SHA-256 checksum, and replaces the running binary (with sudo if needed):
d update
Prints your machine’s LAN IP (useful for local servers / device testing):
d ip
Thin wrappers around OpenSSL (plus UUID v4):
d gen hex # 32 bytes → hex
d gen hex 64
d gen base64 # 32 bytes → base64
d gen base64 64
d gen uuid
d gen password # 24 characters
d gen password 32
Apply a small set of sensible Finder / Dock / menu bar defaults:
d macos start # battery %, Finder path/status bar, hidden files
d macos dock # auto-hide Dock
d macos flushdns # flush DNS cache (sudo)
d macos reset # undo `d macos start`
For educational purposes only.
Downloads a YouTube video with yt-dlp. After the URL you pick quality (270p, 480p, 720p, 1080p, 1440p; default 1080p), then a native macOS folder picker. The filename comes from the video title.
Install yt-dlp and ffmpeg in one step (Homebrew, no prompt):
d install yt-dlp
d download youtube installs them the same way if they are missing.
d download youtube
d download youtube --quality 720p
d download youtube https://www.youtube.com/watch?v=...
For educational purposes only.
Downloads audio as MP3 from YouTube, YouTube Music, or Spotify links. After the URL you pick bitrate (128k, 192k, 256k, 320k; default 320k), then the folder picker.
Spotify cannot be ripped from Spotify’s own files; spotdl matches the track and downloads it from YouTube (installed automatically with pipx if needed). d download music also installs yt-dlp / ffmpeg via Homebrew when missing.
d download music
d download music --quality 320k
d download music https://music.youtube.com/watch?v=...
d download music https://open.spotify.com/track/...
Supported languages: en (default), hu, de, es, it, zh, ru, uk.
Detection order:
--lang / -LD_LANG environment variableLC_ALL → LC_MESSAGES → LANGAppleLocaled --lang hu
d -L de ip
D_LANG=zh d git --help
Help text, prompts, and command messages are all localized.
| Command | Description |
|---|---|
d / d help |
Show help (same as d --help) |
d version |
Print CLI version |
d ip |
Print local (LAN) IP address |
d push <message…> |
git add -A + commit + push current branch |
d update |
Install latest version from GitHub Releases (checksum-verified) |
d git setup |
Interactive git + GitHub repo setup via gh |
d git fix |
Remove ignore-but-tracked files from the index |
d git update |
Pull latest changes for the current branch |
d gen hex [n] |
Random hex (openssl rand -hex, default n=32) |
d gen base64 [n] |
Random base64 (openssl rand -base64, default n=32) |
d gen uuid |
Random UUID v4 |
d gen password [n] |
Random password (default n=24) |
d macos start |
Apply initial macOS Finder / menu bar tweaks |
d macos dock |
Auto-hide the Dock |
d macos flushdns |
Flush the DNS cache |
d macos reset |
Undo d macos start |
d install yt-dlp |
Install yt-dlp and ffmpeg via Homebrew |
d download youtube [url] |
Download a YouTube video (270p–1440p). For educational purposes only. |
d download music [url] |
Download audio from YouTube / YouTube Music / Spotify (128k–320k). For educational purposes only. |
--lang / -L |
Force UI language |
--authors |
Print author name |
--doc |
Print documentation URL |
# Everyday workflow
d push fix typo in readme
d git update
d update
# New project → GitHub
cd my-app
d git setup
# Cleanup after editing .gitignore
d git fix
d push untrack ignored files
# Utilities
d ip
d gen hex 64
d gen uuid
d gen password 32
d macos start
d install yt-dlp
d download youtube
d download music
Requires Rust 1.85+ (edition 2024). A rust-toolchain.toml pins stable via rustup.
cargo test
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo build --release
cargo run -- --help
./build-pkg.sh # builds d-installer.pkg for macOS (not committed)
Tagged releases (v*) are built by GitHub Actions and published with a d.sha256 checksum.
CLI parsing uses clap.