Adopt the rules-swift pin-and-codify strategy in snapshot mode (third_party/rules-swift @97dc70f + sha256), add codified gates, a conformance audit ledger, and .github/workflows/rules-swift.yml (corpus-pin integrity required, full gate report mode). Remove the docs/rules mirror it supersedes (repo-specific files kept under docs/). Style and leak gates exclude the vendored corpus.
1.2 KiB
1.2 KiB
CLAUDE.md
Guidance for coding agents working in PureXML.
Project
PureXML is a pure-Swift XML parser/emitter package. It is a root Swift package,
not a monorepo package under Packages/.
Non-negotiables:
- no external SwiftPM dependencies
- no C, C++, Objective-C, JavaScript, or generated parser runtime in the public package
- public API under the
PureXMLnamespace tree - macOS, Linux, and WASI build compatibility
- tests for parser and emitter behavior
Read First
AGENTS.mdthird_party/rules-swift/code-style.mdthird_party/rules-swift/namespacing.mdthird_party/rules-swift/cross-platform.mdthird_party/rules-swift/testing.mdthird_party/rules-swift/core/verification.mddocs/research-first.md(when stuck: readPureXML-researchsources and the literature before guessing; clean-room only)docs/production-readiness.md(the bar for shipping this in an IDE; read every conformance iteration)
Confirm rule loading with rules-loaded.
Commands
bash scripts/check-style.sh
bash scripts/check-namespacing.sh
swiftformat . --config .swiftformat --lint
swiftlint --config .swiftlint.yml --strict
swift build
swift test
bash scripts/check-wasm.sh