M8 — Linux support

Aperta
#56 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
rust, swift

Direzione di ricerca

Leggi il design del remote-daemon M7 in docs/superpowers/specs/2026-07-31-clowder-m7-remote-daemon-design.md, quindi analizza clowder-daemon, clowder-client e clowder-workspace per verificarne la portabilità su Linux. Verifica se il daemon Rust viene compilato ed eseguito su Linux e può usare il trasporto remoto M7d esistente; per questa issue, “completato” significa che i sottoprogetti sono stati scomposti e che è stato concordato un ordine prima di definire specifiche e piani specifici per ogni slice.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement priority: medium rust

Context

clowder is macOS-centric today: the frontend is a SwiftUI app embedding libghostty (macos/), and packaging/signing/Homebrew are all macOS. The Rust core is cross-platform in principle:

  • clowder-daemon (agent PTYs, control/hook sockets, worktrees) — Rust + portable-pty + unix sockets; likely portable to Linux with modest work.
  • clowder CLI (clowder attach, clowder connect, spawn) — Rust, raw-mode terminal; likely portable.
  • The macOS app is the hard part — there is no equivalent on Linux.

The M7 remote-daemon spec gestured at this (docs/superpowers/specs/2026-07-31-clowder-m7-remote-daemon-design.md, "the M8 Linux …" is listed as out-of-scope/future).

Needs scoping (its own brainstorm first)

This is a large, new direction that should be decomposed before committing to a plan. Open questions:

  • Frontend on Linux: no SwiftUI/libghostty app. Options: (a) a pure-CLI / terminal-multiplexer client (run clowder attach <pane> panes inside tmux/zellij or a plain terminal), (b) a native Linux GUI embedding ghostty's GTK path, (c) rely on the M7 remote path — a Linux box runs clowder-daemon, the user drives it from the macOS app over TLS (already shipped in M7d, #53).
  • Daemon portability: audit clowder-daemon/clowder-client/clowder-workspace for macOS-isms (paths, signals, PTY specifics); confirm the socket/runtime-dir logic ($XDG_RUNTIME_DIR already handled) and worktree provisioning work on Linux.
  • CI/packaging: a Linux job (currently CI is runs-on: macos-15 only) + a Linux distribution story.

First step

Brainstorm → decompose into sub-projects (which pieces, what order), then spec → plan → SDD per slice. The cheapest early win may be (c): verify the Rust daemon builds+runs on Linux and is drivable from the existing macOS app via the M7d remote transport, deferring a native Linux frontend.

Lingua principale
Rust
Stelle
0
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di richardcase/clowder

Tutte le issue di richardcase/clowder

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.