Root Swift package mirroring PureYAML's structure, rules, and verification gates. Includes the XML node model (Node, Element, Attribute, QualifiedName), a working emitter (Serializer) with escaping and pretty/compact options, and structural validation. The parser surface is stable; parse() raises notImplemented until the scanner lands, pinned by a test. - dependency-free, namespaced under PureXML - portability and style gates carried over (style, namespacing, forbidden patterns, swiftformat, swiftlint, linux, wasm, windows CI) - 11 tests passing
914 B
914 B
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.mddocs/rules/code-style.mddocs/rules/namespacing.mddocs/rules/cross-platform.mddocs/rules/testing.mddocs/rules/verification.md
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