You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Machines: create and edit Projects on another Machine from the app #68
Follow-up to #66 (PR #67). #66 shows another Machine's Projects and controls their Services. This issue covers creating and editing Projects on a Machine from the app, so a developer never needs to sit at it.
What it looks like
Add Project › Runs on: This Mac | devbox. When a Machine is picked:
The folder picker becomes a remote folder browser. It starts in the Machine's home folder, with breadcrumbs and a path field that autocompletes. It only reads.
The scan runs on the Machine. Its core has the detectors, so the review sheet and its pre-checked Suggestions work as they do for a local folder.
The Project is saved on the Machine, in its own Project Configuration. Agents there (localhost mcp) see it at once, which keeps one truth.
Editing Services, Dependencies, variables, Environment Profiles and Removing all work as they do for this computer's Projects.
Secrets typed in the app go to the Machine's secret store over the SSH connection. Their values never come back.
Words: "Machine" and "Runs on", never "environment", which already means variables and Environment Profiles.
How
New Machine protocol requests, additive only, behind MACHINE_PROTOCOL_VERSION 2:
list a folder
scan a folder
add, update and remove a Project or Service
set and remove a Secret
Every change is made as Origin::Machine.
An older Machine answers Unsupported, and the app says that Machine's localhost needs updating.
The app hides editing for Machines on protocol 1.
Risks
Headless Machines often have no Secret Service running, or it's locked. Setting a Secret must then fail with a clear LocalhostError that says what to do, never fall back to storing it in plain text.
Two people or agents may edit the same Project at once. The Machine's ProjectLibrary decides, and every viewer gets the result through the existing Projects message.
Done when
Protocol requests and relay handlers, with tests over a duplex and over the private-sshd tests
FFI, and the macOS UI: the Runs on picker, the remote folder browser, the scan review, and editing
The same in the Tauri app
Docs: configuration docs, AGENTS.md Vocabulary (Machine, Forward) and Decisions
Activity