v1.0.0 Release Notes
pj 1.0 — the CLI and its worktree-based project model are now considered stable.
Installation and Upgrade
pj is now distributed as a Homebrew formula built from source (previously a binary cask):
# Install
brew trust kevdoran/tap # one-time: Homebrew 6+ requires it (skip on brew < 5.1.15)
brew install kevdoran/tap/pj # adds the tap and installs pj
# Upgrade
brew upgrade pj⚠️ Upgrading from v0.x (cask install)
The Homebrew cask has been replaced by a formula. The tap includes a migration
mapping: brew update detects the removed cask and installs the pj formula
automatically, but it does not remove the old cask — whose binary still
owns pj on your PATH — so two more commands complete the migration:
brew trust kevdoran/tap # Homebrew 6+ (skip on brew < 5.1.15)
brew update # installs the pj formula automatically
brew uninstall --cask pj # remove the old cask (still owns the pj binary)
brew link pj # activate the formula's pjVerify with pj version — it should report 1.0.0.
Known issue: Homebrew 6.0.x currently has a locking bug (Homebrew/brew#22948) that can make
brew upgrade pj / brew reinstall pj fail with
Error: A process has already locked ... for source-built tap formulae. Until
the fix ships in Homebrew, upgrade with brew uninstall pj && brew install pj.
Homebrew compiles the formula from the release source tarball on your machine
(go is pulled in automatically as a build dependency). Prebuilt binaries
remain available from the releases page
— see docs/install.md.
What's New
Config file moved to ~/.config/projector/config.toml
The global config now follows the XDG convention ($XDG_CONFIG_HOME/projector/config.toml,
defaulting to ~/.config/projector/config.toml). Existing configs at the legacy
location (~/.projector/projector-config.toml) are detected and copied to the
new location automatically on first run — no action needed.
pj project repair
If a project directory is moved or renamed, git's internal worktree pointers go
stale. The new pj project repair [project] command fixes every worktree in a
project in one shot.
Smarter --base resolution
--base <branch> no longer requires spelling out the remote. If the ref isn't
found locally, pj automatically retries against the repo's default remote —
so --base pr5-branch resolves to origin/pr5-branch when the branch only
exists on the remote.
Skill file is now a release asset
pj-skill.md is now published as a standalone release asset, so the documented
URL works for coding agents:
https://github.com/kevdoran/projector/releases/latest/download/pj-skill.md
Other improvements
pj versionomits the commit line when the build has no git metadata (e.g. Homebrew source builds)- Formula version bumps in the tap are fully automated on each release