{"adoption": {"forks": 278, "observed_at": "2026-08-28T04:08:46.807291+00:00", "stars": 4372}, "canonical_url": "https://ross.abutalabs.com/products/project-graph", "card": {"archived": false, "artifact_type": "application", "description": "A node-based visual tool for organizing thoughts and notes in a non-linear way.", "domain": ["developer-tools", "desktop-applications", "cross-platform"], "enriched": true, "function": ["gui", "graphics", "plugin-system", "developer-tools"], "health_score": 100, "homepage": "https://graphif.dev", "language": "TypeScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["graphif/project-graph"], "name": "graphif/project-graph", "platform": ["windows", "cross-platform"], "pushed_at": "2026-08-26T01:10:07+00:00", "repo": "graphif/project-graph", "stars": 4372, "tags": ["infinite-canvas", "mind-mapping", "node-graph", "whiteboard", "brainstorming", "note-taking", "tauri", "extensions", "latex", "bidirectional-links", "macos", "linux", "typescript"], "topics": ["reactjs", "reactjs-project", "tailwind", "tailwind-css", "tauri-app", "project-graph", "canvas", "canvas2d", "canvasjs", "cross-platform", "graph-algorithms", "vite", "vitejs"], "urls": [], "use_cases": ["draw mind maps and analysis framework diagrams on an infinite canvas", "brainstorm and organize notes non-linearly with node graphs", "create project topology and flowchart diagrams quickly with keyboard-driven node trees", "build bidirectionally linked knowledge graphs of notes", "extend a canvas tool with custom node types and shortcuts via JavaScript", "export diagrams to Mermaid or plain text to interact with AI tools"], "what_it_is": "Project Graph is a cross-platform desktop tool built with Tauri, React, and Canvas 2D for quickly drawing node-based diagrams on an infinite canvas. It supports mind maps, flowcharts, bidirectional links, LaTeX nodes, custom themes, and a JavaScript extension system for adding custom shortcuts, dialogs, node types, and integrations.", "when_to_avoid": ["you need a web-based collaborative whiteboard for teams", "you require mobile or browser versions as a primary workflow", "you need a license-certified tool - the repository currently has no license file", "you need real-time multi-user editing or presentation features"], "when_to_choose": ["you want a lightweight, no-login desktop alternative to Xmind, Excalidraw, or Obsidian Canvas", "you need fast keyboard-driven mind mapping with tree auto-layout", "you want an extensible canvas with a JavaScript plugin API and custom themes", "you need LaTeX formula nodes and bidirectional links on a free-form canvas"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/project-graph", "repo": "graphif/project-graph", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "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:08:46.807291+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:46.807291+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:21:21.494382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e098d71e2c5611d8a9f774b9fce497e5bd908cd887b788312847e06bdf96bedf", "fetched_at": "2026-08-28T04:08:46.807291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/graphif/project-graph"}, {"content_hash": "6f7428d20139cfa5c7cdd55466870a53b174413b7ac437e1da84b78bd9dcad81", "fetched_at": "2026-08-29T09:10:00.415827+00:00", "kind": "homepage", "missing": false, "url": "https://graphif.dev"}, {"content_hash": "a7f329570c301af22ca04b3fb848b2a15153c9ff553ce695f9bbba9b8c516296", "fetched_at": "2026-08-29T09:10:00.418584+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg"}, {"content_hash": "882049931ecf9acd2d16c8547015cb50035df1abdf6d57fc4447ee8d5446737c", "fetched_at": "2026-08-29T09:10:00.420303+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/camera"}, {"content_hash": "1deaadaaf5cacba4fb03b6ca492b9cbb089e92dd75b4ac4afd276cb228ba9747", "fetched_at": "2026-08-29T09:10:00.422143+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association"}, {"content_hash": "37749f6655ec04c7ae993cd3ec98bacb97e3511f81e7c87c7874f41d312f50f8", "fetched_at": "2026-08-29T09:10:00.423797+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/entity"}, {"content_hash": "9d3544544b503bf2a1847b281f5793643a06de2cf505df59b3a7d4a19af9c765", "fetched_at": "2026-08-29T09:10:00.426205+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/stage-object/association/sync-association"}, {"content_hash": "dcfb1a300b2108cbdbd6d8fce61eb2044d9817a2197bc53b3ce3d8e09556b75f", "fetched_at": "2026-08-29T09:10:00.430524+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/shortcut-key"}, {"content_hash": "99a8cb478994fe1efb9899af42fea2976501f8068051ba4cb3a10803adb76a86", "fetched_at": "2026-08-29T09:10:00.432296+00:00", "kind": "site_page", "missing": false, "url": "https://graphif.dev/docs/prg/features/feature/tree"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 52, "rhythm": 85}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 741, "days_push": 8, "days_rel": 23, "gap_med": 1.0, "n_releases_24m": 213}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}