{"adoption": {"forks": 69, "observed_at": "2026-08-28T04:03:28.164023+00:00", "stars": 1071}, "canonical_url": "https://ross.abutalabs.com/products/rskgrowingtextview", "card": {"archived": false, "artifact_type": "library", "description": "A light-weight UITextView subclass that automatically grows and shrinks.", "domain": ["mobile-development", "frontend"], "enriched": true, "function": ["ui-components", "form-handling"], "health_score": 30, "homepage": null, "language": "Swift", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["ruslanskorb/RSKGrowingTextView"], "name": "ruslanskorb/RSKGrowingTextView", "platform": [], "pushed_at": "2024-12-15T11:01:03+00:00", "repo": "ruslanskorb/RSKGrowingTextView", "stars": 1071, "tags": ["uitextview", "auto-growing-textview", "chat-input", "swift-package-manager", "cocoapods", "carthage", "ios", "swift", "mobile"], "topics": ["growing", "expandable", "textview", "input", "chat", "grows", "shrinks", "swift"], "urls": [], "use_cases": ["auto-expanding text input for chat apps", "growing textview that respects max lines in iOS", "multi-line comment box that shrinks when empty", "swift uitextview subclass for dynamic height input", "messaging composer input field for iOS"], "what_it_is": "RSKGrowingTextView is a lightweight Swift UITextView subclass that automatically grows and shrinks with user input, constrained by minimum and maximum line counts. It is distributed via Swift Package Manager, CocoaPods, and Carthage for iOS and Mac development.", "when_to_avoid": ["you need cross-platform (Android/web) growing text inputs", "your project is not on the Apple/Swift ecosystem", "you need rich text editing beyond simple growing behavior"], "when_to_choose": ["building an iOS chat or messaging interface with an auto-resizing input", "you need a lightweight, dependency-free growing text view with line limits", "you use Swift Package Manager, CocoaPods, or Carthage in an Apple-platform project"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rskgrowingtextview", "repo": "ruslanskorb/RSKGrowingTextView", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "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:03:28.164023+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:28.164023+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:53:52.411929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a8a7ad6cb361fad0f3861b04bfec53731bd6817e90d123ed34c91f46967db6b", "fetched_at": "2026-08-28T04:03:28.164023+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruslanskorb/RSKGrowingTextView"}], "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": 3936, "days_push": 626, "days_rel": 626, "gap_med": null, "n_releases_24m": 1}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}