{"adoption": {"forks": 224, "observed_at": "2026-08-28T04:03:15.281466+00:00", "stars": 1020}, "canonical_url": "https://ross.abutalabs.com/products/fluent-validator", "card": {"archived": false, "artifact_type": "library", "description": "A Java validation framework leveraging fluent interface style and JSR 303 specification", "domain": ["developer-tools", "backend", "web-development"], "enriched": true, "function": ["testing", "middleware"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["neoremind/fluent-validator"], "name": "neoremind/fluent-validator", "platform": ["jvm"], "pushed_at": "2022-12-16T06:01:14+00:00", "repo": "neoremind/fluent-validator", "stars": 1020, "tags": ["bean-validation", "jsr-303", "fluent-interface", "data-validation", "hibernate-validator"], "topics": [], "urls": [], "use_cases": ["validate java bean fields with fluent chained calls", "reuse business logic validation rules across services", "apply jsr 303 bean validation annotations programmatically", "collect validation errors with callbacks instead of exceptions", "integrate validation into spring or guice applications"], "what_it_is": "A Java validation framework that combines a fluent interface style with the JSR 303 Bean Validation specification (using Hibernate Validator as its implementation). It helps developers write reusable, chainable validation logic to avoid duplicated validation code across business layers.", "when_to_avoid": ["you are on a non-JVM stack", "you prefer annotation-only declarative validation without fluent APIs", "you need a framework under active development - releases are infrequent"], "when_to_choose": ["you want fluent, chainable validation code in Java", "you need JSR 303/Hibernate Validator support with callbacks and result collection", "you want a lightweight library with minimal dependencies"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fluent-validator", "repo": "neoremind/fluent-validator", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "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:03:15.281466+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:15.281466+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:09:18.544001+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "080b3a06f0c302f48706d74a6bfa08733a133c703ed26a8bfd00f37cead17bd1", "fetched_at": "2026-08-28T04:03:15.281466+00:00", "kind": "readme", "missing": false, "url": "https://github.com/neoremind/fluent-validator"}], "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": 4050, "days_push": 1356, "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}}