Skip to content

VSCode extension: binary distribution and installation story #53

@nikomatsakis

Description

@nikomatsakis

Problem

When someone installs the Symposium VSCode extension from the marketplace, they need the symposium-acp binary (and transitively sacp-conductor) to actually run. Currently there's no automated way to get those binaries.

Approaches to explore

1. DotSlash (pragmatic near-term)

dotslash-cli.com - Meta's tool for platform-specific binary distribution.

  • Build platform-specific binaries in CI (macOS arm64/x64, Linux x64, Windows x64)
  • Publish to GitHub releases or similar
  • Bundle a DotSlash file in the extension that fetches the right binary on first run
  • Extension spawns via DotSlash which handles download/caching

2. WebAssembly (holy grail, longer term)

Compile Rust → WASM, run directly in VSCode's extension host.

  • No platform-specific binaries, everything bundled
  • True "install and it just works"
  • Challenges: Current architecture spawns child processes (conductor spawns components, MCP servers). WASM can't do that. Would need architectural rethinking - maybe the extension itself becomes the orchestrator.

Build considerations

  • Static linking with musl for portable Linux binaries
  • Cosmopolitan libc for truly universal binaries (single binary runs on Linux/Mac/Windows/BSD)

Tasks

  • Research DotSlash integration with VSCode extensions
  • Set up CI to build release binaries for target platforms
  • Decide on binary hosting (GitHub releases?)
  • Implement first-run binary download in extension
  • Explore WASM feasibility for longer term

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions