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.
42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
# 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
|
|
|
|
```sh
|
|
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
|
|
```
|