Make.ts
Deno/TypeScript Scripting vs Alternatives
- Several commenters see Deno (and TS) as an excellent scripting environment: easy imports by file path, single-file scripts with dependencies, good tooling; some claim it’s “much better than shell” and notably better than Python for this.
- Counterpoint: some dislike TS syntax for scripting (async/await noise, JS warts) and argue Python (especially with
uvscript dependencies) or PowerShell can serve the same role. - Other JS/TS-based tools mentioned: zx, Bun’s shell, Dax (used in the article), and custom languages like Rad built explicitly for CLIs.
Shell, Bash, and Longevity
- One camp: shell is great for one-liners and process composition but becomes painful with conditionals, loops, and string handling.
- Others defend Bash (or POSIX sh) as the most robust “glue” long-term: ubiquitous, still running decades later, and fine if you know its pitfalls and use tools like ShellCheck.
- Cross‑platform scripts are highlighted as tricky: differences across Linux/macOS/Windows and non-standard utilities (e.g.,
uuidgen).
What “Make.ts” Is (and Isn’t)
- Some initially assume it’s a Make replacement; others clarify it’s really “a consistent scratchpad file for commands,” not dependency-tracked builds.
- Debate over whether this is over‑engineering versus just putting commands in
.shfiles or a Makefile; critics say the stated use case (avoiding shell history) doesn’t justify TS + Deno.
Task Runners and Entry Points
- Alternatives discussed: Make, Just, mise (tasks + runtimes), npm/deno “scripts/tasks,” and project‑local TS/JS/Bash files.
- Many prefer a single recognizable entrypoint (Makefile, Justfile, package.json, mise.toml) over ad‑hoc scripts scattered around.
History and Shell UX Aids
- Several suggest improving shell/history instead of switching languages: fzf (fuzzy history search), atuin (global history sync), zoxide, fd, ripgrep.
- Others mention readline/zsh shortcuts to edit the current command in an editor and then execute it.
Versioning and “Proper” Scripts
- Tension between treating these scripts as personal, ephemeral tools (hard‑coded paths, secrets, workflow assumptions) vs. checking them into git and sharing.
- Some advocate a two‑tier approach: scratch scripts vs. promoted, documented tasks.
Meta: Human vs LLM Writing
- Multiple commenters appreciate the post’s clearly human, opinionated, concise style and contrast it with formulaic “AI slop,” reflecting growing sensitivity to LLM‑generated content.