kat-tax/ult

Studio

Opened this issue · 1 comments

Studio

GUI for ULT and other npm based projects

https://my.ult.dev

ULT Studio Mockup

Tasks

  • List projects
  • Terminal tabs
  • Embedded terminals
  • New project dialog
  • Release version dialog
  • Change branch dropdown
  • Run platforms action
  • Test platforms action
  • Deploy platforms action

Features

List projects

Show list of added projects on disk. Must have valid package.json file and be a git repository. Scrape name, version from package.json. Scrape icon from known locations. List platforms available depending on dependencies.

Create new project

Show the create project dialog. Prompt below items, create new terminal tab, run npx ult [name], show output in embedded terminal.

  • name text field
  • base select (default, minimal)
  • platforms multi-select (web, android, windows, macos, ios)

Add existing project

Show add existing project dialog. Allow either git or local folder as input. For local folder, on web use native filesystem api, on desktop use native folder picker. For git use js-git on web, installed git on desktop.

Change branch

Show current branch, list all branches & tags, accept commit hash

Release version

Click on the version to show the release dialog. Prompt below items:

  • version text field
  • changelog text area
  • channel select (alpha, beta, production)

Run platform

When clicking run button in toolbar show tooltip with available platforms in color, disabled greyed out. When clicking them, launch an embedded terminal and run the respective command.

Terminal tabs

List webpack and metro tabs first if they are running. Click close button in tab terminates the process. Show add button after open tabs. List npm scripts or blank terminal in tooltip when clicking add button.

This project will reside in: https://github.com/kat-tax/my-ult