# capistrano/sshkit

A toolkit for deploying code and assets to servers in a repeatable, testable, reliable way.

Repository: https://github.com/capistrano/sshkit
Canonical: https://ross.abutalabs.com/products/sshkit
Language: Ruby
License: MIT
License Family: permissive
Topics: ssh, ruby, devops
Last push: 2026-07-25T01:25:08+00:00

## Health v2 (maintenance only)
Score: 87/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 94, release rhythm 70, longevity 100
- inputs: {"age_days": 5290, "days_push": 40, "days_rel": 40, "gap_med": 169.5, "n_releases_24m": 5}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1219, forks 256 (observed 2026-08-28T04:04:01.748580+00:00)

## What it is
SSHKit is a Ruby toolkit for running commands in a structured way on one or more servers over SSH. It provides a DSL for executing, testing, and capturing command output across hosts, with support for user/context switching, environment variables, file transfers, and parallel or sequential execution.

## Use cases
- run commands on multiple servers over ssh from ruby
- execute deployment tasks across a fleet of hosts
- upload and download files to remote servers via scp or sftp
- run commands as a different user with sudo on remote hosts
- run rake tasks on production servers with environment variables
- execute commands on servers in parallel or in sequence
- capture output of remote commands in ruby scripts

## When to choose
- you are building a deployment tool or automation in Ruby
- you need structured, repeatable remote command execution over SSH
- you want a DSL for running commands across many hosts with context control
- you are extending or customizing Capistrano

## When to avoid
- you need a general-purpose configuration management tool like Ansible
- your project is not in Ruby
- you only need to run commands on a single local machine
- you need agent-based orchestration with complex dependency graphs

## Facets
- artifact type: library
- maturity: stable
- function: ssh, developer-tools, deployment, cli
- domain: developer-tools
- platform: ruby
- tags: ssh, remote-execution, deployment, capistrano, server-automation, parallel-execution, devops, automation, linux, macos

## Member repositories
- capistrano/sshkit (main) score 87

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:01.748580+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:16:12.618746+00:00, confidence not recorded.
  - readme: https://github.com/capistrano/sshkit (fetched 2026-08-28T04:04:01.748580+00:00, sha c084d73fe5d4)
- Data as of 2026-08-30T08:39:29.467469+00:00.
