Skip to content

Development

shayne edited this page Jan 4, 2026 · 4 revisions

Development

This page is for local dev on the yeet repo.

Toolchain (recommended: mise)

If you already have Go in your PATH, you can skip mise and use the Go commands below. Otherwise:

curl https://mise.run | sh
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc

Swap zsh for your shell (bash/fish/etc.) if needed.

From the repo root, install tools (Go 1.25.5):

mise install
mise run install-githooks

The hook install uses pre-commit and sets up both the pre-commit and prepare-commit-msg hook types. It also clears any existing core.hooksPath so pre-commit can manage the hooks.

Build

go build ./cmd/yeet
go build ./cmd/catch

Test

go test ./...

Run locally

Run catch in the foreground with a local data dir:

go run ./cmd/catch --data-dir ./data

Run yeet against a target host:

CATCH_HOST=<host> go run ./cmd/yeet status

Notes

  • Most CLI behavior is in cmd/yeet and pkg/cli.
  • RPC handling lives in pkg/catch and pkg/catchrpc.

Clone this wiki locally