Template build revamp#29
Open
julian-goldstein wants to merge 5 commits into
Open
Conversation
Make `yeet build` the frontend for a generated script and clean up what the build shows and produces: - Relocate the low-level machinery (Makefile, *.mk, toolchain scripts + lock) under .build/, behind a thin root Makefile shim that forwards to it. A generated project gitignores .build/ wholesale (it's regenerable); the template keeps it committed as the source scripts/new materializes from, and sync-toolchain rewrites the embed glue's paths into .build/. - Style the build output: a header, one status line per step, and a sizes summary; plain ASCII off-TTY. Raw commands are hidden unless `make V=1`, the vendored "toolchain ready" line is gated the same way, and esbuild's own summary is silenced. - Bundle to dist/index.jsx instead of src/index.jsx (gitignored), keeping the build output out of the source tree. - Drop the unrollable #pragma from the runqlat log2 loop — it's a bounded loop the verifier accepts, so no more -Wpass-failed warning. Note: dist/ resolution needs the companion CLI change (yeet run prefers a built dist/ entry over raw src/main.jsx); ship the two together. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bundling collapses every module into one file that shares the entry's import.meta, so the `import.meta.main` self-test guards (AGENTS.md) would all see main === true and fire in the built app. Define it to false so they compile to `if (false)` and drop; a standalone `yeet run src/probes/foo.js` isn't bundled, so its guard still runs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mirror the build's titled progress frame in `make clean`: a head banner, a step per artifact group (BPF objects via clean-bpf, then the JS outputs dist/ and node_modules/), and a done summary. clean-bpf's rm now rides $(Q) so it stays quiet unless V=1, like the rest of the build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Clarify in AGENTS.md that loading/attaching programs and creating maps are privileged, but the agent never performs them: scripts run inside yeetd, the CLI holds no privilege and delegates the work to the daemon, which carries the BPF capability. Run yeet run/build as a normal user. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add two AGENTS.md notes: prefer CO-RE probes and pick the most stable attach point (tracepoints/LSM, then fentry/fexit) before falling back to kprobes on internal functions; and a top-of-file caveat that this yeet's APIs move fast (and share a name with an older project) — verify against https://yeet.cx/docs rather than training-data memory. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
No description provided.