This directory contains the Lore VCS backend plugin for 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 Repository menu includes a Lore-specific
.loreignoreeditor. - Lore operations are executed through the
@lore-vcs/sdkTypeScript API, which connects to the Lore server via gRPC and HTTP. - The runtime uses a trust model (no per-capability permission prompts).
npm install- The OpenVCS SDK dependency tracks the
edgetag so it always follows the latest SDK commit. - The Lore SDK dependency (
@lore-vcs/sdk) is pinned to the latest version that supports the TypeScript API.
npm run lintnpm run build- TypeScript sources live in
src/. npm run buildrunsopenvcs build, which invokesbuild:pluginand writes the runtime intobin/.
npm testnpm packnpm packuses the packagefileslist andprepackhook.- OpenVCS resolves published packages and local path plugins through npm package semantics.
CI publishes prereleases with these dist-tags:
latest: stable releases fromStablebeta: builds from theBetabranchnightly: scheduled builds fromDevwhen changes exist since the last nightlyedge: working builds fromDevpush commits
Examples:
npm install @openvcs/lore@edge
npm install @openvcs/lore@beta
npm install @openvcs/lore@nightly- No stash support: Lore does not have stash operations. All stash-related delegate methods throw an error.
- No tag support: Lore does not have tags. The
tagscapability is reported asfalse. - No branch rename: Lore does not support renaming branches. This operation throws an error.
- No patch staging: Lore does not support staging individual patches or reverse patches. These operations throw errors.
- Single remote model: Lore uses a single
remote_urlconfiguration field rather than named remotes like Git. Remote management is read-only through the plugin. - Server-backed: Network operations (push, sync, clone) require a Lore server. Local operations (status, stage, commit, branch, diff) use offline mode.