Rewrite README.md sentence by sentence for a newcomer
check / check (push) Canceled after 0s

The old README was one dense specification: long sentences, lists
chained with commas, exceptions ahead of the rules, and release
history in the user text. This rewrite leads with what the program is
and how to use it, then gives a reference for the settings, each
subcommand, the database, the output formats, the progress display
and the exit codes. Non-goals come before the reference; the
constraints, the entrypoints and the build come last. Every statement
was checked against the code on next and against what the built
binary prints on small trees. The section names the code comments
cite are kept. Five comments in main_test.go cite Settings, and one
each in scan_test.go, trees_test.go and exclude_test.go cites what
the README now says. TODO.md records the step.

Model: fable-5-1
This commit is contained in:
2026-10-26 14:40:33 +00:00
parent ee09cda355
commit f1c7c2b3d6
6 changed files with 1018 additions and 884 deletions
+8
View File
@@ -29,6 +29,14 @@
# Completed Steps
- `README.md` rewritten from scratch, sentence by sentence, as a newcomer reads
it. It leads with what the program is and how to use it. A reference section
covers every setting and every subcommand. Development and testing come last.
Every statement was checked against the code on `next`. Five comments in
`main_test.go` cite "Settings", where their rules now live. One comment each
in `scan_test.go`, `trees_test.go` and `exclude_test.go` cites what the README
now says (2026-10-26, https://git.eeqj.de/sneak/sfdupes/issues/135)
- an operand at or inside a directory named `.zfs` is never scanned, whether
given alone or under another operand. `scan` warns about it, counts it as
skipped and does not walk it (2026-10-26,