{"id":50787867,"url":"https://github.com/simoon-f/envora","last_synced_at":"2026-06-14T11:00:33.210Z","repository":{"id":363522830,"uuid":"1262025360","full_name":"Simoon-F/envora","owner":"Simoon-F","description":"A desktop local development environment manager for runtimes, services, and developer toolchains.","archived":false,"fork":false,"pushed_at":"2026-06-10T13:19:40.000Z","size":14109,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-13T10:25:22.879Z","etag":null,"topics":["composer","desktop-app","developer-tools","development-environment","devtools","go","java","mysql","nginx","nodejs","npm","php","pnpm","react","runtime-manager","rust","tauri","typescript","yarn"],"latest_commit_sha":null,"homepage":"https://github.com/Simoon-F/envora/releases","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Simoon-F.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-07T13:26:57.000Z","updated_at":"2026-06-11T10:31:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Simoon-F/envora","commit_stats":null,"previous_names":["simoon-f/envora"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Simoon-F/envora","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simoon-F%2Fenvora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simoon-F%2Fenvora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simoon-F%2Fenvora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simoon-F%2Fenvora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Simoon-F","download_url":"https://codeload.github.com/Simoon-F/envora/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simoon-F%2Fenvora/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34318525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composer","desktop-app","developer-tools","development-environment","devtools","go","java","mysql","nginx","nodejs","npm","php","pnpm","react","runtime-manager","rust","tauri","typescript","yarn"],"created_at":"2026-06-12T09:04:01.780Z","updated_at":"2026-06-14T11:00:33.074Z","avatar_url":"https://github.com/Simoon-F.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Envora\n\n[简体中文](README.zh-CN.md) | English\n\nEnvora is a desktop local development environment manager for runtimes,\nservices, and developer toolchains.\n\nIt helps you install and switch runtimes, start or stop services, edit common\nconfiguration files, manage local sites, and keep language-specific tools close\nat hand from a single friendly interface.\n\n\u003e This project is moving toward open source. The codebase is still young, but\n\u003e the direction is clear: make local development environments lighter, more\n\u003e visible, and easier to share.\n\n## What Envora Does\n\n- Manage local runtimes, services, and developer toolchains from a desktop app.\n- Install supported runtime versions with progress feedback.\n- Set default versions and expose runtime binaries to your shell.\n- Start, stop, restart, and inspect service status.\n- View and clear service logs.\n- Edit `php.ini`, `nginx.conf`, virtual host configs, and `my.cnf`.\n- Create Nginx virtual hosts and manage related `/etc/hosts` entries.\n- Manage MySQL users and databases.\n- Install, update, configure, and run Composer commands.\n- Grow toward Node.js, Rust, Go, Java, npm, pnpm, yarn, and other toolchains.\n- Switch between light, dark, and system themes.\n\n## Why\n\nLocal development environments can become scattered across shell scripts,\npackage managers, global services, hidden config files, and old runtime\nversions. Envora aims to make that state visible and manageable without forcing\ndevelopers to give up the tools they already understand.\n\nThe goal is not to hide the tools developers already use. The goal is to put\nthe important controls in one place, keep files editable, and make the local\nenvironment easier to reason about.\n\n## Current Status\n\nEnvora is currently in early development.\n\nThe app already contains working PHP, Nginx, MySQL, Composer, service,\nconfiguration, virtual host, and settings screens, but the project is not yet a\npolished stable release. Some features may be macOS-first, platform support is\nstill being refined, and release packaging is evolving.\n\nIf you try it, please expect sharp edges and report anything confusing. Those\nreports are valuable.\n\n## Runtime And Toolchain Support\n\n| Runtime or tool | Current support |\n| --- | --- |\n| PHP | Prebuilt packages for macOS via the `envora-runtime-packages` releases, official Windows archives |\n| Nginx | Source download and local build |\n| MySQL | Official MySQL Community Server archives |\n| Composer | Envora-managed Composer plus system Composer detection |\n| Node.js, Rust, Go, Java | Planned |\n| npm, pnpm, yarn | Planned |\n\nRuntime release packaging notes live in\n[docs/release-runtimes.md](docs/release-runtimes.md).\n\nBinary runtime assets are being split into a dedicated repository:\n[`Simoon-F/envora-runtime-packages`](https://github.com/Simoon-F/envora-runtime-packages).\n\n## Tech Stack\n\n- [Tauri 2](https://tauri.app/) for the desktop shell and native integration\n- [Rust](https://www.rust-lang.org/) for runtime, service, download, and config\n  management\n- [React](https://react.dev/) and [TypeScript](https://www.typescriptlang.org/)\n  for the interface\n- [Vite](https://vite.dev/) for frontend tooling\n- [Tailwind CSS](https://tailwindcss.com/) and shadcn-style UI primitives\n- [SWR](https://swr.vercel.app/) and [Zustand](https://zustand.docs.pmnd.rs/)\n  for client-side data flow\n\n## Requirements\n\n- Node.js\n- pnpm\n- Rust toolchain\n- Tauri system dependencies for your platform\n\nFor macOS runtime builds, Envora may also need Xcode Command Line Tools:\n\n```bash\nxcode-select --install\n```\n\nWhen building Nginx locally, make sure common build tools and libraries are\navailable on your system.\n\n## Getting Started\n\nClone the repository:\n\n```bash\ngit clone https://github.com/Simoon-F/envora.git\ncd envora\n```\n\nInstall dependencies:\n\n```bash\npnpm install\n```\n\nRun the Tauri development app:\n\n```bash\npnpm tauri dev\n```\n\nBuild the frontend:\n\n```bash\npnpm build\n```\n\nBuild the desktop app:\n\n```bash\npnpm tauri build\n```\n\n## Project Structure\n\n```text\n.\n├── src/                  # React app\n│   ├── components/       # Layout, UI, and runtime detail components\n│   ├── hooks/            # Tauri/SWR data hooks\n│   ├── pages/            # Dashboard, runtimes, Composer, settings\n│   ├── stores/           # Client-side state\n│   └── types/            # Shared frontend types\n├── src-tauri/            # Tauri and Rust backend\n│   ├── assets/           # Default runtime config templates\n│   └── src/\n│       ├── commands/     # Tauri command handlers\n│       ├── core/         # Platform helpers and shared errors\n│       ├── download/     # Download and extraction logic\n│       ├── runtime/      # PHP, Nginx, MySQL providers\n│       ├── service/      # Service lifecycle management\n│       └── settings/     # App settings and paths\n└── docs/                 # Project documentation\n```\n\n## Contributing\n\nContributions are welcome.\n\nBecause Envora is still taking shape, the most helpful contributions right now\nare:\n\n- Clear bug reports with your operating system, architecture, and reproduction\n  steps.\n- Feedback about confusing flows or missing local-development features.\n- Small, focused pull requests.\n- Runtime packaging notes and platform-specific fixes.\n- Documentation improvements.\n\nBefore opening a larger pull request, please start with an issue or discussion\nso we can align on the direction.\n\n## Development Notes\n\n- Keep runtime behavior explicit. Envora should make local state easier to see,\n  not harder.\n- Prefer editable config files over opaque generated state.\n- Keep platform differences visible in the Rust layer.\n- Avoid broad rewrites while the app is stabilizing.\n- Be careful with service processes, ports, filesystem writes, and shell\n  environment changes.\n\n## Roadmap\n\n- Improve cross-platform runtime and toolchain support.\n- Add Node.js, Rust, Go, Java, npm, pnpm, yarn, and related tooling.\n- Add clearer release packaging and update flows.\n- Expand diagnostics for failed downloads, builds, and service starts.\n- Improve first-run onboarding.\n- Add tests around runtime providers and service lifecycle behavior.\n- Publish stable installation packages.\n\n## License\n\nThe license has not been finalized yet.\n\nIf you plan to use Envora in another project, please wait until a license file\nis added or open an issue to discuss your use case.\n\n## Acknowledgements\n\nEnvora builds on the excellent work of the Tauri, Rust, React, PHP, Nginx,\nMySQL, Composer, and open source tooling communities.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimoon-f%2Fenvora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimoon-f%2Fenvora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimoon-f%2Fenvora/lists"}