Skip to content

feat(launcher): open the installed Editor Plugin from the desktop #35

Description

@ZhangchengCharles

Parent

#34

What to build

Let a user on Windows, macOS, or Linux double-click a minimal desktop launcher that discovers the currently installed cut-as-code Editor Plugin through supported Codex Plugin metadata, validates the selected installed release, invokes its existing Editor Hub launch operation without shell interpolation, and opens the localhost project picker. The launcher remains a stable bootstrapper with no editor assets or business logic.

Acceptance criteria

  • Windows, macOS, and Linux each have a minimal double-clickable launch artifact with the same observable launch behavior.
  • Launch discovers the installed Plugin identity and marketplace through supported Codex Plugin metadata rather than a repository checkout or hard-coded developer path.
  • When several cached releases exist, launch selects the newest valid installed release deterministically and ignores malformed, incomplete, and unrelated entries.
  • The selected release must contain the expected Plugin manifest and Hub client entry before it can execute.
  • The launcher invokes the selected Plugin's existing Hub client launch operation using executable and argument arrays without shell interpolation.
  • A successful launch starts or reconnects to the existing localhost Hub and opens its project picker in the default browser.
  • Browser-open failure leaves an actionable localhost URL available without weakening the existing launch-token and session protections.
  • Missing Codex, no installed Plugin, invalid Plugin, and Hub launch failure produce distinct concise guidance without exposing credentials, launch tokens, project contents, environment dumps, or unnecessary local paths.
  • Concurrent double-clicks converge through the existing Hub startup contract rather than creating launcher-owned services or locators.
  • The existing Agent-driven MCP project-open path remains unchanged.
  • One launcher-level behavioral contract covers successful discovery and launch plus missing prerequisites, multiple versions, invalid candidates, metacharacter-containing paths, Hub failure, browser fallback, and concurrent invocation across the three OS adapters.
  • The packaged Plugin and launcher checks pass, and Playwright with installed Chrome verifies that launch reaches the project picker and can open a registered project.

Blocked by

None — can start immediately.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentSpecification is ready for implementation by an agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions