chore: friendlier Makefile (help, pre-flight, clean, doctor, banners)#45
Merged
Merged
Conversation
Closes #44. - `make` with no args now defaults to `help`, which is auto-generated from `## description` comments next to each target. - `_check_pixi` phony prereq fails fast with an install pointer when pixi isn't on PATH, instead of letting every target die with "pixi: command not found". - New `clean` target: removes dist/, .astro/, .pixi/, node_modules/. - New `doctor` target: prints resolved pixi/node/npm versions. - Every target now echoes a short `==>` banner so the output isn't a wall of npm log. - `make post` error message now shows the accepted TYPE values (`note|arch`) instead of only naming the flag.
viniciusdc
added a commit
that referenced
this pull request
May 15, 2026
* chore: add pixi env for local dev (Node 22 from conda-forge) System Node doesn't matter anymore — pixi solves a Node 22.12+ env from conda-forge on first `make <target>` and routes all npm work through it. Fixes "Node.js v20 is not supported by Astro" when the system has an older Node. - pixi.toml: workspace + tasks (install, dev, build, preview, check, banner) with depends-on so `pixi run dev` implies install. - Makefile: every target shells to `pixi run <task>`. - .gitignore: add .pixi/. - README: short pixi setup note + install link. CI is unchanged — it still uses actions/setup-node directly. This only affects local development. * chore: friendlier Makefile (help, pre-flight, clean, doctor, banners) (#45) Closes #44. - `make` with no args now defaults to `help`, which is auto-generated from `## description` comments next to each target. - `_check_pixi` phony prereq fails fast with an install pointer when pixi isn't on PATH, instead of letting every target die with "pixi: command not found". - New `clean` target: removes dist/, .astro/, .pixi/, node_modules/. - New `doctor` target: prints resolved pixi/node/npm versions. - Every target now echoes a short `==>` banner so the output isn't a wall of npm log. - `make post` error message now shows the accepted TYPE values (`note|arch`) instead of only naming the flag.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #44. Stacks on #43 — base is
chore/pixi-env-for-local-dev, will retarget tomainonce #43 lands.Summary
A small polish pass on the Makefile so a fresh checkout is more welcoming than "you got a command-not-found error."
makewith no args now runsmake help, which auto-generates a target list from## descriptioncomments. No more silent no-op._check_pixiphony prereq fails fast with a friendly install pointer when pixi isn't on PATH, instead of letting every pixi-using target die withpixi: command not found.make clean. Removesdist/,.astro/,.pixi/,node_modules/— for when state is corrupted or you want a real fresh start.make doctor. Prints resolved versions of pixi, Node, and npm — useful when something is wedged and you need to know which Node is actually running.==>banners. Each target echoes a single colored banner line before doing its work so the output isn't an undifferentiated wall of npm log.make posterror message now shows the acceptedTYPEvalues (note|arch) instead of only naming the flag.Things deliberately skipped from #44
make opento launch the dev server in a browser — risks opening a dead URL if dev isn't running yet, and the URL is already printed bymake dev. Not worth the platform-detection logic.tput-based colors. Using inline ANSI escape codes instead — same effect, no extra dependency, works on every modern terminal we care about.Test plan
make(no args) renders the help block locally.make doctorprints versions (pixi 0.59.0, node v22.x, npm 11.x).make postwithoutTITLEshows the friendlier error.make checkstill routes through pixi.makeworks on a clean clone without pixi installed and shows the friendly pointer.