PacketCodeDocs

Install PacketCode#

PacketCode publishes platform archives for macOS, Linux and Windows. The installers select the latest published release unless you name a version, and verify the selected archive against the release checksum file. Release v0.6.0 carries the full command surface documented here: the interactive interface, run, doctor, skills, acp and sugar.

Releases from v0.6.0 also publish a Sigstore signature over the checksum file. A checksum match on its own proves only that the download was not corrupted, because whoever could serve a modified archive could serve a matching checksum file beside it. Install cosign before running the installer to have that signature checked as well.

Before you start#

  • A supported 64-bit platform.
  • curl, tar and a SHA-256 utility on macOS or Linux.
  • PowerShell on Windows.
  • Git for project and worktree features.
  • cosign, if you want the release signature verified.

macOS and Linux#

curl -fsSL https://raw.githubusercontent.com/packetloss404/packetcode/main/install.sh | bash

The default destination is /usr/local/bin. To install without elevated permissions:

curl -fsSL https://raw.githubusercontent.com/packetloss404/packetcode/main/install.sh \
  | INSTALL_DIR="$HOME/.local/bin" bash

Make sure the chosen directory is on PATH.

For an unattended install, set REQUIRE_SIGNATURE=1. A missing signature, or a missing cosign, then stops the install instead of printing a note.

Windows#

& ([scriptblock]::Create((Invoke-WebRequest https://raw.githubusercontent.com/packetloss404/packetcode/main/install.ps1).Content))

The default destination is %LOCALAPPDATA%\Programs\PacketCode\bin. Add it to PATH if the installer warns that it is not already present. Pass -RequireSignature to make a missing signature, or a missing cosign, an error rather than a note.

A signature that is present and does not verify stops the install on either platform, whether or not you asked for signatures to be required.

Build from source#

Build from source to run a change that is not in a published release yet.

Prerequisites#

  • Go 1.26.0 or newer.
  • A clean clone of the repository.
git clone https://github.com/packetloss404/packetcode.git
cd packetcode
go test ./...
go build -trimpath -o bin/packetcode ./cmd/packetcode

On Windows use bin/packetcode.exe as the output name.

The language floor moved from Go 1.24 to Go 1.26 in v0.6.0, taken with the golang.org/x/crypto upgrade that closes the SSH advisories reachable from the remote-workspace code. Under the default GOTOOLCHAIN=auto, an older installed Go downloads a compliant toolchain and the build succeeds. A build pinned with GOTOOLCHAIN=local on Go 1.24 or 1.25 now fails; install Go 1.26 or newer, or remove the pin.

Verify#

packetcode --version
packetcode --help
packetcode doctor

Verification is complete when the binary reports the version you installed, help lists the interactive form and the five commands, and Doctor identifies no blocking configuration or credential error. Doctor also reports config.validation, which warns about settings that parse but will do nothing. Those warnings never block a run; see Configuration.

If it does not work#

Symptom Check Recovery
packetcode is not found after installing Whether the install directory is on PATH See PacketCode is not found
A source build fails immediately The Go version against the requirement See A source build fails on the Go version
The binary runs but the interface renders badly The terminal, not the binary See The interface renders incorrectly
Windows quoting behaves oddly How arguments are passed See Windows quoting or job records misbehave