Skip to content

Implement first supported Linux runtime target #562

@codeforester

Description

@codeforester

Goal

Implement the first supported Linux runtime target for Base after the 1.0 release, starting with an Ubuntu/Debian-family environment.

This issue supersedes the completed planning issue #125. The existing design reference is docs/linux-support.md.

Scope

  • Detect Linux platforms through /etc/os-release and classify unsupported distributions clearly.
  • Make Base runtime commands work on the selected Linux target when prerequisites already exist.
  • Keep the initial support contract runtime-first; do not require Base to install every Linux prerequisite in the first slice.
  • Make basectl check, basectl doctor, and basectl ci report Linux prerequisite status without requiring Homebrew or Xcode.
  • Preserve macOS behavior and avoid weakening the current Homebrew-based support contract.
  • Add CI coverage for the selected Linux target.

Non-goals

  • Do not support every Linux distribution in the first pass.
  • Do not add Windows or WSL-specific support here.
  • Do not introduce a second manifest format for Linux.
  • Do not install GUI IDEs on Linux until a real project needs that path.

Acceptance criteria

  • The supported Linux target is named and documented.
  • Base commands have explicit, tested Linux behavior instead of falling through macOS assumptions.
  • basectl check and basectl doctor provide useful Linux findings in text and JSON modes.
  • basectl ci can run on Linux with preinstalled prerequisites.
  • GitHub Actions validates the Linux runtime path.
  • Documentation explains the Linux support boundary and points to follow-up work for full bootstrap support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions