This page explains terms used in Nexgit. Add to it whenever a term confuses new contributors.
A long-running mode of the CLI that accepts structured requests from another program.
In Nexgit:
nexgit app-server --listen stdio://The desktop app talks to this server instead of reimplementing Git logic in TypeScript.
Command-line interface. A program used by typing commands in a terminal.
Example:
nexgit repo status --jsonTerminal user interface. A full-screen interface that runs inside a terminal.
Nexgit uses Ratatui for the TUI.
The graphical app in apps/desktop. It uses Electron, React, and TypeScript.
A framework for building desktop apps with web technologies. Electron apps have a main process and renderer processes.
The UI library used by the desktop renderer.
An Electron script that safely exposes a small API from the main process to the renderer.
In Nexgit, the renderer calls:
window.nexgit.getVersion();The browser-like part of an Electron app that displays the user interface.
The Node.js side of an Electron app. In Nexgit, it launches the Rust app-server.
The message format used between the desktop app and app-server.
Example request:
{ "type": "request", "id": 1, "method": "system.version", "params": {} }A workflow where a feature is split into multiple dependent branches or pull requests instead of one large pull request.
Example:
main
└─ branch-a
└─ branch-b
└─ branch-c
A group of related branches or changes that build on each other.
A command that can run without a TUI or GUI, usually useful for scripts and automation.
Example:
nexgit stack list --jsonA Cargo workspace is a group of Rust crates managed together. This repository has one Rust workspace at the root.
A pnpm workspace is a group of JavaScript/TypeScript packages managed together. This repository currently includes apps/desktop.
A Rust package. Examples:
crates/corecrates/protocolapps/cli
A JavaScript/TypeScript package. The desktop package is @nexgit/desktop.
A proposed code change on GitHub. Contributors open PRs, maintainers review them, and approved PRs are merged.