{"adoption": {"forks": 39, "observed_at": "2026-08-28T04:04:07.132522+00:00", "stars": 1246}, "canonical_url": "https://ross.abutalabs.com/products/ultra-runner", "card": {"archived": false, "artifact_type": "cli-tool", "description": "🏃⛰ Ultra fast monorepo script runner and build tool", "domain": ["developer-tools"], "enriched": true, "function": ["build-tool", "cli", "developer-tools"], "health_score": 80, "homepage": "https://www.npmjs.com/package/ultra-runner", "language": "TypeScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["folke/ultra-runner"], "name": "folke/ultra-runner", "platform": ["cli", "cross-platform"], "pushed_at": "2026-08-26T15:50:04+00:00", "repo": "folke/ultra-runner", "stars": 1246, "tags": ["monorepo", "npm-scripts", "task-runner", "parallel-execution", "workspaces", "incremental-builds", "command-line", "automation", "nodejs"], "topics": ["concurrent", "parallel", "lerna", "pnpm", "yarn-workspaces", "monorepo", "npm", "build", "build-tool", "script-runn", "script-runner", "npm-scripts", "hacktoberfest"], "urls": [], "use_cases": ["run npm scripts across a monorepo in parallel", "incrementally rebuild only changed packages in a workspace", "replace lerna or yarn workspaces script running with something faster", "speed up npm run, yarn, and npx command execution", "run a script recursively in all packages that define it", "monitor and zoom output of concurrent build commands"], "what_it_is": "Ultra Runner is a fast monorepo script runner and build tool for JavaScript/TypeScript projects. It detects existing lerna, yarn, npm, and pnpm workspaces, runs scripts in parallel with dependency awareness, and only rebuilds packages when files change.", "when_to_avoid": ["you need a full monorepo manager with publishing and versioning like lerna or nx", "your project is a single package with no workspaces", "you rely on tooling deeply integrated with a specific package manager's runner"], "when_to_choose": ["you have a lerna, yarn, npm, or pnpm monorepo and want faster builds", "you want zero-config, non-intrusive parallel script execution", "you need dependency-aware concurrent builds with incremental rebuilds"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ultra-runner", "repo": "folke/ultra-runner", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "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:07.132522+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.132522+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:08:03.175686+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "165855fb6ccff06e4d73ee1388a485a5e4cdfc474afda603315f924291ed9d12", "fetched_at": "2026-08-28T04:04:07.132522+00:00", "kind": "readme", "missing": false, "url": "https://github.com/folke/ultra-runner"}, {"content_hash": "40135f3bbb9dcb5e1bf03432e6e4df56872f6a80e01b512348e124398d972b72", "fetched_at": "2026-08-29T12:19:30.263787+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ultra-runner"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "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": 2415, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}