Skip to content

Codelab-Davis/nexgit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Nexgit

Nexgit is an early-stage open-source project for building a better Git workflow tool: a serious headless CLI, a keyboard-first TUI, and a polished desktop app for stacked changes and GitHub-style collaboration.

This repository is being developed as a university club project. The goal is to be welcoming to new contributors while still using practices that look like a real open-source project.

Status: pre-alpha scaffold. The CLI, TUI, app-server, and desktop app are wired together, but most Git/product behavior is still placeholder logic.

What Nexgit is trying to become

Nexgit aims to provide:

  • Headless commands for scripts and automation.
  • A Ratatui terminal UI for fast keyboard workflows.
  • A desktop GUI inspired by stacked-diff tools like Graphite.
  • A local app-server exposed by the Rust CLI, similar in shape to Codex's app-server model.
  • Shared Rust core logic so the CLI, TUI, and desktop app behave consistently.

Current architecture

Desktop React UI
  ↓ window.nexgit preload API
Electron main process
  ↓ newline-delimited JSON over stdio://
nexgit app-server
  ↓
Rust core logic

The desktop app starts the Rust CLI in app-server mode:

nexgit app-server --listen stdio://

The app-server also has scaffolding for:

nexgit app-server --listen ws://127.0.0.1:0
nexgit app-server --listen unix://

Repository layout

apps/
  cli/        Rust CLI binary, headless commands, Ratatui TUI, app-server
  desktop/    Electron + React + TypeScript desktop frontend

crates/
  core/       Shared Rust product/domain logic
  protocol/   App-server protocol types and generated TypeScript definitions

docs/         Contributor, architecture, development, and maintainer docs

Quick start

Nexgit supports two development environment entrypoints. Choose one.

Option A: mise

mise install
pnpm install
pnpm check

Option B: Nix flake

nix develop
pnpm install
pnpm check

See Development environments for details. The project docs intentionally avoid separate manual toolchain installation instructions; mise.toml and flake.nix are the supported environment definitions.

Run the CLI/TUI

cargo run -p nexgit-cli -- tui

Run headless command stubs

cargo run -p nexgit-cli -- repo status --json
cargo run -p nexgit-cli -- stack list --json

Run the app-server directly

cargo run -p nexgit-cli -- app-server --listen stdio://

Smoke test the protocol:

printf '{"type":"request","id":1,"method":"system.version","params":{}}\n' \
  | cargo run -q -p nexgit-cli -- app-server --listen stdio://

Run the desktop app

pnpm desktop:dev

The desktop app will try to use NEXGIT_CLI_PATH first. If it is not set, it looks for target/debug/nexgit. If that binary is missing, it falls back to running Cargo directly.

Useful commands

pnpm format
pnpm format:check
pnpm lint
pnpm typecheck
pnpm check
pnpm nix:check
cargo check --workspace

Root pnpm shortcuts:

pnpm tui
pnpm app-server
pnpm desktop:dev
pnpm desktop:build
pnpm desktop:typecheck

Documentation

Start here if you are new:

Maintainers should also read:

How to contribute

You do not need to be an expert in Rust, TypeScript, Electron, or Git internals to help.

Good first contributions include:

  • Improving documentation.
  • Adding examples and screenshots.
  • Cleaning up error messages.
  • Improving the placeholder TUI layout.
  • Adding small protocol methods.
  • Writing tests for existing behavior.
  • Filing clear bugs or design notes.

Read CONTRIBUTING.md before opening a pull request.

License

Nexgit is dual-licensed under either the MIT License or the Apache License, Version 2.0, at your option. See LICENSE for the contribution licensing notice.

About

Open-source repo workflow manager for humans and agents

Topics

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors