{"adoption": {"forks": 35, "observed_at": "2026-08-28T04:04:13.869255+00:00", "stars": 1281}, "canonical_url": "https://ross.abutalabs.com/products/vine", "card": {"archived": false, "artifact_type": "library", "description": "VineJS is a form data validation library for Node.js", "domain": ["web-development", "backend", "developer-tools"], "enriched": true, "function": ["form-handling", "serialization"], "health_score": 94, "homepage": "https://vinejs.dev", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["vinejs/vine"], "name": "vinejs/vine", "platform": ["cli"], "pushed_at": "2026-07-18T03:30:55+00:00", "repo": "vinejs/vine", "stars": 1281, "tags": ["schema-validation", "runtime-type-safety", "typescript", "esm-only", "http-request-validation", "nodejs"], "topics": ["nodejs", "nodejs-validation", "validation", "validation-library"], "urls": [], "use_cases": ["validate http request body in node.js backend", "validate json payloads against a schema", "validate html form data and normalize empty strings to null", "define conditional validation rules like requiredIf", "get typed validation output in typescript", "custom error messages for validation failures"], "what_it_is": "VineJS is a fast, schema-based form data validation library for Node.js, designed to validate HTTP request bodies and JSON payloads with both runtime and static type safety. It offers 50+ validation rules, 12 schema types, conditional validation, custom error messages, and pre-compiled schemas for high performance.", "when_to_avoid": ["your project uses CommonJS since VineJS is ESM-only", "you need browser-side or frontend validation", "you want deeply composable schema pick/omit APIs, which VineJS intentionally limits"], "when_to_choose": ["you need one of the fastest node.js validation libraries with pre-compiled schemas", "you want runtime and static type safety together", "you validate form data and need html form normalization helpers", "you need extensible custom rules, unions, and conditional groups"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vine", "repo": "vinejs/vine", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "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:13.869255+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:13.869255+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:02:34.174915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e9512baf680a5994a6eef36005b3ea9ec23670923905727f2909be8ca7c889d3", "fetched_at": "2026-08-28T04:04:13.869255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vinejs/vine"}, {"content_hash": "947984e60753a069d171690e292ceb31660e15b2f8e20de89271bd75f142de8e", "fetched_at": "2026-08-29T12:13:21.054490+00:00", "kind": "homepage", "missing": false, "url": "https://vinejs.dev"}, {"content_hash": "0c7f7f39155896512e0eabbc34ca36487dc06ff010fd7918750ef08daf2ba66f", "fetched_at": "2026-08-29T12:13:21.065272+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/getting_started"}, {"content_hash": "be261ee5a28632c846d7eef5f57d78b7f484fa429c538318919b398ef111cef2", "fetched_at": "2026-08-29T12:13:21.066925+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/schema_101"}, {"content_hash": "94b799ccd90cf85154b355a94ef5651d7b39a249c432fd33c136f4f73deeadcd", "fetched_at": "2026-08-29T12:13:21.068951+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/html_forms_and_surprises"}, {"content_hash": "72d80922162b12a6f9ba41cf4c8cbee013b7827d48e46d11588c0ae741838115", "fetched_at": "2026-08-29T12:13:21.070910+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/conditional_validation"}, {"content_hash": "42c9d3a63fb39e320bc0ea6ce22ce232ce0fb5e8b6b785e621b6258587750c7b", "fetched_at": "2026-08-29T12:13:21.072667+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/field_context"}, {"content_hash": "ca4b341a94b82c4236426a498cdce535a3a0798ba5c67a10322e9983cbe85581", "fetched_at": "2026-08-29T12:13:21.074523+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/custom_error_messages"}, {"content_hash": "39c52cb1125e97ba2ba6d453726835a52f107ed5cb122191f3f736a7d5c333b6", "fetched_at": "2026-08-29T12:13:21.076355+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/docs/error_reporter"}, {"content_hash": "e3e35fd8c516578cdcc283cd21468241d0de17c251379d25a1663b09b3cf5479", "fetched_at": "2026-08-29T12:13:21.063563+00:00", "kind": "site_page", "missing": false, "url": "https://vinejs.dev/api"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 84, "rhythm": 69}, "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": 1184, "days_push": 46, "days_rel": 128, "gap_med": 50.5, "n_releases_24m": 9}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}