Repository navigation
chore: build and install with just instead of make - #12
Conversation
Same six recipes, no build logic that Package.swift does not already own, plus `just` on its own listing them. The oh-my-zsh vs ~/.zfunc choice moves from $(wildcard) to path_exists(), and every path goes through quote() so a prefix with spaces survives. PREFIX still overrides the install location, now as an environment variable read by env(). The install one-liner in the 426 upgrade message, the README and the completions doc comment become `just -f ~/repos/stele-cli/justfile install`: just defaults its working directory to the justfile's own, so that is a direct analogue of `make -C`. CI never called make, so the workflow is unchanged.
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (6)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe project replaces the deleted Makefile with a ChangesJust-based build and installation
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR replaces the project’s Makefile commands with equivalent just recipes and updates the related installation guidance; no actionable merge-blocking risk remains beyond normal checks and review. Poem
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/settings/billing. Comment |
Replaces the Makefile with a
justfile. Same six recipes —build,test,install,install-completions,uninstall,clean— plusjuston its own listing them, and no build logic thatPackage.swiftdoes not already own.The two pieces of make-specific machinery become just equivalents. The oh-my-zsh vs
~/.zfunccompletion directory choice moves from$(wildcard $(HOME)/.oh-my-zsh)topath_exists(), with the comment explaining why it tests for~/.oh-my-zshrather than for the completions directory itself carried over intact.PREFIXstill overrides the install location, now read throughenv('PREFIX', …), soPREFIX=/usr/local just installdoes whatmake install PREFIX=/usr/localdid. Every path goes throughquote(), which the Makefile could not easily do — a prefix with a space in it now survives.The install-to-a-temp-name-and-rename dance is unchanged, and so is the reason for it: writing over a binary that is currently executing fails with
ETXTBSYwhilerename(2)does not, and agents runstele publishunattended, so a reinstall really can land mid-request.The install one-liner appears in four places outside the build file — the exit-code-8 remedy in
SteleError.upgradeRequired, the test that asserts it, the README's build and completion sections, and theCompletions.swiftdoc comment. All four becomejust -f ~/repos/stele-cli/justfile install.justdefaults its working directory to the justfile's own directory, so that is a direct analogue ofmake -C ~/repos/stele-cli installrather than acd &&chain.CI never called make — the workflow runs
swift build --build-testsandswift test --skip-builddirectly — so.github/workflows/ci.ymlis unchanged.Checks
swift build --build-tests— clean.swift test— 152 tests in 17 suites, all passing. The only test touched is the 426 advice case, updated to the new remedy string.just install-completionsrun against a tempPREFIX/ZSHCOMP: binary installed and_stelegenerated at the expected paths.Note, outside this repo
~/.claude/skills/publish-to-stele/SKILL.mdstill tells agents to runmake -C ~/repos/stele-cli installin eight places, including the exit-code-8 and 426 recovery tables. It lives outside this repository so it is not part of this PR, but it is stale as of this merge.🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
justcommands for building, testing, installing, uninstalling, cleaning, and shell-completion setup.Documentation
just.justto the required build tools.Bug Fixes