Skip to content

Repository files navigation

Runspace

Runspace is a desktop sandbox for running multiple programming runtimes in isolated, on-demand environments.

Requirements

Using Runspace

Install the release build for your platform.

Each environment you add in the playground needs its own runtime installed and configured in Settings → Environments (binary paths are auto-detected when possible).

Environment What you need
Node.js Node.js
PHP PHP
Python Python
Ruby Ruby
GCC (C) GCC (Xcode Command Line Tools on macOS)
G++ (C++) G++ (Xcode Command Line Tools on macOS)
Laravel PHP + Composer
Symfony PHP + Composer
Dropwizard Java JDK + Maven
CakePHP PHP + Composer
Slim PHP + Composer
Laminas PHP + Composer
Phalcon PHP (with Phalcon extension) + Composer
Express Node.js + npm
Micronaut Java JDK + Maven
Vert.x Java JDK + Maven
Spring Boot Java JDK + Maven
Ktor Kotlin + Gradle
Padrino Ruby + Bundler + Padrino
Quarkus Java JDK + Maven
Express Node.js
Roda Ruby + Bundler
Phalcon PHP (with Phalcon extension) + Composer
Ktor Kotlin + Gradle
JHipster Java + Maven
Flask Python
Koa Node.js
Hono Node.js
Fastify Node.js
NestJS Node.js
Play Framework Scala + sbt

You only install the runtimes for the environments you use. Node.js is not required to run PHP, and so on.

Developing Runspace

To build or contribute to Runspace from source:

  • Node.js 20+
  • Rust stable
  • Xcode Command Line Tools (macOS)
  • Composer — generates bundled Laravel/Symfony/CakePHP skeletons during build (npm run prepare:frameworks)
  • Composer — generates bundled Laravel/Symfony/Slim skeletons during build (npm run prepare:frameworks)
  • Composer — generates bundled Laravel/Symfony/Laminas skeletons during build (npm run prepare:frameworks)
  • Composer — generates bundled Laravel/Symfony/Phalcon skeletons during build (npm run prepare:frameworks)
  • Composer — generates bundled Laravel/Symfony skeletons during build (npm run prepare:frameworks)
  • curl — generates bundled Micronaut skeleton via launch.micronaut.io during build
  • curl — generates bundled Spring Boot skeleton via start.spring.io during build
  • Ruby 3.2+ with Bundler and the padrino gem — generates the bundled Padrino skeleton during build (npm run prepare:frameworks)
  • curl — generates bundled Quarkus skeleton via code.quarkus.io during build
  • npm — generates bundled Express skeleton during build (npm run prepare:frameworks)
  • Ruby + Bundler — generates bundled Roda skeleton during build (npm run prepare:frameworks)
  • Gradle — generates bundled Ktor skeleton during build (npm run prepare:frameworks)
  • npm — generates bundled Express/JHipster skeletons during build (npm run prepare:frameworks)
  • Python with pip — generates the bundled Flask skeleton during build (npm run prepare:frameworks)
  • sbt — generates the bundled Play skeleton during build (npm run prepare:frameworks)

Development

Install dependencies:

npm install

Run the desktop app in development mode (with hot reload):

npm run tauri dev

Build the production app:

npm run tauri build

Run tests:

npm test

Generate Laravel/Symfony/Express/Vert.x skeletons manually (first clone or after bumping manifest.json): Generate Laravel/Symfony/CakePHP skeletons manually (first clone or after bumping manifest.json): Generate Laravel/Symfony/Slim skeletons manually (first clone or after bumping manifest.json): Generate Laravel/Symfony/Laminas skeletons manually (first clone or after bumping manifest.json): Generate Laravel/Symfony/Express/Spring Boot skeletons manually (first clone or after bumping manifest.json): Generate Laravel/Symfony/Express/ASP.NET Core/Padrino skeletons manually (first clone or after bumping manifest.json): Generate Laravel/Symfony/Express/Quarkus skeletons manually (first clone or after bumping manifest.json): Generate Laravel/Symfony/Express/Roda skeletons manually (first clone or after bumping manifest.json): Generate Laravel/Symfony/Express/Ktor skeletons manually (first clone or after bumping manifest.json): Generate Laravel/Symfony/Express/JHipster skeletons manually (first clone or after bumping manifest.json): Generate framework skeletons manually (first clone or after bumping manifest.json):

npm run prepare:frameworks

Lint:

npm run lint

About

Runspace is a desktop sandbox for running multiple programming runtimes in isolated, on-demand environments

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages