Official

git

Built-in git UI (JavaScript UI plugin).

The app opens the listing; nothing installs until an agent in your Plugins workspace has read the files and you enable the plugin. In a terminal: cvg install convergence/git@0.2.0

Permissions in 0.2.0

  • Run git commands git.writeHighRuns any git command.Stage, commit, switch branches and sync with the remote
  • Read chats chats.readMediumReads your transcripts and chat lists.Refresh when an agent finishes a turn
  • Read git status and diffs git.readLowReads git status and diffs.Show the repository's status and diffs, and follow its changes
  • Show panels ui.slotsLowShows views in the listed parts of the window.Show the source control button and panelSlots: railright

Files

views/layout.ts1.7 KB
// Source-control layout tokens shared by its pure render functions.
// One grid for the whole panel: every row starts its icon where the
// message box starts its text (a multi-line field insets it 10px) and is
// the same height.
export const INSET = 10;
export const ROW_H = 24;

// Layout for the templates below: a flex column, a row that centres its
// children across, a child that takes the free space (and may shrink below
// its content), the whole of the parent, the hover wash, the pointer of
// something clickable, a popover's lifted card, and the buttons that float
// over the right end of a row while the pointer is on it.
export const column = { display: "flex", flexDirection: "column" };
export const row = { display: "flex", flexDirection: "row", alignItems: "center" };
export const fill = { flexGrow: 1, flexShrink: 1, flexBasis: "0%", minWidth: 0, minHeight: 0 };
export const full = { width: "100%", height: "100%" };
export const HOVER = { background: "hover" };
export const clickable = { group: "hover", cursor: "pointer" };
export const menuCard = {
  ...column,
  gap: "small",
  padding: "small",
  background: "popover",
  borderRadius: "md",
  border: { width: 1, color: "border" },
};
export const hoverActions = {
  ...row,
  gap: 2,
  padding: "small",
  paddingX: 2,
  background: "muted",
  borderRadius: "sm",
  visibility: "hidden",
  groupHover: { group: "hover", visibility: "visible" },
  position: "absolute",
  top: 0,
  bottom: 0,
  right: 4,
};
// A row of the panel: the grid every row shares, and the hover wash.
export const panelRow = {
  ...row,
  ...clickable,
  gap: "medium",
  padding: "small",
  paddingX: INSET,
  height: ROW_H,
  borderRadius: "sm",
  hover: HOVER,
};

Versions

VersionPublishedPlugin APISizePermissionsStatus
0.2.0latestOct 5, 2026>=2 <313.4 KB4 permissionsListed

Reviews and comments

0 threads · 0 reviews

No comments yet.