Burnish: project page, proof section, changelog, release tripwire - #2
Merged
Conversation
One page, one file, no build step: what it is, the fleet table, install, sixty seconds, and the reason the safety model is shaped the way it is. Served from docs/ on main. The page also serves llms.txt at its root, so an agent that can fetch one URL gets the whole orientation. That copy is generated by `make docs` and CI fails when it drifts from the repo's — two files, one source of truth, checked rather than remembered. llms.txt itself gains the install commands, the MCP tool names and absolute links, so it works fetched from either location. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
It opened with a demo and a safety claim and never showed the reader how to check either. Added: the badge row (does it build, is it released, where are the docs), a Proof table pairing every claim with the command that verifies it, and a "when to skip it" section — one VPS and an open panel does not need this, and KiwiVM has no billing endpoints so bwg will never grow them. Every repro command in the table was run before it was written down. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Keep-a-Changelog, entries saying why a change matters rather than what moved. The bug template asks for the two things every bug report here has needed — `bwg version` and whether the box is KVM or OpenVZ, since the two return different fields — and warns against pasting a key. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`version: latest` on the goreleaser action is an outage on a timer for a job whose output is an interface. install.sh and `bwg update` fetch release assets by exact name, so a change to .goreleaser.yaml's name_template would break self-update for every existing installation while the release job stayed green. The release now fails unless all six archives and checksums.txt are there under the names internal/updater asks for. Co-Authored-By: Claude Opus 5 <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.
Packaging pass. No behaviour changes to
bwgitself — everything hereis what someone meets before they run it.
Project page
docs/index.html, served from/docson main: one page, no buildstep, no JS. Name, the fleet table, install, sixty seconds, the reason
the safety model is shaped the way it is, and an honest "skip it if".
It also serves
llms.txtat the site root so an agent that fetches oneURL gets the whole orientation. That copy comes from
make docs, andCI fails when it drifts from the repo's — the drift check is three
lines and is the only reason two copies are tolerable.
Needs a repo setting after merge: Pages → source
main//docs.README
It opened with a demo and a safety claim and gave the reader no way to
check either. Now:
it (read-only gate, destructive-tier discipline, no-panic breadth,
the key-masking invariant, the pinned
bwg lsoutput). Every commandin it was run before it was written down.
need this, and KiwiVM has no billing endpoints so bwg will never grow
them
strahe/bwh, which is the better choice if youwant a library and none of the CLI
Release tripwire
install.shandbwg updatefetch assets by exact name. A changeto
.goreleaser.yaml'sname_templatewould break self-update forevery existing installation while the release job stayed green. The
release job now fails unless all six archives and
checksums.txtarepresent under the names
internal/updaterasks for (pinned on the Goside by
TestAssetName), and goreleaser is pinned to~> v2insteadof
latest.Also
CHANGELOG.md(Keep a Changelog; entries say why it matters), issuetemplates that ask for
bwg versionand KVM-vs-OpenVZ — the two factsevery bug here needs — and a PR template whose checklist is the repo's
actual rules (SKILL.md moves with JSON shapes; a destructive endpoint
states what it loses).
🤖 Generated with Claude Code