Design & non-goals¶
Design principles¶
- Exit-code-first — parsing only makes the verdict stricter.
- Agree-or-alarm —
passrequires exit code and parser to agree. - Reports over regexes — JUnit / coverage XML / JSON where possible.
- Facts ≠ policy — digests vs skills / project rules.
- Determinism where it pays — digest vs meta split.
- No shell — exit codes are not laundered through pipelines.
- Stdlib only — the guard of dependency behavior brings none of its own.
Non-goals (for now)¶
- Parallel member execution and global
ckdn run --all(named aliases cover lint/types groups; full-suite sequencing stays with the caller) - Watch mode, TUI, HTML dashboards
- Windows symlink handling beyond the
LATESTmarker fallback
Development¶
Entry point: ckdn → ckdn.cli:main.
Contract tests pin the status-model invariants; parser tests pin fact extraction and loud-failure guards; schema tests validate every emitted document against its published JSON Schema.
Building these docs¶
uv run --with zensical zensical serve # live preview
uv run --with zensical zensical build # render to site/
License & community¶
- Copyright (c) 2026 Den Rozhnovskiy <rozhnovskiydenis@gmail.com>
- License: MIT
(
SPDX-License-Identifier: MIT) - Changelog · Security · Contributing · Code of Conduct