Skip to content

Development

gh-vibe is a pnpm monorepo. The CLI lives in packages/cli/ and the documentation site (this one) in packages/docs/.

Prerequisite: Nix with flakes enabled. The Determinate Systems installer turns them on by default; on an existing install add experimental-features = nix-command flakes to ~/.config/nix/nix.conf. direnv is optional — direnv allow once and the shell loads on cd instead of typing nix develop.

Terminal window
nix develop # node, pnpm, bun from flake.nix (or `direnv allow`)
pnpm install # installs workspace deps
Terminal window
pnpm -C packages/cli dev review 123 --dry-run
Terminal window
pnpm -C packages/cli test # bun test
pnpm -C packages/cli check # tsc --noEmit
Terminal window
pnpm -C packages/cli build # produces ./gh-vibe at the repo root
./gh-vibe --version
Terminal window
pnpm -C packages/docs dev # http://localhost:4321
pnpm -C packages/docs build # static output → packages/docs/dist
pnpm -C packages/docs check # astro check

Push a v* tag. The release workflow cross-compiles binaries for darwin-{arm64,amd64}, linux-{arm64,amd64}, and windows-amd64, then uploads them to the matching GitHub Release. gh extension install picks the right asset by <name>-<os>-<arch>[.exe] naming.