{"id":23722861,"url":"https://github.com/slyshyko/projlaunch","last_synced_at":"2026-04-15T16:05:53.347Z","repository":{"id":270390553,"uuid":"910012431","full_name":"slyshykO/projLaunch","owner":"slyshykO","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-23T08:26:34.000Z","size":854,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-23T09:31:36.565Z","etag":null,"topics":["elmish","fable","tauri"],"latest_commit_sha":null,"homepage":"","language":"F#","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/slyshykO.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}},"created_at":"2024-12-30T09:25:19.000Z","updated_at":"2025-06-23T08:26:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"a336e787-3b74-4a41-996d-869d9df3df7e","html_url":"https://github.com/slyshykO/projLaunch","commit_stats":null,"previous_names":["slyshyko/projlaunch"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/slyshykO/projLaunch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slyshykO%2FprojLaunch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slyshykO%2FprojLaunch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slyshykO%2FprojLaunch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slyshykO%2FprojLaunch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slyshykO","download_url":"https://codeload.github.com/slyshykO/projLaunch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slyshykO%2FprojLaunch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263828720,"owners_count":23516789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["elmish","fable","tauri"],"created_at":"2024-12-30T23:57:38.649Z","updated_at":"2026-04-15T16:05:53.341Z","avatar_url":"https://github.com/slyshykO.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# projlaunch\n\n`projlaunch` is a Tauri desktop app for keeping a small catalog of development projects and opening them quickly in your preferred IDE.\n\nThe current app is built with:\n\n- F# + Fable for the frontend application logic\n- Elmish + Feliz + Feliz.DaisyUI for the UI\n- Tauri 2 + Rust for desktop integration and process launching\n- Vite for the frontend dev/build pipeline\n- Paket for .NET package management\n\n## What The App Does\n\nThe app currently lets you:\n\n- view saved projects in a grid sorted by `lastOpened`\n- add a project from the UI with name, description, IDE, and solution/workspace path\n- open projects in:\n  - VS Code\n  - Visual Studio 2022\n  - Visual Studio 2026\n  - Rider\n- launch VS Code projects through remote targets:\n  - SSH\n  - WSL\n- persist window state between launches\n- inspect app/runtime details on the `About` page\n\nWhen a project is opened, the app updates its `lastOpened` value and rewrites the stored project record.\n\n## Current Limitations\n\n- The add-project dialog does not expose editing or deleting existing entries yet.\n- Remote launch options are only wired up for VS Code.\n- Visual Studio launch paths are currently hard-coded for Windows installs.\n- The test project exists, but it only contains a placeholder test right now.\n- The app expects its Tauri app-data `projects` directory to exist when reading saved projects.\n\n## Project Storage\n\nSaved projects are stored as individual JSON files in the Tauri app data directory under `projects/`.\n\nEach record includes:\n\n- `id`\n- `name`\n- `lastOpened`\n- `description`\n- `path`\n- `ide`\n- `environment`\n- `remote`\n\n`remote` supports either:\n\n- `Ssh { host, username }`\n- `Wsl \"\u003cdistro\u003e\"`\n\n## Repository Layout\n\n- `src/` - F# frontend application code compiled with Fable\n- `src-tauri/` - Rust/Tauri host application and native commands\n- `src-test/` - xUnit test project\n- `build/` - custom F# build helper used by `build.bat`\n- `serde-probe-lib/` - local shared/library code referenced by the app\n\n## Requirements\n\nFor local development, this repo expects:\n\n- Node.js + npm\n- .NET SDK 10\n- Rust toolchain\n- Tauri prerequisites for your platform\n\nOn Windows, you will also want the IDEs you plan to launch installed and available on disk/path.\n\n## Development\n\nInstall/restore dependencies as needed:\n\n```powershell\nnpm install\ndotnet tool restore\ndotnet paket restore\n```\n\nStart the frontend + Tauri dev workflow:\n\n```powershell\nnpm run tauri dev\n```\n\nUseful npm scripts:\n\n```powershell\nnpm run dev\nnpm run start\nnpm run build\n```\n\nNotes:\n\n- `npm run dev` starts Fable in watch mode and runs Vite in development mode.\n- `npm run start` is a lighter watch/serve variant.\n- `npm run build` compiles the frontend into `dist/`.\n\n## Build And Maintenance\n\nThe repo also includes a custom Windows helper:\n\n```powershell\n.\\build.bat build\n.\\build.bat clean\n.\\build.bat update\n.\\build.bat build-daisyui\n.\\build.bat help\n```\n\nWhat these do:\n\n- `build` syncs Feliz.DaisyUI source references in `src/index.css` and then runs `npm run tauri build`\n- `clean` runs `cargo clean` for the Tauri app\n- `update` runs npm/cargo update checks\n- `build-daisyui` builds a local `Feliz.DaisyUI` checkout if present\n\n## Tests\n\nRun tests with:\n\n```powershell\ndotnet test .\\src-test\\src-test.fsproj\n```\n\nAt the moment, the test suite is only a placeholder and does not cover the launcher behavior yet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslyshyko%2Fprojlaunch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslyshyko%2Fprojlaunch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslyshyko%2Fprojlaunch/lists"}