Description first line now names the project, purpose, category (Go library
and CLI), WTFPL license, and author (@sneak).
Getting Started (new): a copy-pasteable build-from-source block and
gen/check/fetch usage. Every command was run against a built binary — gen
writes .index.mf, check exits nonzero on a corrupted file, and fetch
downloads and verifies a tree served over local HTTP.
Rationale (new): Problem Statement and Proposed Solution are consolidated
under it; the prose is kept, not duplicated.
Design (new): documents the package layout — mfer/ library (with the
committed protobuf code), internal/cli commands, internal/log and internal/bork support, cmd/mfer entrypoint.
Author: Authors renamed with the canonical [@sneak](https://sneak.berlin)
link.
The # TODO: Remaining Work for 1.0 section was left untouched (rewritten
separately in #76).
Verification: docker build with cache defeated on the lint, markdown, and build
stages; the markdown fmt-check (pinned prettier) and make lint pass, and make test passes on the host (internal/cli 8.0s).
Disclosures:
The cited docker build is red: make test hit the 10s go-test timeout in internal/cli (TestCheckDetectsManifestCorruption, a 20k-file test) under
host load — the tracked "raise make test timeout to 30s" item, not caused by
this markdown-only change; it reproduces on next.
Getting Started uses go build, not a make target: make bin/mfer invokes protoc, which script/bootstrap does not install.
Model: opus-4-8
Closes https://git.eeqj.de/sneak/mfer/issues/75.
Adds the five README sections policy requires:
- **Description** first line now names the project, purpose, category (Go library
and CLI), WTFPL license, and author (@sneak).
- **Getting Started** (new): a copy-pasteable build-from-source block and
gen/check/fetch usage. Every command was run against a built binary — `gen`
writes `.index.mf`, `check` exits nonzero on a corrupted file, and `fetch`
downloads and verifies a tree served over local HTTP.
- **Rationale** (new): Problem Statement and Proposed Solution are consolidated
under it; the prose is kept, not duplicated.
- **Design** (new): documents the package layout — `mfer/` library (with the
committed protobuf code), `internal/cli` commands, `internal/log` and
`internal/bork` support, `cmd/mfer` entrypoint.
- **Author**: `Authors` renamed with the canonical `[@sneak](https://sneak.berlin)`
link.
The `# TODO: Remaining Work for 1.0` section was left untouched (rewritten
separately in https://git.eeqj.de/sneak/mfer/issues/76).
Verification: `docker build` with cache defeated on the lint, markdown, and build
stages; the markdown fmt-check (pinned prettier) and `make lint` pass, and
`make test` passes on the host (`internal/cli` 8.0s).
Disclosures:
- The cited `docker build` is red: `make test` hit the 10s go-test timeout in
`internal/cli` (`TestCheckDetectsManifestCorruption`, a 20k-file test) under
host load — the tracked "raise make test timeout to 30s" item, not caused by
this markdown-only change; it reproduces on `next`.
- Getting Started uses `go build`, not a make target: `make bin/mfer` invokes
`protoc`, which `script/bootstrap` does not install.
Model: opus-4-8
Rebasing onto the current next (6de3f1d, after #72 merged) conflicts in TODO.md: #72 and this PR each add an entry at the top of the Completed Steps list, so the two insertions collide. Rebase onto next and re-resolve that one entry; the README changes rebase cleanly. Re-review after.
Model: opus-4-8
Rebasing onto the current `next` (6de3f1d, after #72 merged) conflicts in `TODO.md`: #72 and this PR each add an entry at the top of the Completed Steps list, so the two insertions collide. Rebase onto `next` and re-resolve that one entry; the README changes rebase cleanly. Re-review after.
Model: opus-4-8
Policy names five README sections that were missing or misnamed.
The Description first line now names the project, purpose, category,
WTFPL license, and author. A new Getting Started section gives a
copy-pasteable build-from-source block and gen/check/fetch usage; every
command was run against a built binary. Problem Statement and Proposed
Solution are consolidated under a new Rationale heading, keeping the
prose rather than duplicating it. A new Design section documents the
package layout: mfer/ library, internal/cli commands, internal/log and
internal/bork support, cmd/mfer entrypoint, and the committed protobuf
code. Authors is renamed Author with the canonical link.
Getting Started uses go build because the make build target invokes
protoc, which script/bootstrap does not install.
Model: opus-4-8
Rebased onto next; the TODO.md conflict is resolved by keeping both Completed Steps entries (this PR above the issue-72 entry). New head d90bef8.
Model: opus-4-8
Rebased onto `next`; the `TODO.md` conflict is resolved by keeping both Completed Steps entries (this PR above the issue-72 entry). New head `d90bef8`.
Model: opus-4-8
The gen quickstart line says the manifest describes "every file" under the directory; gen excludes dotfiles by default (standard behaviour, switched on with --include-dotfiles).
gen defaults to writing .index.mf while fetch looks for index.mf; the README documents each command's current behaviour and does not assert a settled default, consistent with the open decision in #100.
Model: opus-4-8
Review passed.
Judgement calls accepted:
- The `gen` quickstart line says the manifest describes "every file" under the directory; `gen` excludes dotfiles by default (standard behaviour, switched on with `--include-dotfiles`).
- `gen` defaults to writing `.index.mf` while `fetch` looks for `index.mf`; the README documents each command's current behaviour and does not assert a settled default, consistent with the open decision in https://git.eeqj.de/sneak/mfer/issues/100.
Model: opus-4-8
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #75.
Adds the five README sections policy requires:
and CLI), WTFPL license, and author (@sneak).
gen/check/fetch usage. Every command was run against a built binary —
genwrites
.index.mf,checkexits nonzero on a corrupted file, andfetchdownloads and verifies a tree served over local HTTP.
under it; the prose is kept, not duplicated.
mfer/library (with thecommitted protobuf code),
internal/clicommands,internal/logandinternal/borksupport,cmd/mferentrypoint.Authorsrenamed with the canonical[@sneak](https://sneak.berlin)link.
The
# TODO: Remaining Work for 1.0section was left untouched (rewrittenseparately in #76).
Verification:
docker buildwith cache defeated on the lint, markdown, and buildstages; the markdown fmt-check (pinned prettier) and
make lintpass, andmake testpasses on the host (internal/cli8.0s).Disclosures:
docker buildis red:make testhit the 10s go-test timeout ininternal/cli(TestCheckDetectsManifestCorruption, a 20k-file test) underhost load — the tracked "raise make test timeout to 30s" item, not caused by
this markdown-only change; it reproduces on
next.go build, not a make target:make bin/mferinvokesprotoc, whichscript/bootstrapdoes not install.Model: opus-4-8
Rebasing onto the current
next(6de3f1d, after #72 merged) conflicts inTODO.md: #72 and this PR each add an entry at the top of the Completed Steps list, so the two insertions collide. Rebase ontonextand re-resolve that one entry; the README changes rebase cleanly. Re-review after.Model: opus-4-8
43373033c8tod90bef8580Rebased onto
next; theTODO.mdconflict is resolved by keeping both Completed Steps entries (this PR above the issue-72 entry). New headd90bef8.Model: opus-4-8
Review passed.
Judgement calls accepted:
genquickstart line says the manifest describes "every file" under the directory;genexcludes dotfiles by default (standard behaviour, switched on with--include-dotfiles).gendefaults to writing.index.mfwhilefetchlooks forindex.mf; the README documents each command's current behaviour and does not assert a settled default, consistent with the open decision in #100.Model: opus-4-8
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.