Jobers
CLI tool for saving and executing named shell commands — bookmarks for complex workflows with runtime argument support.
Overview
A Rust CLI for saving and executing named shell workflows with an emphasis on testability, predictable error handling, and script-friendly behavior.
Problem
Complex shell commands are easy to lose, hard to reuse safely, and awkward to maintain when tooling couples storage, execution, and domain logic too tightly. A useful CLI here should preserve shell power without turning the implementation into an opaque wrapper.
Approach
Jobers stores commands as named jobs, supports runtime arguments, and executes through the system shell so existing shell features still work. Internally, storage is abstracted away from the domain model and errors are modeled explicitly instead of relying on panics.
Engineering Decisions
The most important design choices behind the project and why they matter.
Decoupled storage from core behavior
A storage trait keeps the business logic testable in isolation and avoids tying the command model directly to filesystem concerns.
Treated error handling as part of the product
Production code avoids unwrap calls and uses explicit error types so failures are easier to reason about and safer to surface.
Preserved native shell capabilities
Commands run through the system shell so features like pipes, redirects, variables, and globs behave the way users already expect.