Skip to content

Add install.sh script for automated setup across package managers #34

Description

@WolfgangFahl

Problem

The current AGENTS.md and README.md provide manual setup instructions. Users need to:

  1. Install Node.js v22 via their package manager
  2. Install Meteor via curl
  3. Install MongoDB
  4. Run meteor npm ci
  5. Install MCP server connectivity (API key generation, opencode config)

This is error-prone, especially since:

  • Meteor has no MacPorts port on macOS — users must use the curl installer and manually configure PATH
  • Different OS/package manager combinations (Homebrew, MacPorts, apt, dnf, etc.) require different commands
  • New contributors shouldn't need to read through docs to get started
  • MCP onboarding requires browser console steps (find projectId, call generateApiKey, copy-paste key)

Proposed Solution

  • install.sh — automated, idempotent setup script that detects OS and package manager, installs Node.js v22, Meteor, and npm deps
  • mcp-install.sh — one-command MCP setup: detects running ViziQuer, auto-generates API key via localhost endpoint, configures opencode (jq merge)
  • POST /api/v1/mcp-install endpoint — localhost-only, auto-creates project if needed, generates API key, returns it

Files

File Purpose
install.sh Automated prereq install + meteor npm ci
mcp-install.sh One-command MCP setup (auto key + opencode config)
app/imports/platform/server/api_router.js Added POST /api/v1/mcp-install (localhost-only, auto project + key)

Acceptance Criteria

  • install.sh works on macOS with MacPorts
  • install.sh works on macOS with Homebrew
  • install.sh works on Debian/Ubuntu (apt)
  • mcp-install.sh auto-generates API key with zero manual steps
  • mcp-install.sh configures opencode if jq + ~/.config/opencode/opencode.json exist
  • POST /api/v1/mcp-install is localhost-only, auto-creates project if needed
  • No browser console, no copy-paste, no manual config

Related

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions