- Rust 67.6%
- TypeScript 19.5%
- Shell 6.9%
- CSS 3.2%
- Nix 1.5%
- Other 1.1%
| .github/workflows | ||
| crates | ||
| docs | ||
| frontend | ||
| packaging | ||
| scripts | ||
| third_party | ||
| .gitignore | ||
| about.toml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| deny.toml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| NOTICE | ||
| README.md | ||
| rust-toolchain.toml | ||
| SECURITY.md | ||
| THIRD_PARTY_NOTICES.md | ||
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.