Split the README reference material into docs/
The README was 794 lines: the summary, the design rationale, the whole macro reference, the threading contract, the build internals and the exit-status specification in one file. It is now 178 lines -- summary, installation, quickstart, and an index -- and the reference material lives in docs/, one file per topic: architecture, usage, status-codes, uncaught-errors, exit-status, thread-safety, building. The prose moved as written. Inbound references followed it: UPGRADING.md, TODO.md, include/akerror.tmpl.h and tests/err_threads_handoff.c now name the docs/ file that owns the text they cite, and AGENTS.md says where new documentation goes so the README does not grow back. Five factual errors fixed in the moved text: - Both NULL-pointer examples inverted their test. FAIL_ZERO_* fails when the expression is zero, so `(somePointer == NULL)` failed on a *valid* pointer. They now read `(somePointer != NULL)`. - AKERROR_NOIGNORE, four times including the #define, is AKERR_NOIGNORE. - FINISH_NORExbTURN is FINISH_NORETURN. - "functiions" is "functions". - The architecture link pointed at include/akerror.h, which is generated and not in the tree; it points at include/akerror.tmpl.h. The quickstart is new text. It compiles under -Wall -Wextra -Werror and was run through all three of its paths: handled usage error exits 0, unhandled IO error prints a trace and exits with the status, success exits 0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,13 @@ build is thread safe. CMake package and pkg-config templates are in `cmake/` and
|
||||
`akerror.pc.in`. Tests are one-file C programs in `tests/`; shared test helpers
|
||||
live beside them, such as `tests/err_capture.h` and `tests/err_threads.h`.
|
||||
|
||||
Prose documentation lives in `docs/`, one file per topic — `architecture.md`,
|
||||
`usage.md`, `status-codes.md`, `uncaught-errors.md`, `exit-status.md`,
|
||||
`thread-safety.md`, `building.md`. `README.md` is deliberately short: summary,
|
||||
installation, quickstart, and an index into `docs/`. Add new documentation to
|
||||
the `docs/` file that owns the topic and link it from the README's index rather
|
||||
than growing the README back.
|
||||
|
||||
## Build, Test, and Development Commands
|
||||
|
||||
Use an out-of-tree build:
|
||||
|
||||
Reference in New Issue
Block a user