{"adoption": {"forks": 487, "observed_at": "2026-08-28T04:04:02.105785+00:00", "stars": 1224}, "canonical_url": "https://ross.abutalabs.com/products/rubberduck-use-case-playground", "card": {"archived": false, "artifact_type": "application", "description": "Try all the 10 use cases and see what the Rubber Duck can do!", "domain": ["developer-tools", "education", "security", "tutorials"], "enriched": true, "function": ["developer-tools", "security", "testing", "mcp", "code-review"], "health_score": 75, "homepage": "www.rubberduck.com", "language": "CSS", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["RubberDuck-com/rubberduck-use-case-playground"], "name": "RubberDuck-com/rubberduck-use-case-playground", "platform": ["cross-platform", "python", "self-hosted"], "pushed_at": "2026-07-09T14:07:03+00:00", "repo": "RubberDuck-com/rubberduck-use-case-playground", "stars": 1224, "tags": ["demo-app", "training-playground", "mcp-server", "prompt-library", "security-audit-lab", "cursor", "claude", "web-server"], "topics": [], "urls": [], "use_cases": ["learn how to use RubberDuck MCP with Cursor or Claude", "practice security auditing on an intentionally vulnerable app", "try AI code review prompts on a demo codebase", "test AI codebase understanding and change impact analysis", "generate prompts for planning and generating new features with AI", "compare AI analysis of raw SQL vs parameterized query versions", "run a local demo app with a health dashboard hub"], "what_it_is": "A hands-on training playground for RubberDuck MCP, consisting of a local hub dashboard and a deliberately vulnerable restaurant demo app (Rubber Duck Pizzeria). It generates ten copy-paste prompts (UC-01 to UC-10) covering code understanding, security auditing, bug fixing, code review, and feature planning to run in Cursor or Claude with RubberDuck MCP connected.", "when_to_avoid": ["you need production-ready code or a real restaurant admin system", "you don't use RubberDuck MCP, Cursor, or Claude", "you want a general-purpose vulnerable web app unrelated to RubberDuck training"], "when_to_choose": ["you want hands-on training for RubberDuck MCP in Cursor or Claude", "you need a safe, intentionally vulnerable codebase to practice AI-assisted security audits", "you want ready-made prompts covering ten common AI coding workflows", "you want a self-contained local demo app with a hub dashboard"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rubberduck-use-case-playground", "repo": "RubberDuck-com/rubberduck-use-case-playground", "role": "main", "score": 54}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "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:02.105785+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:02.105785+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:15:25.881183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "853f70ba2fbade771a16b12e3d19986be500738ac8df52d17ac00dd345a3c62d", "fetched_at": "2026-08-28T04:04:02.105785+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RubberDuck-com/rubberduck-use-case-playground"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 4, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 63, "days_push": 55, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 54, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}