Workspace storage
By default VirtuProbe Studio keeps your workspace (bundles, probes, projects, chains, scripts, suites, skills and environments) in a local database on your machine. You can instead point it at a folder, where the same workspace is stored as plaintext files. A team then shares that folder through whatever it already uses: git, Dropbox, OneDrive, Syncthing, or a network share.
Switching storage
Section titled “Switching storage”Open Settings → Workspace storage. It shows the active source — Local database or Shared folder (with its path) — and lets you switch:
- Use a folder… opens a native folder chooser.
- Use local database switches back to the built-in database.
After a switch the app reloads so every view reflects the new source.
Choosing what happens to an empty folder
Section titled “Choosing what happens to an empty folder”When you pick an empty folder, VirtuProbe asks how to set it up — it never copies your data in silently:
- Initialize a new workspace — start empty. Your local database is left untouched.
- Clone current workspace — copy your current bundles, probes, projects, chains, scripts and environments into the folder.
A folder that already contains a VirtuProbe workspace is adopted as-is (nothing is overwritten), so cloning a teammate’s repository and pointing VirtuProbe at it just works.
What the folder looks like
Section titled “What the folder looks like”<your folder>/├── bundles/ one folder per bundle; one file per probe├── projects/ project.json plus each project's environments├── chains/ one file per chain├── scripts/ one file per script├── suites/ one file per suite├── skills/ one file per skill└── credentials/ credential configuration only, never secretsEvery chain, script, suite and skill carries its bundle, so its scope travels with the file. These sit at the top level, not under a project, which keeps their git paths stable no matter which project a bundle is linked to. Environments and credential configuration stay project-level.
Files are written deterministically (stable ordering, one entity per file), so a commit diff shows only what actually changed and stays clean to review and merge. Conflict resolution happens in your own tooling: a merge conflict in git is the conflict-resolution step.
Sharing with git
Section titled “Sharing with git”VirtuProbe never runs git for you — it only reads and writes the folder. A typical flow:
cd <your folder>git initgit add -Agit commit -m "Share VirtuProbe workspace"git remote add origin <your repo>git push -u origin mainTeammates clone the repository, point VirtuProbe at the folder (it’s adopted automatically),
and git pull to pick up changes — VirtuProbe reloads when the folder changes underneath it.
Secrets are never in the folder
Section titled “Secrets are never in the folder”Credential secrets (passwords, tokens, keys) always stay in the local encrypted store on each machine, and are never written to the shared folder. Only non-secret credential configuration travels with the workspace. Share the secret out of band, or have each teammate enter it locally. See Credentials & Auth for how secrets are stored.
Environment variables are different, and worth being clear about. They are workspace content, so they are written into the folder and committed with everything else. That is what makes an environment shareable, and it is the right default for a base URL or a tenant name. It is the wrong place for a token: put that in a credential, which never leaves your machine.
If you want the safety net anyway, the next section is for you.
Encrypting environment values
Section titled “Encrypting environment values”Settings, Workspace storage, Encrypt environment variable values. Off by default. Turning it on asks for a workspace password and rewrites the folder.
After that, values are stored wrapped:
"variables": { "baseUrl": "enc:v1:8GSCgYkQ8tGoXO...", "apiToken": "enc:v1:mlxqlIvU0M+TZ..."}Variable names stay readable on purpose. The point of folder storage is a tree you can read and
review in a diff, and a name like baseUrl is not the secret. A changed value shows up as one
changed line; a value you did not touch is left exactly as it was, so a commit still shows only what
actually moved.
The password is stored on your machine and never written into the folder. Everyone who opens the workspace needs it, so keep it wherever your team keeps shared secrets. A teammate opening the folder for the first time is asked for it, and until they enter it VirtuProbe will not load the workspace and will not write to it. That refusal is deliberate: carrying on would mean writing every value back in the clear on the next save.
Two things this does not do:
- It does not un-share anything. Values already committed in plain text stay in your git history for good. If you are turning this on for a workspace that has been shared, rotate those values.
- It covers environment variables only. A token you typed straight into a probe header is still stored as you typed it. Credentials exist for that.
You can turn it off again, which rewrites the values in plain text.