Normalize markdown formatting in documentation

- Use consistent dash-style bullet points
- Remove trailing whitespace
- Add missing blank lines between sections
- Add trailing newline to README.md
This commit is contained in:
Jeffrey Paul 2025-12-18 01:29:56 -08:00
parent dae6c64e24
commit 61c17ca585
2 changed files with 33 additions and 23 deletions

View File

@ -1,20 +1,20 @@
# Important Rules # Important Rules
* when fixing a bug, write a failing test FIRST. only after the test fails, write - when fixing a bug, write a failing test FIRST. only after the test fails, write
the code to fix the bug. then ensure the test passes. leave the test in the code to fix the bug. then ensure the test passes. leave the test in
place and commit it with the bugfix. don't run shell commands to test place and commit it with the bugfix. don't run shell commands to test
bugfixes or reproduce bugs. write tests! bugfixes or reproduce bugs. write tests!
* never, ever mention claude or anthropic in commit messages. do not use attribution - never, ever mention claude or anthropic in commit messages. do not use attribution
* after each change, run "make fmt". - after each change, run "make fmt".
* after each change, run "make test" and ensure all tests pass. - after each change, run "make test" and ensure all tests pass.
* after each change, run "make lint" and ensure no linting errors. fix any - after each change, run "make lint" and ensure no linting errors. fix any
you find, one by one. you find, one by one.
* after each change, commit the files you've changed. push after - after each change, commit the files you've changed. push after
committing. committing.
* NEVER use `git add -A`. always add only individual files that you've changed. - NEVER use `git add -A`. always add only individual files that you've changed.

View File

@ -57,6 +57,7 @@ Reading file contents and computing cryptographic hashes for manifest generation
## cmd/mfer/ ## cmd/mfer/
### main.go ### main.go
- **Variables** - **Variables**
- `Appname string` - Application name - `Appname string` - Application name
- `Version string` - Version string (set at build time) - `Version string` - Version string (set at build time)
@ -65,12 +66,14 @@ Reading file contents and computing cryptographic hashes for manifest generation
## internal/cli/ ## internal/cli/
### entry.go ### entry.go
- **Variables** - **Variables**
- `NO_COLOR bool` - Disables color output when NO_COLOR env var is set - `NO_COLOR bool` - Disables color output when NO_COLOR env var is set
- **Functions** - **Functions**
- `Run(Appname, Version, Gitrev string) int` - Main entry point for the CLI - `Run(Appname, Version, Gitrev string) int` - Main entry point for the CLI
### mfer.go ### mfer.go
- **Types** - **Types**
- `CLIApp struct` - Main CLI application container - `CLIApp struct` - Main CLI application container
- **Methods** - **Methods**
@ -79,6 +82,7 @@ Reading file contents and computing cryptographic hashes for manifest generation
## internal/log/ ## internal/log/
### log.go ### log.go
- **Functions** - **Functions**
- `Init()` - Initializes the logger - `Init()` - Initializes the logger
- `Info(arg string)` - Logs at info level - `Info(arg string)` - Logs at info level
@ -99,6 +103,7 @@ Reading file contents and computing cryptographic hashes for manifest generation
## internal/scanner/ ## internal/scanner/
### scanner.go ### scanner.go
- **Types** - **Types**
- `Options struct` - Options for scanner behavior - `Options struct` - Options for scanner behavior
- `IncludeDotfiles bool` - Include dot (hidden) files (excluded by default) - `IncludeDotfiles bool` - Include dot (hidden) files (excluded by default)
@ -138,6 +143,7 @@ Reading file contents and computing cryptographic hashes for manifest generation
## internal/checker/ ## internal/checker/
### checker.go ### checker.go
- **Types** - **Types**
- `Result struct` - Outcome of checking a single file - `Result struct` - Outcome of checking a single file
- `Path string` - File path from manifest - `Path string` - File path from manifest
@ -169,12 +175,14 @@ Reading file contents and computing cryptographic hashes for manifest generation
## mfer/ ## mfer/
### manifest.go ### manifest.go
- **Types** - **Types**
- `manifest struct` - Internal representation of a manifest file - `manifest struct` - Internal representation of a manifest file
- **Methods** - **Methods**
- `(*manifest) Files() []*MFFilePath` - Returns all file entries from a loaded manifest - `(*manifest) Files() []*MFFilePath` - Returns all file entries from a loaded manifest
### builder.go ### builder.go
- **Types** - **Types**
- `FileHashProgress struct` - Progress info during file hashing (BytesRead int64) - `FileHashProgress struct` - Progress info during file hashing (BytesRead int64)
- `Builder struct` - Constructs manifests by adding files one at a time - `Builder struct` - Constructs manifests by adding files one at a time
@ -182,20 +190,23 @@ Reading file contents and computing cryptographic hashes for manifest generation
- `NewBuilder() *Builder` - Creates a new Builder - `NewBuilder() *Builder` - Creates a new Builder
- **Methods** - **Methods**
- `(*Builder) AddFile(path string, size int64, mtime time.Time, reader io.Reader, progress chan<- FileHashProgress) (int64, error)` - Reads file, computes hash, adds to manifest - `(*Builder) AddFile(path string, size int64, mtime time.Time, reader io.Reader, progress chan<- FileHashProgress) (int64, error)` - Reads file, computes hash, adds to manifest
- `(*Builder) AddFileWithHash(path string, size int64, mtime time.Time, hash []byte)` - Adds file with pre-computed hash - `(*Builder) AddFileWithHash(path string, size int64, mtime time.Time, hash []byte) error` - Adds file with pre-computed hash
- `(*Builder) FileCount() int` - Returns number of files added - `(*Builder) FileCount() int` - Returns number of files added
- `(*Builder) Build(w io.Writer) error` - Finalizes and writes manifest - `(*Builder) Build(w io.Writer) error` - Finalizes and writes manifest
### serialize.go ### serialize.go
- **Constants** - **Constants**
- `MAGIC string` - Magic bytes prefix for manifest files ("ZNAVSRFG") - `MAGIC string` - Magic bytes prefix for manifest files ("ZNAVSRFG")
### deserialize.go ### deserialize.go
- **Functions** - **Functions**
- `NewManifestFromReader(input io.Reader) (*manifest, error)` - Reads and parses manifest from io.Reader - `NewManifestFromReader(input io.Reader) (*manifest, error)` - Reads and parses manifest from io.Reader
- `NewManifestFromFile(fs afero.Fs, path string) (*manifest, error)` - Reads and parses manifest from file path - `NewManifestFromFile(fs afero.Fs, path string) (*manifest, error)` - Reads and parses manifest from file path
### mf.pb.go (generated from mf.proto) ### mf.pb.go (generated from mf.proto)
- **Enum Types** - **Enum Types**
- `MFFileOuter_Version` - Outer file format version - `MFFileOuter_Version` - Outer file format version
- `MFFileOuter_VERSION_NONE` - `MFFileOuter_VERSION_NONE`
@ -253,7 +264,6 @@ requests](https://git.eeqj.de/sneak/mfer/pulls) and pass CI to be merged.
Any changes submitted to this project must also be Any changes submitted to this project must also be
[WTFPL-licensed](https://wtfpl.net) to be considered. [WTFPL-licensed](https://wtfpl.net) to be considered.
# Problem Statement # Problem Statement
Given a plain URL, there is no standard way to safely and programmatically Given a plain URL, there is no standard way to safely and programmatically
@ -424,13 +434,13 @@ desired username for an account on this Gitea instance.
## Links ## Links
* Repo: [https://git.eeqj.de/sneak/mfer](https://git.eeqj.de/sneak/mfer) - Repo: [https://git.eeqj.de/sneak/mfer](https://git.eeqj.de/sneak/mfer)
* Issues: [https://git.eeqj.de/sneak/mfer/issues](https://git.eeqj.de/sneak/mfer/issues) - Issues: [https://git.eeqj.de/sneak/mfer/issues](https://git.eeqj.de/sneak/mfer/issues)
# Authors # Authors
* [@sneak &lt;sneak@sneak.berlin&gt;](mailto:sneak@sneak.berlin) - [@sneak &lt;sneak@sneak.berlin&gt;](mailto:sneak@sneak.berlin)
# License # License
* [WTFPL](https://wtfpl.net) - [WTFPL](https://wtfpl.net)