No description
  • Rust 67.6%
  • TypeScript 19.5%
  • Shell 6.9%
  • CSS 3.2%
  • Nix 1.5%
  • Other 1.1%
Find a file
Viktor Jannicke ae8edfc997
Some checks failed
CI / linux (push) Has been cancelled
CI / windows (push) Has been cancelled
Initial ForgeConnect implementation
2026-07-12 22:44:15 +02:00
.github/workflows Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
crates Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
docs Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
frontend Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
packaging Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
scripts Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
third_party Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
.gitignore Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
about.toml Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
Cargo.lock Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
Cargo.toml Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
deny.toml Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
flake.lock Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
flake.nix Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
LICENSE Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
NOTICE Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
README.md Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
rust-toolchain.toml Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
SECURITY.md Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00
THIRD_PARTY_NOTICES.md Initial ForgeConnect implementation 2026-07-12 22:44:15 +02:00

ForgeConnect

ForgeConnect is a privacy-preserving Git desktop client written in Rust with a React UI hosted by WebUI. It is an early implementation and is not yet safe to treat as a replacement for a mature Git client.

Development

nix develop
cargo test --workspace
pnpm --dir frontend install
pnpm --dir frontend test
pnpm --dir frontend build

Run the headless vertical slice against a repository:

cargo run -p forge-app -- --repo /path/to/repository --json

The browser shell is feature-gated because upstream rust-webui downloads a mutable native archive during its build. ForgeConnect uses a local audited, network-disabled derivative of the upstream 2.5.0 Rust release with a separately pinned WebUI 2.5.0-beta.3 native archive. Upstream does not publish the requested rust-webui v2.4.2 Rust tag, so this explicitly recorded 2.5.0 path is the accepted compatibility baseline. It requires an explicitly verified archive instead:

./packaging/prepare-webui-native.sh linux-gcc-x64 /tmp/webui-native
FORGECONNECT_WEBUI_NATIVE_DIR=/tmp/webui-native \
  cargo build --locked --release -p forge-app --features webui-shell

The locked Linux package builds the same frontend and native archive boundary:

nix build .#frontend
nix build .#forgeconnect

Release staging instructions, Flatpak status, Windows portable/installer scaffolding, and legal-bundle requirements are in packaging/README.md. LICENSE contains the complete GPL-3.0 text; NOTICE and THIRD_PARTY_NOTICES.md accompany every binary bundle.

See docs/parity-matrix.md for current implementation status and SECURITY.md for the trust model.