richardcase / richardcase/clowder
M8 — Linux support
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 14m
- Merged PRs (30d)
- 16
Description
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.clowderCLI (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 runsclowder-daemon, the user drives it from the macOS app over TLS (already shipped in M7d, #53). - Daemon portability: audit
clowder-daemon/clowder-client/clowder-workspacefor macOS-isms (paths, signals, PTY specifics); confirm the socket/runtime-dir logic ($XDG_RUNTIME_DIRalready handled) and worktree provisioning work on Linux. - CI/packaging: a Linux job (currently CI is
runs-on: macos-15only) + 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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the M7 remote-daemon design in docs/superpowers/specs/2026-07-31-clowder-m7-remote-daemon-design.md, then audit clowder-daemon, clowder-client, and clowder-workspace for Linux portability. Verify whether the Rust daemon builds and runs on Linux and can use the existing M7d remote transport; done for this issue means decomposed sub-projects with an agreed order before slice-specific specs and plans.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, swift
- Domain
- cli, desktop, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100