ifURI docs

Repository & documentation standard

Every repository in the ifURI / urirun ecosystem follows one documentation standard so that any project is predictable to pick up, and drift is caught automatically by make docs-lint.

Required files

FilePurpose
README.mdWhat the project is, how to install/run it, links, license. ≥ 20 lines.
CHANGELOG.mdKeep a Changelog format — a ## [version] heading per release.
VERSIONA single SemVer line (e.g. 0.1.0).
LICENSEThe project licence — Apache-2.0 across the ecosystem. Pure website repos may omit it (a site is content, not a licensed library).
NOTICEAttribution required by Apache-2.0. Canonical line: Copyright 2026 ifuri.com / Tom Sapletta - tom.sapletta.com.
CONTRIBUTING.mdHow to contribute; points back to this standard.
TODO.mdRecommended — the live backlog: hand-curated, [x] items carry evidence (commit/file). A prefact-generated lint-issue dump satisfies docs-lint --strict but is not a backlog — see docs/todo-consolidation-audit-2026-07-08.md.

The LICENSE text stays verbatim Apache-2.0; the copyright owner lives in NOTICE (and in source headers as # Author: Tom Sapletta · https://tom.sapletta.com).

README sections

A README should cover, in order: a # title, a one-paragraph description, an Install / Usage block, a Development block (make targets), Links to the rest of the ecosystem, and a License line.

Connector repos

urirun-connector-* repos additionally:

Scaffold a new one with make new-connector ID=… in if-uri/connect.ifuri.com.

Enforcement

From if-uri/ifuri-com:

make docs-lint                 # lint every sibling repo
bash scripts/docs-lint.sh urirun-connector-hash docs   # specific repos
STRICT=1 make docs-lint        # also flag a missing TODO.md

docs-lint reports N/M repo(s) conform and exits non-zero on any gap, so it can gate CI. It is the executable form of this page — if the two disagree, fix both.