{"adoption": {"forks": 74, "observed_at": "2026-08-28T04:04:59.633008+00:00", "stars": 1533}, "canonical_url": "https://ross.abutalabs.com/products/phpdoc-parser", "card": {"archived": false, "artifact_type": "library", "description": "Next-gen phpDoc parser with support for intersection types and generics", "domain": ["parsers", "developer-tools", "programming-languages"], "enriched": true, "function": ["parser", "static-site-generator"], "health_score": 99, "homepage": null, "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["phpstan/phpdoc-parser"], "name": "phpstan/phpdoc-parser", "platform": ["php"], "pushed_at": "2026-08-17T06:38:29+00:00", "repo": "phpstan/phpdoc-parser", "stars": 1533, "tags": ["phpdoc", "static-analysis", "ast", "phpstan", "doctrine-annotations", "type-syntax"], "topics": ["phpstan", "static-analysis", "php", "php7", "testing", "static-code-analysis", "static-analyzer", "phpdoc"], "urls": [], "use_cases": ["parse phpdoc annotations from php source code", "extract type information from doc comments", "modify phpdoc comments programmatically", "parse generics and intersection types in phpdoc", "analyze doctrine annotations in php projects", "build a static analysis tool for php"], "what_it_is": "A PHP library that parses PHPDoc comments into an abstract syntax tree, supporting modern type syntax like generics, intersection types, array shapes, and conditional types. It also parses Doctrine Annotations and provides visitor-based AST traversal for reading and transforming PHPDocs.", "when_to_avoid": ["you need to parse PHP code itself rather than PHPDoc comments", "you need a runtime type validation library rather than a parser", "your project is not written in PHP"], "when_to_choose": ["you need a robust PHPDoc parser with an AST representation", "you're building static analysis or code tooling for PHP", "you need to support modern PHPDoc type syntax like generics and conditional types", "you need to parse or transform Doctrine Annotations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/phpdoc-parser", "repo": "phpstan/phpdoc-parser", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "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:59.633008+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.633008+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:16.073525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "484e618a50f9c578c7ed0dd561b4dde61c895df2317db086cf4ac303ef28d23d", "fetched_at": "2026-08-28T04:04:59.633008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phpstan/phpdoc-parser"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 92}, "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": 3209, "days_push": 16, "days_rel": 56, "gap_med": 20.5, "n_releases_24m": 13}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}