PureXML/CLAUDE.md
Mihaela Mihaljevic 708390242c chore: scaffold PureXML pure-Swift XML package
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
2026-06-07 23:20:20 +02:00

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

Read First

  • AGENTS.md
  • docs/rules/code-style.md
  • docs/rules/namespacing.md
  • docs/rules/cross-platform.md
  • docs/rules/testing.md
  • docs/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