Skip to content

Commit bdce27b

Browse files
committed
Expand README with comparison to aliases and scripts
Added detailed sections explaining why krnr is preferable to aliases, shell scripts, and git for managing workflows. Clarified krnr's global and cross-machine capabilities, discoverability, built-in versioning, and export/import features.
1 parent 29d3cab commit bdce27b

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,24 @@ _Record. Automate. Run._
1717
- **Aliases**: Fast to add but per-shell and hard to discover or share.
1818
- **Dotfiles / Scripts**: Flexible but scattered; sharing requires a repo or manual copying.
1919
- **Task Runners** (Make, npm scripts): Great for project tasks but scoped to a repository.
20-
- **krnr**: Global and cross-machine, highly discoverable (fuzzy search + `tui`), built-in snapshots & rollbacks, and simple to share via `export` / `import`.
20+
- **krnr**: Global and cross-machine (see below), highly discoverable (fuzzy search + `tui`), built-in snapshots & rollbacks, and simple to share via `export` / `import`.
2121

2222
---
2323

24+
### Why not just an alias or a shell script?
25+
26+
- **Aliases** - Fast to add, but per‑shell and per‑machine. They live in whichever RC file you edited and are invisible to others unless you share your dotfiles manually. Hard to discover across many short‑lived aliases.
27+
- **Shell scripts / dotfiles** - Flexible and shareable, but scattered. To share you need a repo, copy instructions, or a package. Scripts don’t include author/metadata, versioned history for the command itself, or a simple, interactive discovery UI.
28+
- **git** - Excellent for source control and team collaboration, but file‑centric: commits operate on files, not on discoverable, runnable command sets. Git workflows require manual commits and searches; they aren’t optimized for quick ad hoc rollbacks or interactive discovery of hundreds of tiny workflows.
29+
30+
### How krnr helps
31+
32+
- **Global (per‑user, per‑machine)** - krnr stores a single, versioned SQLite registry in your user config path (see `KRNR_HOME`), so any shell on your machine (bash, zsh, PowerShell, TUI, CI sessions) can access the same saved workflows without per‑shell setup.
33+
- **Cross‑machine** — Use `krnr export` to produce a portable SQLite file (whole DB or selected sets) and `krnr import` on another machine. Exports are single files with metadata, timestamps, authorship, and configurable conflict policies (`--on-conflict` rename|skip|overwrite|merge) to avoid clobbering local setups.
34+
- **Discoverability & ergonomics** - Fuzzy search (`krnr list --filter <text> --fuzzy`), tags, and `krnr tui` make finding the right workflow faster than grepping dotfiles or commit histories.
35+
- **Built‑in snapshots & rollbacks** - Every change creates a version snapshot; inspect with `krnr history <name>` and revert with `krnr rollback <name> --version <n>`. This is faster and more focused for workflow recovery than making a git commit for every change.
36+
- **Better than sharing raw scripts** - Exported artifacts are self‑contained and include history, parameters, and import options, so an imported workflow behaves the same as the original and can be merged intelligently.
37+
2438
## Why krnr?
2539

2640
Automating repeated terminal work often produces scattered scripts, fragile aliases, and per-project task files that are hard to find, maintain, and share. krnr provides a single global execution layer so your commands become:

0 commit comments

Comments
 (0)