1.7 KiB
PureXML Rules
Load these rules before changing code:
code-style.mdnamespacing.mdcross-platform.mdtesting.mdverification.mdcommits.mdresearch-first.md
Project-specific overrides:
- PureXML uses a root
Package.swift. - Sources live directly under
Sources. - Tests live in
Tests(test targetPureXMLTests). Package.swiftmust keepdependencies: [].- Public API must live under the
PureXMLnamespace tree. - The package must build on macOS, Linux, Windows, and WASI.
- Validation coverage gates:
docs/validation-coverage-registry.txt(public types),docs/validation-field-registry.txt(document/subject fields), enforced byscripts/check-validation-coverage.shandscripts/check-validation-fields.sh.
The broader rule files are retained for detailed guidance. When they include generic examples, apply the PureXML-specific overrides above.
Canonical Swift rules are vendored at docs/rules/rules-swift/ and mirrored
from /Volumes/Code/DeveloperExt/public/rules-swift (especially
validation-rules.md, parsing-rules.md, and the core/ spine). Prefer that
vendored source when root docs/rules/ copies are missing or have drifted, but
do not let its generic Tiledown examples weaken PureXML's root-package,
dependency-free, Windows, and WASI requirements. PureXML's committed
.swiftlint.yml and .swiftformat are the coherent project tuning of that
canon: they adopt its opt-in rule set and shared formatter directives, keep
stricter safety (force_unwrapping/force_try/force_cast = error), and
resolve the canon's --commas always vs default-trailing_comma mismatch by
mandating trailing commas in both tools.