Skip to content

docs: add top-level CONTRIBUTING.md - #12

Merged
karlkauc merged 1 commit into
mainfrom
docs/contributing
May 15, 2026
Merged

karlkauc merged 1 commit into
mainfrom
docs/contributing

Conversation

@karlkauc

Copy link
Copy Markdown
Contributor

Adds a top-level CONTRIBUTING.md and links it from the README's Contributing section.

It distils the conventions this repo actually enforces (so contributors don't learn them via review):

  • Ground rules — English only; examples are teaching artifacts (file-header + what/why comments); one README per component; standalone, no DB servers/Docker.
  • FundsXML conventions — no XML namespace; validate against the official released schema via tools/fetch-schema.sh; 4.0.0 has no ControlData/Version; Position↔Asset by UniqueID; keep Schematron/XSLT tolerances in sync; ISO Schematron first-match-per-pattern rule; secure XML parsing everywhere.
  • Samples & round-trips — XSD-valid + per-example README; negative fixtures must fail; round-trip proven with xml_equiv.py and XSD (complementary, since xml_equiv ignores xmlns); author round-trip fixtures lossless.
  • Local verification — concrete commands; toolchain gotchas (SchXslt fat-jar classpath, WebDAV .DS_Store).
  • Pull requests — branch off fresh main, no stacked PRs (repo auto-deletes head branches on merge), CI must be green, a maintainer merges.

Docs-only; no code or workflow changes.

🤖 Generated with Claude Code

Captures the conventions enforced throughout the repo so contributors get
them right up front: English-only teaching-grade examples, no XML namespace,
XSD validation against the official release via tools/fetch-schema.sh, 4.0.0
has no ControlData/Version, Schematron tolerance/pattern rules, secure XML
parsing, round-trip proven by xml_equiv + XSD, local verification commands,
toolchain gotchas (SchXslt fat-jar classpath, WebDAV .DS_Store), and the
branch-off-fresh-main / no-stacked-PRs / maintainer-merges workflow.
README Contributing section now links to it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@karlkauc
karlkauc merged commit 5eebb58 into main May 15, 2026
2 checks passed
@karlkauc
karlkauc deleted the docs/contributing branch May 15, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant