Inspiration

I wanted a tool for the awkward middle ground between copying commands across terminal tabs and adopting a full configuration-management platform. Small fleets still need repeatability, targeting, and failures that are easy to understand.

What it does

SSH Fleet is a lightweight TypeScript CLI for operating SSH hosts from one YAML or JSON inventory. It runs commands and multi-line scripts concurrently, targets hosts by name or tag, enforces timeouts, stops on failure, transfers files with SFTP, and produces structured JSON with meaningful CI exit codes.

How I built it with Codex and GPT-5.6

I created SSH Fleet from scratch through an AI-native vibe coding workflow with Codex powered by GPT-5.6. I started with the product idea and described the behavior I wanted, then worked in a tight loop: prompt, inspect, run, test, correct, and refine. I made the product decisions and validated the results; GPT-5.6 generated and improved the TypeScript implementation, tests, Docker judge environment, documentation, and submission assets.

The execution engine uses a bounded worker pool to control connection pressure while preserving result order. The finished project has 32 automated tests and 11 CI jobs across Linux, macOS, Windows, and multiple Node versions.

Challenges

The hardest part was making failure behavior predictable across concurrent remote hosts. Timeouts, fail-fast semantics, stable JSON, host selection, shell quoting, and process exit codes all had to remain understandable for humans and reliable for automation.

Accomplishments

  • Built a complete developer tool from a blank starting point with Codex GPT-5.6
  • Parallel execution with bounded concurrency
  • Multi-line scripts without a separate upload step
  • Stable JSON output and meaningful process exit codes
  • SSH key, password, and agent authentication plus SFTP
  • A disposable two-host Docker judge environment requiring no real servers

What I learned

Vibe coding works best as an active engineering loop, not a one-shot prompt. Clear requirements, frequent execution, focused corrections, and explicit verification let me move quickly without giving up control of the product.

What's next

Output-diff mode, shell completion, an interactive host picker, richer inventory validation, and packaged releases for more installation paths.

Try it

Clone https://github.com/flantofun/ssh-fleet, then run npm install, npm test, npm run build, and npm run judge.

Built With

Share this project:

Updates