BlastLauncher/blast

Towards 1.0

Opened this issue · 0 comments

Brief

Now, Blast is packaged and distributed as an Electron app.

Once downloaded and launched, it will download and extract the node.js runtime to $HOME/.blast/node. This will be used to initiate the blast-runtime script.

The primary objective for version 1.0 is to create an interface that can run as many Raycast extensions as possible.

Exploration

  • How to track api implementation progress in public?
  • Explore node worker thread model for runtime to starting extensions (separated threads for each extension command)

Runtime & API

  • Passing WebSocket server running port through command line argument
  • Make party parrot extension works
  • Make LocalStorage extension-wise
  • Cache API
  • Check all icons
  • Toast API

Frontend

  • #21
  • Polish Form Component
  • Refactor List & Command component
  • Form navigation
  • Handle default action
  • Register Keybindings
  • #35

Design

  • #31
  • Replacing Design system, maybe fluent ui

Archived

Extension App Architecture

  • #5
  • #7
  • #9
  • #16
    • Generate command lists from extension directory
    • Load command dynamically
    • Store: list packages from npm org @blast-extensions, and fetch contributed commands

Enginerring

  • 🔽 extract renderer core, using yarn workspaces or something
    • Eventually I use pnpm workspace

Marketplace

  • #10
  • Implement ray package to package extension like this Use ray build directly
  • #11