A local-first Git client for macOS. Shipyard talks to the git binary already on your machine, so it uses the same SSH agent, credential helper, and user identity you use in Terminal. There is no in-app login.
Shipyard is a Tauri app: a Vue frontend plus a Rust native shell. You need Node, Rust, Xcode Command Line Tools, and Git before npm run tauri dev will work.
git clone https://github.com/fylzero/shipyard.git
cd shipyardThese provide the C/C++ compiler Rust uses on macOS.
xcode-select --installIf that says they are already installed, you are fine. Confirm with:
xcode-select -pYou should see /Library/Developer/CommandLineTools or an Xcode path.
Install from nodejs.org or Homebrew:
brew install node
node -v # v20 or newer
npm -vTauri compiles the native app with cargo. If Rust is missing you will get:
failed to run 'cargo metadata' ... No such file or directory (os error 2)
Install the official toolchain with rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shAccept the defaults, then open a new terminal. rustup puts cargo on your PATH via ~/.zshrc. Confirm:
cargo --version
rustc --versionYou do not need to source anything for npm run tauri dev. That script already prepends $HOME/.cargo/bin to PATH.
git --versionHomebrew Git and /usr/bin/git are both fine. Shipyard shells out to whatever git is on your PATH.
npm install
npm run tauri devThat command:
- Starts Vite on
http://localhost:1420for the Vue UI - Compiles the Rust/Tauri shell
- Opens the native Shipyard window
The first tauri dev (or tauri build) downloads crates and compiles from scratch. That often takes several minutes. Later runs are much faster.
npm run tauri buildWhen the build finishes:
| Artifact | Path |
|---|---|
| App bundle | src-tauri/target/release/bundle/macos/Shipyard.app |
| Disk image | src-tauri/target/release/bundle/dmg/Shipyard_1.1.1_aarch64.dmg |
To run it locally, open the .app (or drag it to /Applications). macOS Gatekeeper may warn that an unsigned local build is unidentified: right-click the app, choose Open, then confirm.
failed to run 'cargo metadata' ... No such file or directory (os error 2)
Rust is not installed. Run step 4, open a new terminal, and confirm command -v cargo prints /Users/<you>/.cargo/bin/cargo. If rustup did not update ~/.zshrc, add . "$HOME/.cargo/env" there once.
xcrun: error: invalid active developer path
Xcode Command Line Tools are missing or stale. Run xcode-select --install (or sudo xcode-select --reset after installing Xcode).
Vite starts but no native window
Leave the first Rust compile running. If it fails, the error is in the same terminal as npm run tauri dev.
Frontend only (browser, no native APIs)
npm run dev serves the Vue app at http://localhost:1420. Git, dialogs, and other Tauri APIs need npm run tauri dev.