{"adoption": {"forks": 511, "observed_at": "2026-08-28T04:07:12.147839+00:00", "stars": 2717}, "canonical_url": "https://ross.abutalabs.com/products/spring-loaded", "card": {"archived": false, "artifact_type": "library", "description": "Java agent that enables class reloading in a running JVM", "domain": ["developer-tools", "programming-languages"], "enriched": true, "function": ["developer-tools", "build-tool"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["spring-projects/spring-loaded"], "name": "spring-projects/spring-loaded", "platform": ["jvm", "cross-platform"], "pushed_at": "2022-04-07T12:04:39+00:00", "repo": "spring-projects/spring-loaded", "stars": 2717, "tags": ["jvm-agent", "hot-reload", "class-reloading", "bytecode-transformation", "grails", "jvm"], "topics": [], "urls": [], "use_cases": ["hot reload java classes without restarting the jvm", "add or modify methods and fields in a running java application", "speed up development iteration for grails applications", "reload class file changes on the fly during development", "modify annotations and enum values in a live jvm"], "what_it_is": "Spring Loaded is a JVM agent that enables reloading of class file changes while a JVM is running, allowing methods, fields, constructors, annotations, and enum values to be added, modified, or deleted without restarting. It works on any JVM bytecode and is the reloading system used by Grails 2-4 on Java 8.", "when_to_avoid": ["you are running Java 11 or later, which is not yet supported", "you need to change class hierarchies or certain constructor usage patterns", "you want an actively developed tool with ongoing updates"], "when_to_choose": ["you are developing on Java 8 and want richer hot-swapping than the JVM's built-in hot code replace", "you work with Grails 2, 3, or 4 and want its built-in reloading behavior", "you need to add, remove, or change methods, fields, or constructors without restarting the JVM"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/spring-loaded", "repo": "spring-projects/spring-loaded", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "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:12.147839+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:12.147839+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:15:20.519170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "636f20bff5af368a2e9359bb8597b152aee22d59f22caf5490fbd5091383b7c7", "fetched_at": "2026-08-28T04:07:12.147839+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-loaded"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5018, "days_push": 1609, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}