{"adoption": {"forks": 238, "observed_at": "2026-08-28T04:09:56.587235+00:00", "stars": 7202}, "canonical_url": "https://ross.abutalabs.com/products/soft-serve", "card": {"archived": false, "artifact_type": "service", "description": "The mighty, self-hostable Git server for the command line🍦", "domain": ["developer-tools", "version-control", "self-hosted"], "enriched": true, "function": ["http-server", "auth", "security", "developer-tools", "terminal-ui", "cli"], "health_score": 98, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["charmbracelet/soft-serve"], "name": "charmbracelet/soft-serve", "platform": ["windows", "cross-platform", "self-hosted", "cli", "go"], "pushed_at": "2026-08-12T20:42:49+00:00", "repo": "charmbracelet/soft-serve", "stars": 7202, "tags": ["git-server", "ssh", "git-lfs", "tui", "self-hosted-git", "version-control", "command-line", "linux", "macos"], "topics": ["git", "golang", "ssh"], "urls": [], "use_cases": ["self-host a lightweight git server", "browse git repos from the terminal over ssh", "create git repos on demand with git push", "manage repo access with ssh public keys", "host private and public git repositories", "serve git repos with git lfs support", "print and syntax-highlight files from a repo over ssh"], "what_it_is": "Soft Serve is a self-hostable Git server that runs as a single Go binary and is managed entirely from the command line. It serves repositories over SSH, HTTP, and the Git protocol, with an SSH-accessible TUI for browsing repos, files, and commits.", "when_to_avoid": ["you need a full web interface like GitHub, GitLab, or Gitea", "you need issue tracking, pull requests, or CI/CD", "you want a graphical admin dashboard"], "when_to_choose": ["you want a simple, single-binary self-hosted Git server without a web UI", "you prefer managing repos and access control over SSH", "you need Git LFS support on a lightweight server", "you want a terminal UI for browsing repos, files, and commits"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/soft-serve", "repo": "charmbracelet/soft-serve", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "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:09:56.587235+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:56.587235+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:39:51.770515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac096cee54911729dc60cdb2eb9615b918d38dd85d6a23cff552bf1f0d68fe7f", "fetched_at": "2026-08-28T04:09:56.587235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/charmbracelet/soft-serve"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 96}, "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": 1860, "days_push": 21, "days_rel": 26, "gap_med": 13, "n_releases_24m": 18}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}