{"adoption": {"forks": 64, "observed_at": "2026-08-28T04:04:43.857886+00:00", "stars": 1438}, "canonical_url": "https://ross.abutalabs.com/products/dst", "card": {"archived": false, "artifact_type": "library", "description": "Decorated Syntax Tree - manipulate Go source with perfect fidelity.", "domain": ["developer-tools", "programming-languages", "parsers"], "enriched": true, "function": ["parser", "developer-tools"], "health_score": 66, "homepage": null, "language": "Go", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["dave/dst"], "name": "dave/dst", "platform": ["go", "cross-platform"], "pushed_at": "2026-04-14T08:05:29+00:00", "repo": "dave/dst", "stars": 1438, "tags": ["go-ast", "source-code-manipulation", "syntax-tree", "code-generation", "decorations", "comments-preservation"], "topics": [], "urls": [], "use_cases": ["rewrite Go source code while preserving comments and formatting", "reorder or refactor Go statements without breaking comment attachment", "build automated Go code refactoring tools", "inject or modify comments in Go AST nodes", "convert between go/ast and a fidelity-preserving syntax tree", "generate Go code transformations for codemods"], "what_it_is": "A Go library providing a Decorated Syntax Tree (dst) that allows manipulation of Go source code with perfect fidelity, preserving comments, spacing, and formatting as nodes are modified. It serves as a drop-in alternative to go/ast for source-to-source transformations.", "when_to_avoid": ["you only need to read or analyze Go code without modifying it - go/ast or go/types suffice", "you are working with languages other than Go", "you need type checking or semantic analysis - pair it with go/types instead"], "when_to_choose": ["you need to programmatically modify Go source and keep comments and spacing intact", "go/ast round-tripping loses or misplaces comments in your transformations", "you are building a Go refactoring, linting, or codemod tool", "you need reliable parse-modify-print of Go code"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dst", "repo": "dave/dst", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "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:04:43.857886+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.857886+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:39.755822+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0077b90404d9180aba6cb16fed76e686a8d196df70b4145e18203a616c6cf894", "fetched_at": "2026-08-28T04:04:43.857886+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dave/dst"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 77, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2909, "days_push": 141, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}