Skip to content

Repository files navigation

Shipyard

Shipyard

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.

Download Shipyard for macOS Buy me a coffee

First-time setup

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.

1. Clone the repo

git clone https://github.com/fylzero/shipyard.git
cd shipyard

2. Xcode Command Line Tools

These provide the C/C++ compiler Rust uses on macOS.

xcode-select --install

If that says they are already installed, you are fine. Confirm with:

xcode-select -p

You should see /Library/Developer/CommandLineTools or an Xcode path.

3. Node.js 20+

Install from nodejs.org or Homebrew:

brew install node
node -v   # v20 or newer
npm -v

4. Rust (this is the usual missing piece)

Tauri 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 | sh

Accept the defaults, then open a new terminal. rustup puts cargo on your PATH via ~/.zshrc. Confirm:

cargo --version
rustc --version

You do not need to source anything for npm run tauri dev. That script already prepends $HOME/.cargo/bin to PATH.

5. Git

git --version

Homebrew Git and /usr/bin/git are both fine. Shipyard shells out to whatever git is on your PATH.

6. Install JS dependencies and start the app

npm install
npm run tauri dev

That command:

  1. Starts Vite on http://localhost:1420 for the Vue UI
  2. Compiles the Rust/Tauri shell
  3. 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.

Export a native Mac app

npm run tauri build

When 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.

Troubleshooting

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.

About

A local-first Git client for macOS. Uses your existing git, SSH agent, and credentials — no in-app login.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages