{"adoption": {"forks": 77, "observed_at": "2026-08-28T04:04:26.417879+00:00", "stars": 1343}, "canonical_url": "https://ross.abutalabs.com/products/react-archer", "card": {"archived": false, "artifact_type": "library", "description": "🏹 Draw arrows between React elements 🖋", "domain": ["frontend", "web-development"], "enriched": true, "function": ["ui-components", "graphics"], "health_score": 91, "homepage": "https://pierpo.github.io/react-archer/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["pierpo/react-archer"], "name": "pierpo/react-archer", "platform": ["browser"], "pushed_at": "2026-06-05T17:09:07+00:00", "repo": "pierpo/react-archer", "stars": 1343, "tags": ["react", "svg-arrows", "dom-elements", "diagram-connections", "web-server"], "topics": ["react", "arrows", "draw-arrows", "dom", "arrow"], "urls": [], "use_cases": ["draw arrows between react components", "connect dom elements with svg lines", "build node relationship diagrams in react", "annotate ui elements with labeled arrows", "visualize dependencies between page elements", "create flowchart-style connections in a react app"], "what_it_is": "react-archer is a React library for declaratively drawing SVG arrows between DOM elements. You wrap your layout in an ArcherContainer, mark endpoints with ArcherElement, and define relations; the library measures the DOM and renders the arrows.", "when_to_avoid": ["you need a full diagramming/flowchart editor with draggable nodes", "your project is not React-based", "you need canvas-based rendering for thousands of connections"], "when_to_choose": ["you need declarative, auto-measured arrows between React elements", "you want labeled, styled SVG connectors without manual coordinate math", "you need a small MIT-licensed React component library for element connections"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/react-archer", "repo": "pierpo/react-archer", "role": "main", "score": 89}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "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:26.417879+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:26.417879+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:43:01.288207+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "715e89e94466245e6d722fa4bde5776eeaa27310f952b87b75309d58f0bf6311", "fetched_at": "2026-08-28T04:04:26.417879+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pierpo/react-archer"}, {"content_hash": "a9a408ae512d903ef6dd6cd1030a6c339e178bc875a3b86e5a4dae8c4c07ccf3", "fetched_at": "2026-08-29T12:02:42.052667+00:00", "kind": "homepage", "missing": false, "url": "https://pierpo.github.io/react-archer/"}, {"content_hash": "60845a8e4a8f8618f0405c3a060fe2816302bc89eae36ffdfee83237a94239e0", "fetched_at": "2026-08-29T12:02:42.061755+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/react-archer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 86, "longevity": 100, "rhythm": 87}, "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": 3109, "days_push": 89, "days_rel": 89, "gap_med": 7, "n_releases_24m": 2}, "score": 89, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}