{"adoption": {"forks": 355, "observed_at": "2026-08-28T04:07:47.754279+00:00", "stars": 3179}, "canonical_url": "https://ross.abutalabs.com/products/flyenv", "card": {"archived": false, "artifact_type": "application", "description": "Native local development environment for Windows, macOS & Linux. Run PHP, Node.js, Python, databases, web servers, local sites, HTTPS, AI coding tools and MCP from one desktop app.", "domain": ["developer-tools", "web-development", "databases", "self-hosted", "cross-platform"], "enriched": true, "function": ["developer-tools", "http-server", "database", "caching", "configuration-management", "mcp", "self-hosted"], "health_score": 100, "homepage": "https://flyenv.com", "language": "TypeScript", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["xpf0000/FlyEnv"], "name": "xpf0000/FlyEnv", "platform": ["windows", "cross-platform"], "pushed_at": "2026-08-26T01:44:36+00:00", "repo": "xpf0000/FlyEnv", "stars": 3179, "tags": ["xampp-alternative", "local-development", "runtime-version-manager", "local-https", "docker-alternative", "electron-app", "multi-runtime", "macos", "linux", "desktop"], "topics": ["php", "development-environment", "mysql", "nodejs", "python", "windows", "docker-alternative", "linux", "local-development", "macos", "redis", "xampp-alternative", "dev-environment", "developer-tools", "golang", "java", "mcp", "mcp-server", "nginx", "postgresql"], "urls": [], "use_cases": ["run php mysql redis nginx locally without docker", "switch node.js version per project", "set up local laravel development environment", "create local https site without editing hosts file", "manage multiple python versions on windows", "replace xampp with a modern local dev environment", "connect local dev stack to ai coding tools via mcp"], "what_it_is": "FlyEnv is a native desktop application for managing local development environments on Windows, macOS, and Linux. It lets developers install and run multiple versions of languages, databases, web servers, and caches natively (without Docker), manage per-project runtime versions, create local domains with HTTPS, and connect AI coding tools via a built-in MCP server.", "when_to_avoid": ["you need Docker Compose or Kubernetes parity for production-like container environments", "your team standardizes on containerized workflows and CI parity matters", "you only need a single runtime and a lightweight version manager suffices", "you require orchestration of multi-service distributed systems"], "when_to_choose": ["you want a XAMPP/MAMP/Herd-style all-in-one local stack across Windows, macOS, and Linux", "you need per-project runtime version switching without touching your system PATH", "you want native binaries and fast startup instead of container overhead", "you need local domains with trusted HTTPS without manual mkcert/hosts setup"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/flyenv", "repo": "xpf0000/FlyEnv", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "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:07:47.754279+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.754279+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:25:06.789513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3e1e38c98330c92691518fe8d30370b5cf6428b3b1a033a1cf2b4ffcf4d06948", "fetched_at": "2026-08-28T04:07:47.754279+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xpf0000/FlyEnv"}, {"content_hash": "2f2c2a9f3a81b9bf601a4a122eba455e762d6f0c5138581877a025d0e57df12b", "fetched_at": "2026-08-29T09:39:38.423533+00:00", "kind": "homepage", "missing": false, "url": "https://flyenv.com"}, {"content_hash": "ec140663ebeed4527e2cd135c3346dba0f8b68fbbc7b7b06b4f8c0b751c936c5", "fetched_at": "2026-08-29T09:39:38.432818+00:00", "kind": "site_page", "missing": false, "url": "https://flyenv.com/guide/getting-started.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 98}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2335, "days_push": 8, "days_rel": 12, "gap_med": 9.0, "n_releases_24m": 45}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}