{"adoption": {"forks": 63, "observed_at": "2026-08-28T04:04:47.292374+00:00", "stars": 1459}, "canonical_url": "https://ross.abutalabs.com/products/pecker", "card": {"archived": false, "artifact_type": "cli-tool", "description": "CodePecker is a tool to detect unused Swift code.", "domain": ["developer-tools", "apple-ecosystem"], "enriched": true, "function": ["linter", "static-site-generator", "developer-tools"], "health_score": 20, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["woshiccm/Pecker"], "name": "woshiccm/Pecker", "platform": ["cli"], "pushed_at": "2022-04-08T07:21:31+00:00", "repo": "woshiccm/Pecker", "stars": 1459, "tags": ["swift", "unused-code-detection", "swiftsyntax", "indexstoredb", "code-quality", "xcode", "command-line", "macos"], "topics": [], "urls": [], "use_cases": ["find unused swift classes and functions", "detect dead code in an ios project", "clean up unused protocols and typealiases in swift", "add unused code warnings to xcode build", "run static dead code analysis on a swift codebase", "identify unused swift code in ci"], "what_it_is": "Pecker is a command-line tool that detects unused Swift code such as classes, structs, enums, protocols, functions, typealiases, and operators. It is built on IndexStoreDB and SwiftSyntax and integrates into Xcode build phases or CI pipelines.", "when_to_avoid": ["your project is not written in Swift", "you need analysis for Objective-C or mixed-language codebases", "you need a tool with frequent updates, since the latest release dates to 2022"], "when_to_choose": ["you maintain a growing Swift or iOS codebase and want to find dead code", "you want unused-code checks integrated into Xcode or CocoaPods build phases", "you prefer an accurate index-based analysis over regex-based linters"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pecker", "repo": "woshiccm/Pecker", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "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:47.292374+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.292374+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:35:28.843832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4abc4e9a28cbb52498cf51e8b4919457e64e69056739f53026e4452d09681bb", "fetched_at": "2026-08-28T04:04:47.292374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/woshiccm/Pecker"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 2465, "days_push": 1608, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}