This directory contains the System Git VCS backend plugin used by OpenVCS.
- The plugin runs as a long-lived Node.js process.
- The plugin implements the JSON-RPC contract used by the backend runtime (
plugin.*andvcs.*) through the shared SDK runtime delegates. - The plugin can add top-level app menus and items through
@openvcs/sdk/runtimehelpers. - The plugin can open generic plugin-owned modals with the SDK
ModalBuilderhelper. - The Repository menu includes Git-only submodule management tooling.
- In the desktop client, the
Submodulesentry appears inRepositoryafter a Git repository is open and the Git plugin runtime is active. - Repository clone operations recurse into submodules by default.
- Repository status views tag tracked submodule paths distinctly so the client can render them as submodules.
- Git operations are executed through the local
gitCLI. - The runtime uses a trust model (no per-capability permission prompts).
npm install- The SDK dependency tracks the
edgetag so it always follows the latest SDK commit.
npm run lintnpm run build- TypeScript sources live in
src/. npm run buildrunsopenvcs build, which invokesbuild:pluginand writes the runtime intobin/.
npm testSubmodule workflow highlights:
clone_repousesgit clone --recurse-submodules.- Repository > Submodules supports add, sync, remove, pinned updates, and explicit remote-tracking updates.
Update Remotefollows the branch configured for each submodule in.gitmodules.
npm packnpm packuses the packagefileslist andprepackhook.- OpenVCS resolves published packages and local path plugins through npm package semantics.
The npm package can be consumed from prerelease channels published by CI:
latest: stable releasesbeta: builds from theBetabranchnightly: scheduled builds fromDevwhen there are changes since the last nightly
Examples:
npm install @openvcs/git-plugin@beta
npm install @openvcs/git-plugin@nightly