{"adoption": {"forks": 190, "observed_at": "2026-08-28T04:08:31.010620+00:00", "stars": 3981}, "canonical_url": "https://ross.abutalabs.com/products/petdex", "card": {"archived": false, "artifact_type": "application", "description": "A public gallery of animated pets for Codex, Claude Code, DeepSeek Harness, Hermes, OpenCode, Gemini CLI, and more.", "domain": ["developer-tools", "desktop-applications", "gaming-tools", "entertainment"], "enriched": true, "function": ["cli", "gui", "developer-tools", "animation", "ui-components"], "health_score": 100, "homepage": "https://petdex.dev", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["crafter-station/petdex"], "name": "crafter-station/petdex", "platform": ["windows", "bun", "cli", "cross-platform"], "pushed_at": "2026-08-26T04:16:02+00:00", "repo": "crafter-station/petdex", "stars": 3981, "tags": ["desktop-pet", "mascot", "pixel-art", "sprites", "coding-agents", "codex", "claude-code", "pet-gallery", "fun", "nextjs", "command-line", "macos", "linux", "nodejs", "desktop"], "topics": ["claude-code", "clerk", "cli", "codex", "developer-tools", "drizzle-orm", "mascot", "neon", "nextjs", "pixel-art", "postgres", "react", "sprites", "tailwindcss", "vercel", "dsh-plugin"], "urls": [], "use_cases": ["add an animated desktop pet to my coding agent", "install a pixel-art mascot for Codex", "browse a gallery of community-submitted desktop pets", "make my terminal agent show a fun companion while it works", "submit my own animated pet sprite to a public index", "get a desktop mascot that reacts to AI agent tool calls"], "what_it_is": "Petdex is a public gallery of animated pixel-art pets (mascots) for coding agents like Codex, Claude Code, and Gemini CLI, consisting of a web gallery, an npm CLI for installing pets, and a cross-platform desktop app that floats the pet on screen and animates it in response to agent tool calls. Pets are community-submitted sprite folders installed with a single `npx petdex install` command.", "when_to_avoid": ["you need a serious productivity or monitoring tool rather than a cosmetic mascot", "you don't use a supported coding agent like Codex or Claude Code", "you need offline-only operation without a gallery or CLI dependency"], "when_to_choose": ["you want a fun, animated companion that reacts to your coding agent's activity", "you want a one-command install of community pixel-art pets", "you want a cross-platform desktop floater for macOS, Linux, or Windows", "you want to browse or contribute to a large open pet sprite gallery"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/petdex", "repo": "crafter-station/petdex", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "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:31.010620+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.010620+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:24:16.713127+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed02f7a6251de347f23c3319d5f4f653688558801d40a5d03b0386aa4058ec9d", "fetched_at": "2026-08-28T04:08:31.010620+00:00", "kind": "readme", "missing": false, "url": "https://github.com/crafter-station/petdex"}, {"content_hash": "496bd784e68b3fa75e37028b8256722ca13c09f58984249fe82cf2fef289c414", "fetched_at": "2026-08-29T09:17:50.453489+00:00", "kind": "homepage", "missing": false, "url": "https://petdex.dev"}, {"content_hash": "20888c7aca32552ce36b6344f2472e70e590855c62df312ffd9f2ce12438c0d2", "fetched_at": "2026-08-29T09:17:50.456090+00:00", "kind": "site_page", "missing": false, "url": "https://petdex.dev/docs"}, {"content_hash": "165aa1bb8d513456a50b95abf79d5d24bcf87a574f9255abb85a4b3805d04d2f", "fetched_at": "2026-08-29T09:17:50.458422+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/petdex"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 8, "rhythm": 98}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 123, "days_push": 7, "days_rel": 19, "gap_med": 0.0, "n_releases_24m": 29}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}