{"adoption": {"forks": 249, "observed_at": "2026-08-28T04:04:05.505966+00:00", "stars": 1238}, "canonical_url": "https://ross.abutalabs.com/products/ipfs-specs", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Technical specifications for the IPFS protocol stack", "domain": ["networking", "microservices", "developer-tools", "documentation"], "enriched": true, "function": ["documentation", "p2p", "networking", "file-system"], "health_score": 80, "homepage": "https://specs.ipfs.tech", "language": "HTML", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["ipfs/specs"], "name": "ipfs/specs", "platform": ["cross-platform"], "pushed_at": "2026-08-25T15:22:08+00:00", "repo": "ipfs/specs", "stars": 1238, "tags": ["ipfs", "specifications", "standards", "content-addressing", "peer-to-peer", "protocol-design"], "topics": ["specifications", "specs", "standards", "ipfs", "p2p", "protocol"], "urls": [], "use_cases": ["implement an IPFS client that interoperates with other implementations", "understand how the IPFS Kademlia DHT routing works", "build an HTTP gateway for content-addressed data", "learn the Bitswap block exchange protocol", "propose a change to the IPFS protocol via the IPIP process", "check the lifecycle status of an IPFS subsystem spec"], "what_it_is": "The official repository of technical specifications for the IPFS protocol stack and its subsystems, published at specs.ipfs.tech. It defines interoperable standards for content routing, data exchange, HTTP gateways, and data formats so independent implementations can work together.", "when_to_avoid": ["you need user documentation or tutorials for using IPFS rather than protocol specs", "you want ready-to-use IPFS software rather than standards documents", "you need a finalized, guaranteed-stable standard - most specs are still draft or reliable"], "when_to_choose": ["you are implementing or integrating with the IPFS protocol and need normative specifications", "you want to verify interoperability requirements for gateways, routing, or data formats", "you are researching peer-to-peer content-addressed networking design"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ipfs-specs", "repo": "ipfs/specs", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "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:05.505966+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:05.505966+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:10:03.966731+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d6725497f047b28ea10d767dc74a43b45c604cb30069b280e9a73dfe7ff84341", "fetched_at": "2026-08-28T04:04:05.505966+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ipfs/specs"}, {"content_hash": "f24e52102fc44204338d029d5763b83cbf7a244df0ddd3ea4092d96997a6970c", "fetched_at": "2026-08-29T12:20:51.132657+00:00", "kind": "homepage", "missing": false, "url": "https://specs.ipfs.tech"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4193, "days_push": 8, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}