{"adoption": {"forks": 162, "observed_at": "2026-08-28T04:07:49.643738+00:00", "stars": 3218}, "canonical_url": "https://ross.abutalabs.com/products/assh", "card": {"archived": false, "artifact_type": "cli-tool", "description": ":computer: make your ssh client smarter", "domain": ["developer-tools", "networking"], "enriched": true, "function": ["ssh", "configuration-management", "proxy", "developer-tools", "cli", "workflow-automation"], "health_score": 100, "homepage": "https://manfred.life/assh", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["moul/assh"], "name": "moul/assh", "platform": ["windows", "cross-platform", "cli", "go"], "pushed_at": "2026-08-24T04:02:30+00:00", "repo": "moul/assh", "stars": 3218, "tags": ["ssh-client-wrapper", "ssh-config", "gateways", "proxycommand", "yaml-config", "host-aliases", "command-line", "devops", "automation", "linux", "macos"], "topics": ["ssh", "proxy", "config-management", "config", "devops", "automation"], "urls": [], "use_cases": ["manage ssh config with regex host patterns", "connect to hosts through ssh gateway jump hosts transparently", "create aliases and inheritance for ssh hosts", "split ssh configuration into multiple included files", "visualize ssh host relationships with graphviz", "rate-limit ssh connections per host or globally", "export ssh config as"], "what_it_is": "assh is a transparent wrapper around the SSH client written in Go that enhances SSH configuration with regex host matching, aliases, gateways, templates, inheritance, and variable expansion. It works as a ProxyCommand so it integrates seamlessly with ssh, scp, rsync, git, and lib-ssh-based applications.", "when_to_avoid": ["you only have a handful of hosts and OpenSSH config suffices", "you need a full GUI ssh manager", "you cannot install a ProxyCommand wrapper in your environment"], "when_to_choose": ["you manage many ssh hosts and want smarter config than OpenSSH provides", "you need transparent gateway/proxy chaining without manual ProxyCommand setup", "you want regex matching, templates, and inheritance in ssh config", "you use ssh, scp, rsync, or git and want the enhancements to apply everywhere"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/assh", "repo": "moul/assh", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:49.643738+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:44:54.303282+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "525d213db748df653db827fa5fff898cce20e9ee101e8e22276610edf828e0bd", "fetched_at": "2026-08-28T04:07:49.643738+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moul/assh"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 82}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5365, "days_push": 9, "days_rel": 40, "gap_med": 50.5, "n_releases_24m": 5}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}