b18ee7405e2450cdc00f238e3c54d8a265cd0d61
Bumps to v0.2. Resolves the open questions and design gaps flagged during review before implementation starts: - Spells out the supervisor detach/re-exec mechanism (§3), mirroring how vmic solves the same one-shot-CLI-can't-host-a-daemon problem. - Forces BatchMode/ExitOnForwardFailure/ConnectTimeout on every ssh invocation so headless failures surface instead of hanging on a TTY prompt (§3.1). - Adds backoff + stderr-based fatal/transient failure classification so reconnect doesn't retry forever against a permanently broken profile (§4). - Collapses the Instance `state` enum to up/reconnecting/error, with "no instance file" as the sole meaning of closed, removing the prior ambiguity around close vs. crash vs. down (§2.2, §3). - Fixes --via's conflicting comma-list-vs-repeated-flag examples by committing to a straight ssh -J passthrough grammar (§3.1/§5.1). - Resolves the edit --restart open question: no --restart, stays explicit. - Simplifies exit codes to 0/1/2 (was a 6-code table with its own TODO). - Adds a lock file for concurrent-open safety and a log rotation policy. - Calls out reboot/logout survival as an explicit v0.1 non-goal, with `open --all` as the only hook left for external autostart wiring (§8). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
porthole
Create and manage named SSH port fowards easily.
v1.0.0 - Initial release
Latest
Languages
Rust
74.1%
Shell
25.9%