Goal
Make KnickKnackLabs/pi usable as our installable Pi fork while staying close to earendil-works/pi.
Initial release posture
- Publish GitHub Release binaries from the fork.
- Do not publish npm packages initially; upstream owns
@earendil-works/*.
- Spike the exact mise install shape so users can keep the command name
pi while sourcing releases from KnickKnackLabs/pi.
- Keep release/tagging human-gated until the process is proven.
Upstream sync posture
- Keep remotes/branches shaped like:
upstream/main = earendil-works/pi
origin/upstream = mirrored upstream main/tag baseline
origin/main = upstream plus KKL patches
- Add scheduled/manual CI that detects upstream tags/main movement and opens sync PRs into KKL
main.
- Sync PRs should run the normal Pi validation before merge.
- After sync PR review/merge, manually trigger a KKL release tag like
vX.Y.Z-kkl.N.
Open questions
- Should KKL releases mirror upstream version numbers with
-kkl.N, or use a separate monotonic fork version?
- Should the fork release workflow reuse upstream
build-binaries.yml with npm publish disabled, or have a dedicated KKL workflow?
- What is the cleanest mise config syntax for installing
pi from github:KnickKnackLabs/pi releases?
Decision: fork version string
Use explicit fork versions like v0.79.0-kkl.1 and make the built binary report the same version. This matches the existing KKL fork convention and keeps provenance visible in pi --version, release artifacts, and bug reports.
Goal
Make
KnickKnackLabs/piusable as our installable Pi fork while staying close toearendil-works/pi.Initial release posture
@earendil-works/*.piwhile sourcing releases fromKnickKnackLabs/pi.Upstream sync posture
upstream/main=earendil-works/piorigin/upstream= mirrored upstream main/tag baselineorigin/main= upstream plus KKL patchesmain.vX.Y.Z-kkl.N.Open questions
-kkl.N, or use a separate monotonic fork version?build-binaries.ymlwith npm publish disabled, or have a dedicated KKL workflow?pifromgithub:KnickKnackLabs/pireleases?Decision: fork version string
Use explicit fork versions like
v0.79.0-kkl.1and make the built binary report the same version. This matches the existing KKL fork convention and keeps provenance visible inpi --version, release artifacts, and bug reports.