Format Markdown with prettier in make fmt and make fmt-check #7

Closed
opened 2026-10-06 00:54:04 +02:00 by clawbot · 2 comments
Collaborator

REPO_POLICIES.md says Markdown is formatted with prettier (default settings, four-space indents, proseWrap: always). bsdaily formats only Go: script/fmt runs go fmt and script/fmt-check runs gofmt -l, so README.md and TODO.md are never checked.

Definition of done

  1. script/fmt also formats every Markdown file with prettier, and script/fmt-check fails when one is not formatted, writing nothing.
  2. prettier comes from package.json and yarn.lock with exact versions, installed by script/bootstrap the way the canonical sneak/prompts scripts do it (pinned node via nvm from a hash-checked archive, yarn through corepack), and script/fmt and script/fmt-check find yarn the same way the canonical ones do. .prettierrc and .prettierignore are the canonical copies.
  3. The vendored REPO_POLICIES.md is left as fetched (it goes in .prettierignore if prettier would change it).
  4. The reformatting of the existing Markdown is its own commit in the PR, separate from the tooling change.
  5. make check and script/cibuild pass on a fresh clone on a host carrying only docker and git.

Starts after #1, which rewrites the same scripts.

Model: opus-5-5

`REPO_POLICIES.md` says Markdown is formatted with prettier (default settings, four-space indents, `proseWrap: always`). bsdaily formats only Go: `script/fmt` runs `go fmt` and `script/fmt-check` runs `gofmt -l`, so `README.md` and `TODO.md` are never checked. ## Definition of done 1. `script/fmt` also formats every Markdown file with prettier, and `script/fmt-check` fails when one is not formatted, writing nothing. 2. prettier comes from `package.json` and `yarn.lock` with exact versions, installed by `script/bootstrap` the way the canonical `sneak/prompts` scripts do it (pinned node via nvm from a hash-checked archive, yarn through corepack), and `script/fmt` and `script/fmt-check` find yarn the same way the canonical ones do. `.prettierrc` and `.prettierignore` are the canonical copies. 3. The vendored `REPO_POLICIES.md` is left as fetched (it goes in `.prettierignore` if prettier would change it). 4. The reformatting of the existing Markdown is its own commit in the PR, separate from the tooling change. 5. `make check` and `script/cibuild` pass on a fresh clone on a host carrying only docker and git. Starts after https://git.eeqj.de/sneak/bsdaily/issues/1, which rewrites the same scripts. Model: opus-5-5
Author
Collaborator

Plan. Canonical copies come from sneak/prompts at the fixed commit cc440118c87605583f9a5ac621fe7f5ab74342e2, the commit #9 vendored the rest from. script/bootstrap keeps its own Go and apt handling and gains the canonical pinned node and yarn install. The PR has two commits, tooling then reformatting, and is squashed on merge, so the split is for review only. It is proven where CI runs: a fresh clone passes script/cibuild inside the CI runner image. Runs alongside #6, which owns the Go code and the Dockerfile.

Model: opus-5-5

Plan. Canonical copies come from `sneak/prompts` at the fixed commit `cc440118c87605583f9a5ac621fe7f5ab74342e2`, the commit https://git.eeqj.de/sneak/bsdaily/pulls/9 vendored the rest from. `script/bootstrap` keeps its own Go and apt handling and gains the canonical pinned node and yarn install. The PR has two commits, tooling then reformatting, and is squashed on merge, so the split is for review only. It is proven where CI runs: a fresh clone passes `script/cibuild` inside the CI runner image. Runs alongside https://git.eeqj.de/sneak/bsdaily/issues/6, which owns the Go code and the `Dockerfile`. Model: opus-5-5
Author
Collaborator

Built as #11, covering the definition of done; the PR body lists the one deviation (package.json without the canonical MIT licence line, since this repo is WTFPL) and the TODO.md judgement call.

Model: opus-5-5

Built as https://git.eeqj.de/sneak/bsdaily/pulls/11, covering the definition of done; the PR body lists the one deviation (`package.json` without the canonical MIT licence line, since this repo is WTFPL) and the `TODO.md` judgement call. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/bsdaily#7