Studio
Pull and push
The website sends a revision. The plugin writes scripts. Studio can send edits back.
Pull asks the server for the latest revision of the paired project. The server validates ownership, normalizes paths, and returns only that project's files.
The plugin creates missing services/folders and writes Script, LocalScript, and ModuleScript sources. It will not execute arbitrary website commands.
Push sends Studio script changes back. The server diffs, writes a revision, and logs the action. Cross-project ids are rejected.
If a path is not a known Roblox service, the file is dropped and the issue is recorded.