AppSite Vault — CLI Extension
The AppSite Vault on this computer, inside VS Code. See, sync and open the offline copies of the AppSite platform and every tenant, through the appsite CLI.
Appsations, Inc. · British Columbia, Canada · Business Number 789127487 · appsations.appsite.ca
Prefer the file? Download the .vsix
What it does
By Appsations, Inc · for the AppSite project · part of the Vault module (-appsitetm_vault, vault.appsite.ca).
The AppSite Vault on this computer, inside VS Code. The Vault is the folder where AppSite keeps offline copies of what the modules register (Podcast recordings and their Final HD renders, Podcast's data as readable JSON, Gallery's artwork), in two-way sync with the cloud. It covers the platform's own tenant and every other tenant, one folder each.
The appsite command-line tool keeps the Vault: the folder, the record of what each sync agreed on, the plan, and the checksums. This extension shows what the tool reports and asks it to act. It never moves a file itself.
What you see
- Vault (the panel, drawn the way AppSite draws its own pages). The sidebar keeps it short: the AppSite logo and your profile badge, one line saying how the Vault is (all in step, or how many conflicts and changes are waiting), only the features that need you (each with the one button it needs: Fix… for a conflict, Sync for waiting changes), Sync…, Open in editor and a More menu (Change tenant, Check the cloud, Refresh, Show folder, Open the Vault module, Browse files, Browse Hosting). Every tenant is folded away under that. Open in editor opens the same Vault in a full-width tab, where each tenant's card shows every feature's state with its Sync and Plan buttons, an acknowledgment card (the one the blog closes a post with; it names who ran the last sync) and the Files and Hosting views.
- On This Computer (the tree). It shows:
- the Vault folder, and any conflicts first;
- each tenant and its features, plus the shared features (Gallery);
- the tenants the Vault does not read.
- The status bar shows conflicts first, then what is waiting (
↓ to pull ↑ to push), else "in step", else how much is held.
Opening the panel reads this computer only (appsite vault status --local --json). That needs no network and no sign-in, and answers at once. Check the Cloud asks the cloud for every tenant, or for one tenant from its card. It only reads: it runs with --no-publish, so a look never writes anything to Firestore.
Repositories — your tenant SDK and its modules, in one view. Open your tenant SDK (the folder that holds your modules as Git submodules) and the Repositories view shows each module's branch, what is ahead or behind its remote, uncommitted work, a detached HEAD, a module whose checked-out commit is not the one the SDK records, and the module's own version — with the ones that need attention at the top. Fetch All checks every remote (remote branches only), Pull fast-forwards a module, Initialise Module brings in a module that is missing, and Copy Report gives you the state as text.
Works with AppSite AI. The two extensions are built to work together. With AppSite AI - CLI Extension installed and signed in, each module shows AppSite's version next to its own (the same comparison as AppSite AI's /update), AppSite AI's /repos summarises your repositories in the chat, and Ask AppSite AI About This… hands it a repository's state to explain and plan. Each works without the other; together they show you what is out of date and what to do first.
Requirements
You need
- Visual Studio Code 1.85 or newer, on macOS, Windows or Linux — the desktop editor (there is no browser version). The extension runs on the computer that holds the Vault, even when VS Code is connected to a remote window.
- The
appsite CLI on this computer. It keeps the Vault; the extension only shows what it reports and asks it to act. The Vault module's Connect a computer page has the one-line installer.
- Google sign-in for the cloud — the Google Cloud SDK, then
gcloud auth application-default login once. The tool reaches the cloud with your Google credentials.
- Git on this computer, for the Repositories view (it asks Git read-only questions; the Vault and Files views do not need it).
- Disk space for the Vault folder. It holds offline copies of what the modules register, including Podcast recordings and their Final HD renders.
What works offline. Opening the panel reads this computer only — no network and no sign-in. Check the Cloud and syncing need the internet.
Get started
- Install the
appsite tool. The Vault module's Connect a computer page has the one-line installer for macOS, Linux and Windows. Then run gcloud auth application-default login once.
- Install the extension from the Visual Studio Marketplace — search AppSite Vault in VS Code's Extensions view — or download
appsite-vault-cli-extension.vsix from the Vault module and run Extensions: Install from VSIX….
- Click the AppSite icon in the activity bar.
The tool is found on PATH and in the usual install folders, even when VS Code was started from the Dock. Otherwise set appsite.vault.cliPath.
Commands
|
|
| Sync… |
Your default tenant (appsite), all tenants, or another tenant; then everything or one feature. The sync runs as a task in a terminal you can see and answer. The extension never passes --yes, so the tool asks you before any upload, before a download over 1 GiB, and once before a sync of all tenants. When it ends well, the same tenants are checked again (read-only), so the view says "in step". |
| Plan… |
What a sync would do. Nothing moves. |
| Conflicts |
When both sides changed a file, the sync kept both and the cloud's version sits beside yours. Compare the Two Copies opens a diff for text, such as Podcast's JSON. Keep This Computer's Version or Keep the Cloud's Version runs sync <feature> --prefer local\|remote, which settles every conflict in that feature for that tenant, and the extension tells you so first. Afterwards it offers to move the leftover conflict copies to the Trash. A sync itself never deletes anything. |
| Show the Vault Folder |
Opens it in Finder or Explorer, or in a new VS Code window. |
| Open the Vault Module… |
Overview, Files, Data, Computers, Costs, Connect a computer, Settings. |
| Open the Vault in the Editor |
The Vault in a full-width tab: every tenant with its features and their buttons, plus Files and Hosting. The sidebar stays a short status. |
| Tell the Vault What This Computer Holds |
appsite vault status --all-tenants, which reports to the Vault module's Computers page, visible to platform administrators. This is the one command here that writes. |
| Sign In to Google (Once) · Run the CLI Doctor |
The tool reaches the cloud with your Google credentials (gcloud auth application-default login). |
All tenants. Each tenant has its own folder (<vault>/<tenant>/…), so one tenant's copies never sit in another's. A tenant whose data is in its own Google project is not read: the Vault reads the platform project only. Those tenants are listed under Own project — not read, because an empty result there would not mean they hold nothing.
Repositories (the view's toolbar and each row's menu):
| Command |
What it does |
| Repositories: Refresh |
Reads every repository again (Git, read-only). |
| Repositories: Fetch All (Remote Branches Only) |
git fetch --all --prune in every repository, so "behind" is current. Only remote-tracking branches change — never your files or your branch. |
| Pull (Fast-Forward Only)… |
git pull --ff-only in that repository, after you confirm, in a visible terminal. It stops rather than merge and never overwrites a file you changed. |
| Initialise Module… |
For a module that is not on this computer yet: git submodule update --init for that module only. |
| Open in New Window · Repositories: Copy Report |
Open that repository, or copy the state as text (names, branches, counts, versions — no file contents). |
| Ask AppSite AI About This… |
Opens AppSite AI's chat with the repository's state (needs AppSite AI - CLI Extension). |
Settings
| Setting |
|
appsite.vault.cliPath |
Full path to the appsite tool. It can be set only in your own (user) settings, never by a folder you open, because it names a program this extension runs. |
appsite.vault.defaultTenant |
The tenant Sync… offers first (appsite). |
appsite.vault.moduleUrl |
The Vault module (https://vault.appsite.ca). It must be https://. |
Safety and privacy
- Repositories are read with read-only Git questions only (
status, log, rev-parse, submodule status…); a plain git fetch is the one network call. The only changes it can make are a fast-forward pull and initialising a missing module — each planned from the last read (never from a path in a message), confirmed in a dialog that says what will happen, and run in a visible terminal. It never checks out, switches, resets, stashes, cleans, forces or runs a general git submodule update (that would detach every module someone is working on).
- Every tenant id and feature id is checked against a plain pattern before it reaches a terminal. That holds wherever the id came from: the tool's output, a tree item, or a button in the panel. The panel's buttons can ask for a fixed list of commands only.
- The panel runs one script from this extension, under a strict content-security policy with no inline code. Every value shown is escaped.
- The extension makes no network calls of its own. The
appsite tool does the reading and syncing with your Google credentials. The panel loads one picture from the web: your profile photo, if your AppSite account has one.
- Nothing about this installation is registered or reported anywhere.
Good to know
Pictures
The logos are the official AppSite and Appsations, Inc logos, stored in the Gallery (galleryImages/logo-*). scripts/fetch-logos.mjs copies the ones used here byte for byte. The panel's CSS is AppSite's own: the platform's distributed design-tokens.css, and the tenant's button, card and badge rules and the blog's acknowledgment-card rules, all copied verbatim.
Develop
npm test # node --test — no dependencies; the CLI is a fake program in the tests
npm run package # → appsite-vault-<version>.vsix
npm run release:site # package, then copy it into the Vault module's downloads (webapp/public/downloads)
Support
Something not working, or a question? Write to paul@appsite.ca or see appsite.ca/support — say which extension and version, what you did, what you expected and what happened. Never send passwords, API keys or tokens.
From AppSite
 DEVELOPER PROGRAM AppSite Developer Seat One additional developer seat on your Enterprise tenant. Includes AppSite Academy — training to code, vibe-code, and become an AppSite developer. |  ACADEMY AppSite Developer Certificate Earned in three levels — your company and platform, then CRM, Cybersecurity and Subscriptions, then AI and agents |  PLAN AppSite Enterprise Owner-controlled platform — independent architecture with full infrastructure ownership |
More AppSite extensions
| Extension |
What it does |
| AppSite AI - CLI Extension |
Your tenant's AppSite AI and the appsite CLI, inside VS Code — metered to your tenant's allowance, linked to the AI module. |
Every AppSite extension: Appsations Enterprises Inc on the Visual Studio Marketplace

AppSite · made by Appsations, Inc. British Columbia, Canada · Business Number 789127487 © 2026 Appsations, Inc. All rights reserved.
| |