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,tarand 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 |