{"adoption": {"forks": 233, "observed_at": "2026-08-28T04:05:37.199187+00:00", "stars": 1792}, "canonical_url": "https://ross.abutalabs.com/products/go-spring", "card": {"archived": false, "artifact_type": "framework", "description": "🔥 [released] 基于 IoC 的 IDLs-First 的 Go 后端一站式开发框架 ( All-in-One Development Framework on IoC and IDLs-First for Go ) 🚀 ", "domain": ["backend", "web-development", "developer-tools", "microservices", "apis"], "enriched": true, "function": ["web-framework", "middleware", "configuration-management", "dependency-audit", "http-server", "http-client", "rpc", "developer-tools"], "health_score": 98, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["go-spring/go-spring"], "name": "go-spring/go-spring", "platform": ["go", "cross-platform", "cli"], "pushed_at": "2026-08-23T11:23:05+00:00", "repo": "go-spring/go-spring", "stars": 1792, "tags": ["inversion-of-control", "dependency-injection", "spring-boot", "auto-configuration", "starters", "idl-first", "modulith", "code-generation"], "topics": ["inversion-of-control", "dependency-injection", "spring", "spring-boot", "auto-configuration", "modulith", "out-of-box-experience"], "urls": [], "use_cases": ["build Go backend services with dependency injection like Spring Boot", "auto-configure third-party SDKs such as Redis, MySQL, Kafka, and gRPC in Go", "assemble modular Go applications with pluggable starters", "generate HTTP client and server code from IDL definitions", "manage application configuration and lifecycle in Go services", "migrate Java Spring development patterns to Go"], "what_it_is": "Go-Spring is an all-in-one Go backend development framework built around an IoC container and dependency injection, inspired by Java Spring Boot. It provides a layered ecosystem including a core framework, capability abstractions, 70+ pluggable Starters for third-party SDKs, and CLI tooling for code generation and mocking.", "when_to_avoid": ["you prefer minimal, dependency-light Go libraries and explicit wiring", "your project follows idiomatic Go patterns that avoid magic DI containers", "you need a framework with a very large community and long-term track record"], "when_to_choose": ["you want Spring Boot-style IoC and auto-configuration in Go", "you need a batteries-included framework with many prebuilt integrations", "you prefer IDL-first service development with code generation", "you are building modular monoliths or microservices in Go"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/go-spring", "repo": "go-spring/go-spring", "role": "main", "score": 92}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "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:05:37.199187+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.199187+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:22:58.139730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e7b01a950f268867a02ffcb59347a982acf139cd6fd4dba8c0b20241b291943", "fetched_at": "2026-08-28T04:05:37.199187+00:00", "kind": "readme", "missing": false, "url": "https://github.com/go-spring/go-spring"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 78}, "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": 2518, "days_push": 10, "days_rel": 71, "gap_med": 49, "n_releases_24m": 2}, "score": 92, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}