{"adoption": {"forks": 103, "observed_at": "2026-08-28T04:07:53.014912+00:00", "stars": 3269}, "canonical_url": "https://ross.abutalabs.com/products/dry", "card": {"archived": false, "artifact_type": "cli-tool", "description": "dry - A Docker manager for the terminal @", "domain": ["developer-tools"], "enriched": true, "function": ["cli", "monitoring", "developer-tools", "terminal-ui"], "health_score": 97, "homepage": "http://moncho.github.io/dry/", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["moncho/dry"], "name": "moncho/dry", "platform": ["windows", "cli", "go"], "pushed_at": "2026-08-21T08:03:54+00:00", "repo": "moncho/dry", "stars": 3269, "tags": ["docker", "docker-compose", "docker-swarm", "tui", "container-management", "command-line", "containers", "devops", "linux", "macos"], "topics": ["docker", "docker-cli", "golang", "docker-engine", "docker-swarm"], "urls": [], "use_cases": ["manage docker containers from the terminal", "monitor docker container resource usage", "browse docker images networks and volumes interactively", "manage docker compose projects and detect drift", "manage docker swarm nodes services and stacks", "replace docker cli with a keyboard-driven tui"], "what_it_is": "dry is a terminal application for managing and monitoring Docker and Docker Compose, providing an interactive TUI to browse containers, images, networks, volumes, and Swarm resources. It exposes most Docker CLI commands via keybindings and works with local or remote Docker daemons as a single static binary.", "when_to_avoid": ["you need fully scripted or CI automation, where the plain Docker CLI is better", "you prefer a graphical desktop dashboard like Portainer", "you need Kubernetes rather than Docker/Swarm"], "when_to_choose": ["you want an interactive terminal UI instead of typing docker commands", "you need to monitor containers and view daemon events and disk usage in one place", "you manage Docker Compose projects or a Swarm cluster", "you want a single dependency-free binary for local or remote Docker daemons"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dry", "repo": "moncho/dry", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "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:53.014912+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.014912+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:23:09.484794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b50e9ec43af09a2ade015c88ec13b8d0edd505c3fec8f5e54e85f3d22d19422b", "fetched_at": "2026-08-28T04:07:53.014912+00:00", "kind": "readme", "missing": false, "url": "https://github.com/moncho/dry"}, {"content_hash": "9f90ee24d7227b34a905c69701023af746b9b935921a0e386431520cfc9f67a4", "fetched_at": "2026-08-29T09:36:28.597733+00:00", "kind": "homepage", "missing": false, "url": "http://moncho.github.io/dry/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 77}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3949, "days_push": 12, "days_rel": 157, "gap_med": 5, "n_releases_24m": 4}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}