{"adoption": {"forks": 36, "observed_at": "2026-08-28T04:04:08.834548+00:00", "stars": 1255}, "canonical_url": "https://ross.abutalabs.com/products/naml", "card": {"archived": false, "artifact_type": "library", "description": "Convert Kubernetes YAML to Golang", "domain": ["developer-tools", "cloud-computing"], "enriched": true, "function": ["infrastructure-as-code", "cli", "deployment", "yaml", "sdk"], "health_score": 20, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["krisnova/naml"], "name": "krisnova/naml", "platform": ["go", "cli", "cross-platform"], "pushed_at": "2023-07-21T08:28:22+00:00", "repo": "krisnova/naml", "stars": 1255, "tags": ["kubernetes", "yaml-to-go", "codify", "deployable-interface", "infrastructure-as-code", "containers", "devops"], "topics": ["go", "kubernetes", "yaml-templating", "programming-language"], "urls": [], "use_cases": ["convert kubernetes yaml manifests to go code", "replace kubernetes yaml templating with a real programming language", "generate go code from kubectl get output", "build kubernetes applications as compiled binaries", "deploy and uninstall kubernetes apps from go programs", "use kubernetes objects in go controllers and operators"], "what_it_is": "NAML is a Go library and CLI tool that replaces Kubernetes YAML manifests with Go code, letting developers define, compile, and deploy Kubernetes applications using a Turing-complete language. It can convert existing YAML (e.g., from kubectl output) into formatted Go source implementing a Deployable interface with install/uninstall methods.", "when_to_avoid": ["your team prefers declarative YAML with tools like Helm or Kustomize", "you need a large ecosystem of templates and charts", "you don't use Go or Kubernetes"], "when_to_choose": ["you want type-safe, testable Kubernetes manifests in Go instead of YAML", "you already write Go and want manifests versioned and compiled like code", "you need to embed Kubernetes objects directly in controllers or operators"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/naml", "repo": "krisnova/naml", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "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:08.834548+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.834548+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:07:20.404670+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27b591f8a5cb7df9f733b1a18d71a8f0fc89ed653320dcbd8085555f7ded4bc5", "fetched_at": "2026-08-28T04:04:08.834548+00:00", "kind": "readme", "missing": false, "url": "https://github.com/krisnova/naml"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 1908, "days_push": 1139, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}