PureXML/CLAUDE.md
Mihaela Mihaljevic c7ef8abfd9 chore(rules): pin rules-swift corpus, add gates and CI; drop redundant docs/rules mirror
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.
2026-06-30 14:02:40 +02:00

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 PureXML namespace tree
  • macOS, Linux, and WASI build compatibility
  • tests for parser and emitter behavior

Read First

  • AGENTS.md
  • third_party/rules-swift/code-style.md
  • third_party/rules-swift/namespacing.md
  • third_party/rules-swift/cross-platform.md
  • third_party/rules-swift/testing.md
  • third_party/rules-swift/core/verification.md
  • docs/research-first.md (when stuck: read PureXML-research sources 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